지식
지식 베이스 검색, 청킹, 검색 설정 구성
개요
지식 설정은 지식 베이스에서 문서를 검색, 청킹, 검색하는 방법을 제어합니다. 성능을 최적화하기 위해 검색 파라미터, 청킹 전략, 임베딩 모델, 검색 동작을 설정합니다.
기본 URL:
검색 설정
GET /api/v1/retrieval/config
현재 검색, 청킹, 파싱, 웹 검색 설정을 반환합니다.
GETAdmin only
검색 설정을 가져옵니다 (관리자 전용).
응답 200 (선택된 주요 필드)
json
{
"EXTERNAL_DOCUMENT_LOADER_URL": "http://parser:8000/api/v1/documents",
"CONTENT_EXTRACTION_ENGINE": "external",
"ENABLE_CHUNKING_SERVER": true,
"CHUNKING_SERVER_URL": "http://chunking-server:8000",
"CHUNKING_STRATEGY": "A",
"CHUNK_SIZE": 1000,
"CHUNK_OVERLAP": 200,
"TEXT_SPLITTER": "character",
"ENABLE_RAG_HYBRID_SEARCH": true,
"RAG_EXTERNAL_RERANKER_URL": "http://reranker:11436/rerank",
"RAG_RERANKING_MODEL": "BAAI/bge-reranker-v2-m3",
"RAG_RERANKING_ENGINE": "external",
"TOP_K": 20,
"TOP_K_RERANKER": 10,
"RELEVANCE_THRESHOLD": 0.05,
"HYBRID_BM25_WEIGHT": 0.5
}POST /api/v1/retrieval/config/update
검색, 청킹, 검색 설정을 업데이트합니다.
POSTAdmin only
검색 설정을 업데이트합니다 (관리자 전용).
요청 본문
json
{
"EXTERNAL_DOCUMENT_LOADER_URL": "http://parser:8000/api/v1/documents",
"CONTENT_EXTRACTION_ENGINE": "external",
"ENABLE_CHUNKING_SERVER": true,
"CHUNKING_SERVER_URL": "http://chunking-server:8000",
"CHUNKING_STRATEGY": "A",
"CHUNK_SIZE": 1000,
"CHUNK_OVERLAP": 200,
"TEXT_SPLITTER": "character",
"ENABLE_RAG_HYBRID_SEARCH": true,
"RAG_EXTERNAL_RERANKER_URL": "http://reranker:11436/rerank",
"RAG_RERANKING_MODEL": "BAAI/bge-reranker-v2-m3",
"RAG_RERANKING_ENGINE": "external",
"TOP_K": 20,
"TOP_K_RERANKER": 10,
"RELEVANCE_THRESHOLD": 0.05,
"HYBRID_BM25_WEIGHT": 0.5
}응답 200
업데이트된 설정 객체.
청킹 전략
| 전략 | 설명 | 사용 사례 |
|---|---|---|
| A | 고정 크기 청크 | 범용, 단순 문서 |
| E | 부모-자식 계층 | 복잡한 문서, 계층 구조 보존 |
| H | HTML 인식 청킹 | 웹 페이지, HTML 문서 |
전략 A (고정) 설정
| 필드 | 타입 | 설명 |
|---|---|---|
CHUNK_SIZE | integer | 토큰/문자 단위 청크 크기 |
CHUNK_OVERLAP | integer | 인접 청크 간 겹침 |
TEXT_SPLITTER | string | character 또는 token |
전략 E (부모-자식) 설정
| 필드 | 타입 | 설명 |
|---|---|---|
PARENT_CHUNK_SIZE | integer | 부모 청크 크기 |
PARENT_CHUNK_OVERLAP | integer | 부모 청크 겹침 |
CHILD_CHUNK_SIZE | integer | 자식 청크 크기 |
CHILD_CHUNK_OVERLAP | integer | 자식 청크 겹침 |
전략 H (HTML) 설정
| 필드 | 타입 | 설명 |
|---|---|---|
HTML_CHUNK_SIZE | integer | HTML의 최대 청크 크기 |
HTML_MIN_CHUNK_SIZE | integer | HTML의 최소 청크 크기 |
HTML_CHUNK_OVERLAP | integer | HTML 전략의 겹침 |
HTML_CONTEXT_WINDOW | integer | HTML의 컨텍스트 윈도우 |
임베딩 설정
GET /api/v1/retrieval/embedding
현재 임베딩 모델 및 엔진 설정을 반환합니다.
GETAdmin only
임베딩 설정을 가져옵니다 (관리자 전용).
응답 200
json
{
"embedding_engine": "openai",
"embedding_model": "bge-m3",
"embedding_batch_size": 100,
"openai_config": { "url": "http://embedding-server:11435" },
"ollama_config": { "url": "" },
"azure_openai_config": { "url": "", "key": "", "version": "" }
}POST /api/v1/retrieval/embedding/update
임베딩 모델 설정을 업데이트합니다.
POSTAdmin only
임베딩 설정을 업데이트합니다 (관리자 전용).
요청 본문
json
{
"embedding_engine": "openai",
"embedding_model": "bge-m3",
"embedding_batch_size": 100,
"openai_config": { "key": "", "url": "http://embedding-server:11435" },
"ollama_config": { "key": "", "url": "" },
"azure_openai_config": { "key": "", "url": "", "version": "" }
}응답 200
업데이트된 임베딩 설정.
검색 설정
| 필드 | 타입 | 기본값 | 설명 |
|---|---|---|---|
ENABLE_RAG_HYBRID_SEARCH | boolean | true | 하이브리드 BM25 + 벡터 검색 활성화 |
TOP_K | integer | 5 | 검색할 문서 수 |
TOP_K_RERANKER | integer | 10 | 리랭킹 후 유지할 상위 결과 수 |
RELEVANCE_THRESHOLD | float | 0.7 | 최소 관련성 점수 (0-1) |
HYBRID_BM25_WEIGHT | float | 0.5 | BM25 가중치 (0 = 완전 시맨틱, 1 = 완전 어휘) |
RAG_EXTERNAL_RERANKER_URL | string | - | 외부 리랭킹 서비스 URL |
RAG_RERANKING_MODEL | string | - | 리랭커 모델 이름 |