섹션별 상세
RAG 시스템의 고질적인 문제인 근거 없는 답변 생성과 환각 현상을 실시간 인라인 검증으로 해결한다. 기존의 오프라인 평가 도구와 달리 사용자에게 답변이 전달되기 전 단계에서 즉각적으로 출처를 확인하고 차단할 수 있다.
python
import dokis
result = dokis.audit(query, chunks, response)
print(result.compliance_rate) # 0.91
print(result.passed) # True
print(result.provenance_map) # {"Aspirin inhibits...": "https://pubmed.com/1"}Dokis를 사용하여 쿼리, 청크, 응답 간의 출처 일치율과 맵을 확인하는 기본 코드
Pre-retrieval 단계에서 소스 허용 목록(Allowlisting) 기능을 제공하여 신뢰할 수 없는 도메인의 데이터가 프롬프트에 주입되는 것을 사전에 방지한다. 이를 통해 데이터 오염으로 인한 잘못된 정보 생성을 원천적으로 차단한다.
Post-generation 단계에서는 답변을 원자적 문장으로 분리한 뒤 BM25 어휘 매칭 또는 시맨틱 유사도 측정을 통해 각 문장이 어떤 소스 청크에서 유래했는지 확인한다. 검증 결과로 문장별 출처 URL 맵과 전체 준수율(Compliance Rate)을 반환한다.

근거
- Dokis는 근거 없는 주장에 대해 100%의 거부율(Ungrounded rejection rate)을 달성했다. — Accuracy 섹션의 결과 설명
추가적인 LLM 호출이나 외부 API 요청 없이 순수 파이썬 로직과 BM25 알고리즘만으로 작동하여 결정론적인 결과를 보장한다. 벤치마크 결과 BM25 매칭 기준 호출당 지연 시간이 0.96ms에 불과하여 프로덕션 환경에 적합하다.
근거
- BM25 매칭 방식은 호출당 평균 0.96ms의 지연 시간을 기록하며 시맨틱 방식보다 23배 빠르다. — Benchmarks 섹션의 Per-call audit latency 표
LangChain 및 LlamaIndex용 어댑터를 제공하여 기존 파이프라인에 단 두 줄의 코드 수정만으로 즉시 도입이 가능하다. CLI 도구와 비동기 미들웨어 패턴도 지원하여 다양한 배포 환경에서의 유연한 활용이 가능하다.
python
from dokis.adapters.langchain import ProvenanceRetriever
retriever = ProvenanceRetriever(
base_retriever=your_existing_retriever,
config=dokis.Config(allowed_domains=["pubmed.ncbi.nlm.nih.gov"]),
)
docs = retriever.invoke(query)LangChain 어댑터를 사용하여 특정 도메인만 허용하는 출처 검증 리트리버를 구현하는 예시

용어 해설
- 검색 증강 생성(RAG)
- — 외부 데이터베이스에서 관련 정보를 검색하여 대규모 언어 모델(LLM)의 입력 프롬프트에 주입함으로써 답변의 정확도를 높이는 기술이다. 모델의 내부 지식에만 의존하지 않고 최신 정보나 특정 도메인의 지식을 활용할 수 있게 하여 환각 현상을 줄이는 데 핵심적인 역할을 한다.
- 출처 검증(Provenance)
- — 생성된 텍스트의 각 주장이 어떤 원천 데이터(청크)에서 유래했는지 추적하고 입증하는 과정이다. RAG 시스템에서 모델이 제공한 정보의 신뢰성을 보장하기 위해 필수적이며, 각 문장과 소스 문서 간의 연결 고리를 명확히 하여 투명성을 제공한다.
- BM25
- — 문서 검색에서 쿼리와 문서 간의 관련성을 평가하는 통계적 랭킹 함수이다. 단어 빈도(TF)와 역문서 빈도(IDF)를 기반으로 하며, Dokis에서는 LLM 호출 없이 텍스트 매칭만으로 답변 문장과 소스 청크 간의 유사도를 빠르게 계산하는 데 사용된다.
- 환각 현상(Hallucination)
- — 대규모 언어 모델이 학습 데이터에 없거나 사실과 다른 정보를 마치 사실인 것처럼 그럴듯하게 생성하는 오류이다. RAG 환경에서도 모델이 검색된 문서를 무시하고 임의의 정보를 지어내는 경우가 빈번하여 이를 탐지하고 차단하는 기술이 중요하다.
기술
- Python
- BM25
- LangChain
- LlamaIndex
- Pydantic
- NumPy
활용 사례
- 의료/법률 도메인의 신뢰성 있는 RAG 챗봇
- 실시간 답변 출처 표기 시스템
- 비용 효율적인 환각 방지 가드레일
언급된 리소스
GitHubDokis GitHub Repository
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
원문 발행 2026. 03. 28.수집 2026. 03. 29.출처 타입 RSS
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.