어지entic RAG로 PDF를 10분 내에 구축하는 방법
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
인공지능
대상자
- 개발자 및 데이터 과학자
- LLM(대규모 언어 모델)과 RAG(검색 기반 생성) 기술에 익숙한 중급 이상 개발자
- PDF 처리, OCR, 인공지능 아키텍처 설계에 관심 있는 사람
핵심 요약
- Agentic RAG은 LLM이 자율적으로 검색 도구를 사용해 정확한 답변을 생성하는 시스템
SYSTEM_PROMPT
,TOOL_DESCRIPTION
,QUERY_PARAMETER_DESCRIPTION
을 통해 LLM의 행동 지시- Trieve SDK를 사용해 PDF 업로드 및 Chunkr 기반 OCR 처리
chunkr_create_task_req_payload: {}
로 고급 분할 기능 활성화- LLM 선택
o3
(Claude 3 Opus),gpro
(GPT-4o) 등 Agentic 기능 지원 모델 권장
섹션별 세부 요약
1. 개요 및 Agentic RAG 정의
- Agentic RAG은 LLM이 사용자 질문에 따라 자동으로 검색 도구를 호출하는 RAG 확장형 시스템
- Trieve 플랫폼을 통해 PDF 처리 및 검색 기반 생성 가능
- 핵심 기술
Retrieval Augmented Generation (RAG)
Agentic Search
(LLM 자율 검색)
2. Prerequisites 및 SDK 구성
- 필수 조건
- Trieve 계정 생성 및
API_KEY
,DATASET_ID
,ORGANIZATION_ID
발급 - Node.js 및 npm/yarn 설치
- SDK 초기화 예시
```javascript
import { TrieveSDK } from "trieve-ts-sdk";
const trieveClient = new TrieveSDK({
apiKey: TRIEVE_API_KEY,
datasetId: TRIEVE_DATASET_ID,
organizationId: TRIEVE_ORGANIZATION_ID
});
```
3. Dataset 구성 및 Tool Configuration
- System Prompt
"You must always use the search tool for every user question"
- Tool Description
"ALWAYS use the search tool for EVERY user question"
- Query Parameter Description
"Write specific queries with critical keywords"
- SDK로 Dataset 업데이트
```javascript
await trieveClient.updateDataset(updatePayload);
```
4. Chunkr 기반 PDF 처리
- Chunkr 기능
- 고급 OCR 기술로 PDF의 테이블, 이미지, 레이아웃 분석
chunkr_create_task_req_payload: {}
으로 분할 작업 시작- PDF 업로드 예시
```javascript
const response = await trieveClient.uploadFile({
base64_file: base64File,
file_name: fileName,
chunkr_create_task_req_payload: {}
});
```
5. Agentic 질문 생성 및 실행
- Topic 생성
- 대화 스레드를 위한 Topic 생성
- Message Reader 생성
use_agentic_search: true
설정- LLM 모델 선택:
o3
,gpro
,gpt4t
등 - 응답 흐름
- "thinking" 단계 포함 후 최종 답변 스트리밍
결론
- Agentic RAG 구현 시 명확한 SYSTEM_PROMPT와 고급 OCR 기술(Chunkr) 사용 필수
- LLM 모델은
o3
또는gpro
등 Agentic 기능 지원 모델로 선택 - 파일 처리는 비동기로 진행되며,
group_tracking_id
로 상태 확인 가능 - 핵심 팁: 검색 도구 사용 강제 및 복수 검색 키워드 제안으로 정확도 향상