TL;DR
RAGless는 원천 문서에서 Gemini로 Q&A 블록을 미리 만들고, 이를 Gemini 임베딩과 로컬 Qdrant에 색인한 뒤 런타임에는 LLM 없이 유사 질문에 연결된 답변을 그대로 반환한다. 검색 과정에서는 한 답변에 속한 여러 질문 변형의 점수를 answer_id별로 합산해 단일 top-1 검색보다 안정적인 후보를 만든다. 이 구조는 질의당 생성 비용과 런타임 환각을 없애고 source_quote와 결정적 ID를 통한 검증성을 높이지만, 사전에 수집하지 않은 질문에 대한 추론과 실시간 답변 갱신은 지원하지 않는다. README는 100,000토큰 기준 초기 ingestion 비용을 약 $1.50, 1,000회 일일 질의의 월간 런타임 API 비용을 $0.00으로 제시한다.
섹션별 상세
python prepare_data.py원천 문서에서 Q&A 블록을 추출해 data.json으로 저장한다.
python prepare_data.py --judgeQ&A 블록이 원문에 근거하는지 추가 LLM 검증 단계를 활성화한다.
python ingest_to_qdrant.pydata.json의 질문 변형을 임베딩하고 로컬 Qdrant 컬렉션을 다시 만든다.
uuid5(NAMESPACE_DNS, answer_id:question_text)답변 식별자와 질문 텍스트를 바탕으로 재실행에도 변하지 않는 Qdrant 포인트 ID를 만든다.
python chatbot.py --threshold 0.75검색된 답변을 반환할 최소 집계 점수 임계값을 0.75로 설정해 CLI 챗봇을 실행한다.
용어 해설
- 검색 전용 질의응답(Retrieval-Only Q&A)
- — 검색 전용 질의응답은 사용자의 질문에 맞는 기존 답변을 검색해 그대로 반환하는 구조다. 런타임에 LLM이 문장을 새로 생성하지 않으므로 출력이 고정되고 환각 위험을 줄인다. 대신 사전에 준비한 답변 범위를 넘어선 추론이나 조합은 처리하지 못한다.
- 비대칭 임베딩(Asymmetric Embeddings)
- — 비대칭 임베딩은 문서와 검색 질의에 서로 다른 임베딩 작업 유형을 적용하는 방식이다. RAGless는 색인 시 RETRIEVAL_DOCUMENT, 검색 시 RETRIEVAL_QUERY를 사용해 문서용 표현과 질의용 표현을 구분한다. 이 설정은 질문과 답변 후보의 의미 유사도 검색을 위한 핵심 구성이다.
- answer_id 점수 집계(answer_id Aggregation)
- — answer_id 점수 집계는 하나의 답변에 연결된 여러 질문 변형의 검색 점수를 합산하는 방식이다. 단일 질문이 완벽하게 일치하지 않아도 같은 답변을 가리키는 약한 일치가 누적되면 후보로 부상한다. RAGless는 이 결과를 임계값과 비교해 답변 노출 여부를 결정한다.
- 임베디드 Qdrant(Embedded Qdrant)
- — 임베디드 Qdrant는 별도의 서버나 클라우드 서비스 없이 로컬 경로에 벡터 데이터를 저장하는 Qdrant 사용 방식이다. RAGless는 ./qdrant_data에 컬렉션과 벡터를 파일로 보관하고 CPU 환경에서도 검색하도록 구성한다. 운영 구성과 네트워크 의존성을 줄이는 대신 로컬 저장소를 직접 관리해야 한다.
- Matryoshka 표현 학습(Matryoshka Representation Learning)
- — Matryoshka 표현 학습은 임베딩 벡터의 차원을 줄여도 정보 활용이 가능하도록 표현을 구성하는 기법이다. RAGless의 설정에는 Gemini 임베딩의 벡터 차원으로 3072가 지정되어 있으며, 이 차원은 검색 저장 공간과 계산량에 영향을 준다. README는 이를 VECTOR_SIZE 설정과 연결한다.
기술
- Python
- Gemini
- gemini/gemini-2.5-flash
- gemini/gemini-embedding-001
- LiteLLM
- Qdrant
- qdrant-client
- pypdf
- python-dotenv
- tqdm
활용 사례
- 문서 기반 FAQ 챗봇
- 규정과 운영 문서 검색
- 로컬 환경의 사내 지식베이스
- 답변 검증과 감사 추적이 필요한 고위험 질의응답
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.