OpenRAG는 문서 지식 기반 AI 응용 프로그램을 구축하기 위한 종합적인 RAG(Retrieval-Augmented Generation) 플랫폼입니다. Langflow의 시각적 워크플로우 빌더, OpenSearch의 확장 가능한 검색 엔진, Docling의 강력한 문서 처리 기능을 하나로 통합하여 개발자가 복잡한 RAG 시스템을 신속하게 구축할 수 있도록 지원합니다.
이 글에서는 OpenRAG의 핵심 아키텍처, 주요 기능, 그리고 실제 구현 방법을 살펴보겠습니다.
Sources
RAG 아키텍처 이해
RAG(Retrieval-Augmented Generation)는 대규모 언어 모델(LLM)의 응답 품질을 향상시키기 위해 외부 지식 베이스에서 관련 정보를 검색하여 컨텍스트에 포함하는 패턴입니다. 전통적인 RAG 아키텍처는 다음과 같은 구성 요소로 이루어집니다.
flowchart TD
subgraph Input["입력 계층"]
UQ[사용자 질의]
end
subgraph Retrieval["검색 계층"]
QE[쿼리 임베딩]
VDB[벡터 데이터베이스]
VS[벡터 유사도 검색]
end
subgraph Processing["처리 계층"]
CR[컨텍스트 재구성]
PM[프롬프트 템플릿]
end
subgraph Generation["생성 계층"]
LLM[언어 모델]
AR[AI 응답]
end
UQ --> QE
QE --> VS
VDB --> VS
VS --> CR
CR --> PM
PM --> LLM
LLM --> AR
classDef inputStyle fill:#c5dcef,stroke:#333,stroke-width:2px,color:#333
classDef retrievalStyle fill:#c0ecd3,stroke:#333,stroke-width:2px,color:#333
classDef processingStyle fill:#fde8c0,stroke:#333,stroke-width:2px,color:#333
classDef generationStyle fill:#ffc8c4,stroke:#333,stroke-width:2px,color:#333
class UQ inputStyle
class QE,VS,VDB retrievalStyle
class CR,PM processingStyle
class LLM,AR generationStyle기본 RAG 패턴
기본 RAG 패턴은 사용자 질의를 임베딩하고, 벡터 데이터베이스에서 유사한 문서 청크를 검색한 후, 이를 LLM 프롬프트에 컨텍스트로 제공합니다.
하이브리드 검색 RAG
하이브리드 검색 RAG는 밀도 높은 벡터 유사도 검색과 키워드 기반 검색(BM25)을 결합하여 검색 정확도를 높입니다. 이는 의미적 유사성과 정확한 키워드 매칭을 모두 활용합니다.
flowchart LR
Q[사용자 질의] --> QE[쿼리 임베딩]
Q --> KQ[키워드 추출]
QE --> VS[벡터 검색]
KQ --> KS[키워드 검색]
VS --> RR[결합 리랭킹]
KS --> RR
RR --> LLM[LLM 생성]
classDef queryStyle fill:#c5dcef,stroke:#333,stroke-width:2px,color:#333
classDef vectorStyle fill:#c0ecd3,stroke:#333,stroke-width:2px,color:#333
classDef keywordStyle fill:#e0c8ef,stroke:#333,stroke-width:2px,color:#333
classDef rerankStyle fill:#fde8c0,stroke:#333,stroke-width:2px,color:#333
classDef llmStyle fill:#ffc8c4,stroke:#333,stroke-width:2px,color:#333
class Q queryStyle
class QE,VS vectorStyle
class KQ,KS keywordStyle
class RR rerankStyle
class LLM llmStyle에이전트 RAG
에이전트 RAG는 단순 검색을 넘어, 에이전트가 검색 여부를 결정하고 다단계 검색을 수행할 수 있도록 합니다. 이를 통해 더 복잡한 질의에 대해 반복적 검색과 추론이 가능합니다.
flowchart TD
Q[사용자 질의] --> AD[에이전트 결정]
AD -->|검색 필요| R1[1차 검색]
AD -->|직접 응답| LLM1[LLM 응답]
R1 --> Eval[결과 평가]
Eval -->|불충분| R2[2차 검색]
Eval -->|충분| LLM2[LLM 응답]
R2 --> LLM2
classDef queryStyle fill:#c5dcef,stroke:#333,stroke-width:2px,color:#333
classDef agentStyle fill:#e0c8ef,stroke:#333,stroke-width:2px,color:#333
classDef searchStyle fill:#c0ecd3,stroke:#333,stroke-width:2px,color:#333
classDef evalStyle fill:#fde8c0,stroke:#333,stroke-width:2px,color:#333
classDef llmStyle fill:#ffc8c4,stroke:#333,stroke-width:2px,color:#333
class Q queryStyle
class AD agentStyle
class R1,R2 searchStyle
class Eval evalStyle
class LLM1,LLM2 llmStyleOpenRAG 핵심 아키텍처
OpenRAG는 다음과 같은 핵심 구성 요소로 이루어진 통합 플랫폼을 제공합니다.
flowchart TB
subgraph Ingestion["문서 수집 계층"]
PDF[PDF 문서]
DOCX[DOCX 문서]
PPTX[PPTX 문서]
IMG[이미지]
DL[Docling 파서]
Chunk[청킹 처리]
end
subgraph Embedding["임베딩 계층"]
Model[임베딩 모델]
Vector[벡터화]
end
subgraph Storage["저장소 계층"]
OS[OpenSearch]
Index[인덱스 관리]
end
subgraph Workflow["워크플로우 계층"]
LF[Langflow]
UI[드래그 앤 드롭 UI]
end
subgraph API["API 계층"]
PY[Python SDK]
TS[TypeScript SDK]
MCP[MCP 서버]
end
PDF --> DL
DOCX --> DL
PPTX --> DL
IMG --> DL
DL --> Chunk
Chunk --> Model
Model --> Vector
Vector --> OS
OS --> Index
UI --> LF
LF --> OS
PY --> OS
TS --> OS
MCP --> OS
classDef docStyle fill:#c5dcef,stroke:#333,stroke-width:2px,color:#333
classDef processStyle fill:#c0ecd3,stroke:#333,stroke-width:2px,color:#333
classDef storageStyle fill:#fde8c0,stroke:#333,stroke-width:2px,color:#333
classDef workflowStyle fill:#e0c8ef,stroke:#333,stroke-width:2px,color:#333
classDef apiStyle fill:#ffc8c4,stroke:#333,stroke-width:2px,color:#333
class PDF,DOCX,PPTX,IMG docStyle
class DL,Chunk,Model,Vector processStyle
class OS,Index storageStyle
class LF,UI workflowStyle
class PY,TS,MCP apiStyleLangflow 시각적 워크플로우 빌더
OpenRAG의 핵심 특징 중 하나는 Langflow 기반의 시각적 워크플로우 빌더입니다. Langflow는 개발자가 코드를 작성하지 않고도 드래그 앤 드롭 방식으로 복잡한 AI 워크플로우를 구성할 수 있게 해줍니다.
Langflow 워크플로우 구성 요소
flowchart LR
subgraph Components["Langflow 구성 요소"]
INP[입력 노드]
PROC[처리 노드]
RET[검색 노드]
LLM[LLM 노드]
OUT[출력 노드]
end
INP --> PROC
PROC --> RET
RET --> LLM
LLM --> OUT
classDef nodeStyle fill:#c5dcef,stroke:#333,stroke-width:2px,color:#333
class INP,PROC,RET,LLM,OUT nodeStyle문서 수집 워크플로우
Langflow를 사용하면 문서 수집 파이프라인을 시각적으로 설계할 수 있습니다.
flowchart TD
subgraph Upload["업로드 단계"]
UF[파일 업로드]
FD[형식 감지]
end
subgraph Parse["파싱 단계"]
DP[Docling 파서]
TX[텍스트 추출]
TB[표 감지]
IM[이미지 추출]
end
subgraph Process["처리 단계"]
CH[청킹]
MT[메타데이터 추출]
end
subgraph Index["인덱싱 단계"]
EB[임베딩]
IDX[OpenSearch 인덱싱]
end
UF --> FD
FD --> DP
DP --> TX
DP --> TB
DP --> IM
TX --> CH
TB --> CH
IM --> CH
CH --> MT
MT --> EB
EB --> IDX
classDef uploadStyle fill:#c5dcef,stroke:#333,stroke-width:2px,color:#333
classDef parseStyle fill:#c0ecd3,stroke:#333,stroke-width:2px,color:#333
classDef processStyle fill:#fde8c0,stroke:#333,stroke-width:2px,color:#333
classDef indexStyle fill:#e0c8ef,stroke:#333,stroke-width:2px,color:#333
class UF,FD uploadStyle
class DP,TX,TB,IM parseStyle
class CH,MT processStyle
class EB,IDX indexStyleRAG 검색 워크플로우
검색 및 생성 워크플로우 역시 시각적으로 구성할 수 있습니다.
flowchart TD
subgraph Query["질의 처리"]
QIN[질의 입력]
QR[질의 리라이팅]
end
subgraph Retrieval["검색 처리"]
QE[쿼리 임베딩]
HYB[하이브리드 검색]
RER[리랭킹]
end
subgraph Generation["생성 처리"]
CT[컨텍스트 구성]
PG[프롬프트 생성]
LLM[LLM 호출]
end
subgraph Output["출력 처리"]
REF[참조 문서]
RES[최종 응답]
end
QIN --> QR
QR --> QE
QE --> HYB
HYB --> RER
RER --> CT
CT --> PG
PG --> LLM
LLM --> RES
RER --> REF
classDef queryStyle fill:#c5dcef,stroke:#333,stroke-width:2px,color:#333
classDef retrievalStyle fill:#c0ecd3,stroke:#333,stroke-width:2px,color:#333
classDef generationStyle fill:#fde8c0,stroke:#333,stroke-width:2px,color:#333
classDef outputStyle fill:#e0c8ef,stroke:#333,stroke-width:2px,color:#333
class QIN,QR queryStyle
class QE,HYB,RER retrievalStyle
class CT,PG,LLM generationStyle
class REF,RES outputStyleOpenSearch 엔터프라이즈 검색
OpenRAG는 OpenSearch를 기본 검색 엔진으로 사용합니다. OpenSearch는 확장 가능한 오픈 소스 검색 및 분석 엔진으로, 엔터프라이즈급 시맨틱 검색 기능을 제공합니다.
OpenSearch k-NN 플러그인
OpenSearch의 k-NN(k-Nearest Neighbors) 플러그인은 벡터 유사도 검색을 위한 고성능 엔진을 제공합니다.
flowchart LR
subgraph VectorSearch["벡터 검색 처리"]
QV[쿼리 벡터]
IV[인덱스 벡터]
KNN[k-NN 알고리즘]
TOP[Top-K 결과]
end
QV --> KNN
IV --> KNN
KNN --> TOP
classDef inputStyle fill:#c5dcef,stroke:#333,stroke-width:2px,color:#333
classDef indexStyle fill:#c0ecd3,stroke:#333,stroke-width:2px,color:#333
classDef algoStyle fill:#fde8c0,stroke:#333,stroke-width:2px,color:#333
classDef resultStyle fill:#e0c8ef,stroke:#333,stroke-width:2px,color:#333
class QV inputStyle
class IV indexStyle
class KNN algoStyle
class TOP resultStyle하이브리드 검색 구현
OpenSearch는 벡터 검색과 키워드 검색을 결합한 하이브리드 검색을 지원합니다.
flowchart TD
Q[사용자 질의] --> 분기{검색 유형}
분기 -->|벡터| VS[벡터 검색]
분기 -->|키워드| KS[BM25 검색]
VS --> RRF[Reciprocal Rank Fusion]
KS --> RRF
RRF --> 최종[결과 병합]
classDef queryStyle fill:#c5dcef,stroke:#333,stroke-width:2px,color:#333
classDef vectorStyle fill:#c0ecd3,stroke:#333,stroke-width:2px,color:#333
classDef keywordStyle fill:#e0c8ef,stroke:#333,stroke-width:2px,color:#333
classDef fusionStyle fill:#fde8c0,stroke:#333,stroke-width:2px,color:#333
classDef resultStyle fill:#ffc8c4,stroke:#333,stroke-width:2px,color:#333
class Q queryStyle
class VS vectorStyle
class KS keywordStyle
class RRF fusionStyle
class 최종 resultStyle확장성
OpenSearch의 수평 확장 기능을 통해 대규모 문서 세트도 효율적으로 처리할 수 있습니다.
flowchart LR
subgraph Cluster["OpenSearch 클러스터"]
M1[마스터 노드 1]
M2[마스터 노드 2]
M3[마스터 노드 3]
D1[데이터 노드 1]
D2[데이터 노드 2]
D3[데이터 노드 3]
C1[조정 노드 1]
C2[조정 노드 2]
end
M1 --- M2
M2 --- M3
M3 --- M1
M1 --- D1
M2 --- D2
M3 --- D3
M1 --- C1
M2 --- C2
classDef masterStyle fill:#ffc8c4,stroke:#333,stroke-width:2px,color:#333
classDef dataStyle fill:#c0ecd3,stroke:#333,stroke-width:2px,color:#333
classDef coordStyle fill:#e0c8ef,stroke:#333,stroke-width:2px,color:#333
class M1,M2,M3 masterStyle
class D1,D2,D3 dataStyle
class C1,C2 coordStyleDocling 문서 처리
Docling은 PDF, DOCX, PPTX, 이미지 등 다양한 형식의 문서를 처리하는 강력한 파이썬 라이브러리입니다. OpenRAG는 Docling을 통해 문서 수집 파이프라인을 제공합니다.
지원 문서 형식
flowchart TD
Docs[입력 문서] --> PDF[PDF]
Docs --> DOCX[Microsoft Word]
Docs --> PPTX[Microsoft PowerPoint]
Docs --> IMG[이미지]
PDF --> Docling[Docling 파서]
DOCX --> Docling
PPTX --> Docling
IMG --> Docling
Docling --> Text[텍스트 추출]
Docling --> Table[표 감지]
Docling --> Meta[메타데이터]
Text --> Chunk[청킹]
Table --> Chunk
Meta --> Chunk
classDef docStyle fill:#c5dcef,stroke:#333,stroke-width:2px,color:#333
classDef parserStyle fill:#c0ecd3,stroke:#333,stroke-width:2px,color:#333
classDef extractStyle fill:#fde8c0,stroke:#333,stroke-width:2px,color:#333
classDef chunkStyle fill:#e0c8ef,stroke:#333,stroke-width:2px,color:#333
class PDF,DOCX,PPTX,IMG docStyle
class Docling parserStyle
class Text,Table,Meta extractStyle
class Chunk chunkStyle레이아웃 이해
Docling은 문서의 레이아웃 구조를 이해하여 표, 이미지, 제목 등을 정확하게 식별할 수 있습니다.
flowchart LR
Raw[원시 문서] --> Layout[레이아웃 분석]
Layout --> 제목[제목 식별]
Layout --> 문단[문단 식별]
Layout --> 표[표 감지]
Layout --> 그림[그림 감지]
제목 --> 구조[구조화된 출력]
문단 --> 구조
표 --> 구조
그림 --> 구조
classDef inputStyle fill:#c5dcef,stroke:#333,stroke-width:2px,color:#333
classDef processStyle fill:#c0ecd3,stroke:#333,stroke-width:2px,color:#333
classDef elementStyle fill:#fde8c0,stroke:#333,stroke-width:2px,color:#333
classDef outputStyle fill:#e0c8ef,stroke:#333,stroke-width:2px,color:#333
class Raw inputStyle
class Layout processStyle
class 제목,문단,표,그림 elementStyle
class 구조 outputStyleMCP 통합
OpenRAG는 MCP(Model Context Protocol)를 통해 AI 개발 환경과 통합될 수 있습니다.
Cursor IDE 통합
Cursor IDE에서 OpenRAG MCP 서버를 구성하면, 코드 작성 중 문서 검색 및 AI 응답을 직접 활용할 수 있습니다.
{
"mcpServers": {
"openrag": {
"command": "uvx",
"args": ["openrag-mcp"],
"env": {
"OPENRAG_URL": "http://localhost:3000",
"OPENRAG_API_KEY": "your_api_key_here"
}
}
}
}
Claude Desktop 통합
Claude Desktop에서도 동일한 MCP 구성을 사용하여 로컬 문서 검색 및 AI 응답을 활용할 수 있습니다.
flowchart LR
subgraph Client["AI 클라이언트"]
CUR[Cursor IDE]
CLD[Claude Desktop]
end
subgraph MCP["MCP 서버"]
OMC[openrag-mcp]
end
subgraph OpenRAG["OpenRAG 서버"]
API[API 서버]
OS[OpenSearch]
end
CUR --> OMC
CLD --> OMC
OMC --> API
API --> OS
classDef clientStyle fill:#c5dcef,stroke:#333,stroke-width:2px,color:#333
classDef mcpStyle fill:#c0ecd3,stroke:#333,stroke-width:2px,color:#333
classDef serverStyle fill:#fde8c0,stroke:#333,stroke-width:2px,color:#333
classDef storageStyle fill:#e0c8ef,stroke:#333,stroke-width:2px,color:#333
class CUR,CLD clientStyle
class OMC mcpStyle
class API serverStyle
class OS storageStyleSDK 사용
OpenRAG는 Python과 TypeScript/JavaScript SDK를 공식적으로 제공합니다.
Python SDK
import asyncio
from openrag_sdk import OpenRAGClient
async def main():
async with OpenRAGClient() as client:
response = await client.chat.create(message="RAG이란 무엇인가?")
print(response.response)
if __name__ == "__main__":
asyncio.run(main())
TypeScript SDK
import { OpenRAGClient } from "openrag-sdk";
const client = new OpenRAGClient();
async function main() {
const response = await client.chat.create({
message: "RAG이란 무엇인가?"
});
console.log(response.response);
}
main();
SDK 아키텍처
flowchart TD
subgraph Client["클라이언트 애플리케이션"]
APP[사용자 앱]
end
subgraph SDK["SDK 계층"]
PY[Python SDK]
TS[TypeScript SDK]
end
subgraph API["API 계층"]
REST[REST API]
WS[WebSocket]
end
subgraph Core["OpenRAG 코어"]
Chat[채팅 엔드포인트]
Doc[문서 엔드포인트]
Search[검색 엔드포인트]
end
APP --> PY
APP --> TS
PY --> REST
TS --> REST
PY --> WS
TS --> WS
REST --> Chat
REST --> Doc
REST --> Search
WS --> Chat
classDef appStyle fill:#c5dcef,stroke:#333,stroke-width:2px,color:#333
classDef sdkStyle fill:#c0ecd3,stroke:#333,stroke-width:2px,color:#333
classDef apiStyle fill:#fde8c0,stroke:#333,stroke-width:2px,color:#333
classDef coreStyle fill:#e0c8ef,stroke:#333,stroke-width:2px,color:#333
class APP appStyle
class PY,TS sdkStyle
class REST,WS apiStyle
class Chat,Doc,Search coreStyle에이전트 워크플로우
OpenRAG는 고급 에이전트 워크플로우 기능을 지원합니다. 이를 통해 복잡한 질의에 대해 다단계 검색과 추론이 가능합니다.
에이전트 검색 흐름
flowchart TD
Q[사용자 질의] --> 분석[질의 분석]
분석 --> 단순{단순 질의?}
단순 -->|예| 직접[직접 검색]
단순 -->|아니오| 분해[질의 분해]
분해 --> S1[하위 질의 1]
분해 --> S2[하위 질의 2]
분해 --> S3[하위 질의 3]
직접 --> R1[검색 1]
S1 --> R2[검색 2]
S2 --> R3[검색 3]
S3 --> R4[검색 4]
R1 --> 평가[결과 평가]
R2 --> 평가
R3 --> 평가
R4 --> 평가
평가 -->|불충분| 추가[추가 검색]
평가 -->|충분| 합성[응답 합성]
추가 --> 합성
합성 --> OUT[최종 응답]
classDef queryStyle fill:#c5dcef,stroke:#333,stroke-width:2px,color:#333
classDef analysisStyle fill:#c0ecd3,stroke:#333,stroke-width:2px,color:#333
classDef searchStyle fill:#fde8c0,stroke:#333,stroke-width:2px,color:#333
classDef evalStyle fill:#e0c8ef,stroke:#333,stroke-width:2px,color:#333
classDef synthesisStyle fill:#ffc8c4,stroke:#333,stroke-width:2px,color:#333
class Q queryStyle
class 분석,분해,단순 analysisStyle
class 직접,S1,S2,S3,R1,R2,R3,R4,추가 searchStyle
class 평가 evalStyle
class 합성,OUT synthesisStyle리랭킹
검색 결과의 품질을 향상시키기 위해 리랭킹 단계를 적용할 수 있습니다.
flowchart LR
검색[검색 결과] --> 후보[후보 문서]
후보 --> R1[리랭커 1]
후보 --> R2[리랭커 2]
후보 --> R3[리랭커 3]
R1 --> 점수[점수 병합]
R2 --> 점수
R3 --> 점수
점수 --> 정렬[재정렬]
정렬 --> 최종[최종 결과]
classDef inputStyle fill:#c5dcef,stroke:#333,stroke-width:2px,color:#333
classDef rerankerStyle fill:#c0ecd3,stroke:#333,stroke-width:2px,color:#333
classDef scoreStyle fill:#fde8c0,stroke:#333,stroke-width:2px,color:#333
classDef outputStyle fill:#e0c8ef,stroke:#333,stroke-width:2px,color:#333
class 검색,후보 inputStyle
class R1,R2,R3 rerankerStyle
class 점수,정렬 scoreStyle
class 최종 outputStyle배포 및 확장
OpenRAG는 uv 패키지 매니저를 사용하여 간편하게 실행할 수 있으며, 컨테이너화를 통해 쉽게 배포할 수 있습니다.
실행 방법
# uv를 사용한 실행
uvx openrag
# 또는 직접 설치 후 실행
pip install openrag
openrag serve
아키텍처 확장
flowchart TB
subgraph Frontend["프론트엔드 계층"]
UI[Langflow UI]
API[REST API]
end
subgraph Application["애플리케이션 계층"]
App1[앱 인스턴스 1]
App2[앱 인스턴스 2]
App3[앱 인스턴스 3]
end
subgraph Cache["캐시 계층"]
Redis[Redis]
end
subgraph Search["검색 계층"]
OSCluster[OpenSearch 클러스터]
end
subgraph Storage["저장소 계층"]
S3[S3 / MinIO]
end
UI --> API
API --> App1
API --> App2
API --> App3
App1 --> Redis
App2 --> Redis
App3 --> Redis
App1 --> OSCluster
App2 --> OSCluster
App3 --> OSCluster
App1 --> S3
App2 --> S3
App3 --> S3
classDef frontendStyle fill:#c5dcef,stroke:#333,stroke-width:2px,color:#333
classDef appStyle fill:#c0ecd3,stroke:#333,stroke-width:2px,color:#333
classDef cacheStyle fill:#fde8c0,stroke:#333,stroke-width:2px,color:#333
classDef searchStyle fill:#e0c8ef,stroke:#333,stroke-width:2px,color:#333
classDef storageStyle fill:#ffc8c4,stroke:#333,stroke-width:2px,color:#333
class UI,API frontendStyle
class App1,App2,App3 appStyle
class Redis cacheStyle
class OSCluster searchStyle
class S3 storageStyle핵심 요약
mindmap
root((OpenRAG))
핵심_기능
사전_패키징된_RAG
Langflow_시각적_빌더
OpenSearch_시맨틱_검색
Docling_문서_처리
MCP_통합
Python_/_TypeScript_SDK
아키텍처
문서_수집_계층
임베딩_계층
OpenSearch_저장소
Langflow_워크플로우
API_계층
RAG_패턴
기본_RAG
하이브리드_검색
에이전트_RAG
다단계_검색
통합
Cursor_IDE
Claude_Desktop
Python_SDK
TypeScript_SDK| 기능 | 설명 | 기술 |
|---|---|---|
| 문서 수집 | PDF, DOCX, PPTX, 이미지 처리 | Docling |
| 시맨틱 검색 | 벡터 기반 유사도 검색 | OpenSearch k-NN |
| 하이브리드 검색 | 벡터 + 키워드 결합 | BM25 + 리랭킹 |
| 시각적 빌더 | 드래그 앤 드롭 워크플로우 | Langflow |
| AI 통합 | MCP 프로토콜 지원 | Cursor, Claude Desktop |
| SDK | 공식 개발 키트 | Python, TypeScript |
결론
OpenRAG는 RAG 애플리케이션 개발을 위한 종합적인 플랫폼입니다. Langflow의 시각적 워크플로우 빌더를 통해 복잡한 RAG 파이프라인을 직관적으로 구성할 수 있으며, OpenSearch의 확장 가능한 검색 엔진과 Docling의 강력한 문서 처리 기능이 결합되어 엔터프라이즈급 솔루션을 제공합니다.
MCP를 통한 Cursor 및 Claude Desktop 통합은 개발 생산성을 크게 향상시키며, Python과 TypeScript SDK는 다양한 개발 환경에서 쉽게 활용할 수 있습니다. 에이전트 워크플로우와 리랭킹 같은 고급 기능을 통해 더 정교한 AI 응용 프로그램을 구축할 수 있습니다.
OpenRAG를 활용하면 개발자는 복잡한 RAG 시스템을 신속하게 구축하고, 문서 지식 기반 AI 서비스를 효율적으로 제공할 수 있습니다.