yolo-hyl/medical-rag

医学中文RAG项目,使用langchain+milvus,支持快速一键式部署,支持无缝领域迁移

해결하는 문제

이 프로젝트는 단순 검색의 한계를 극복하는 검색 증강 생성 (RAG) 방식을 사용하여 전문적인 의료 질의응답 시스템을 제공합니다. 의미론적 검색과 키워드 기반 매칭을 결합하고 복잡한 쿼리를 처리하기 위한 에이전트 프레임워크를 제공함으로써, 의료 도메인에서 높은 정확도를 유지해야 하는 과제를 해결합니다.

작동 방식

이 시스템은 Milvus 벡터 데이터베이스에 저장된 밀집 벡터(의미론적 의미)와 희소 벡터(키워드 매칭을 위한 BM25)를 결합한 하이브리드 검색 전략을 활용합니다. 데이터 전처리, 도메인 특화 토큰화 (pkuseg 사용), 그리고 다양한 LLM (OpenAI 또는 Ollama 등)을 위한 유연한 구성 시스템을 포함하는 파이프라인을 채택하고 있습니다.

복잡한 상호작용을 처리하기 위해 다음을 구현했습니다:

  • RAG Agents: 검색 매개변수를 자동으로 결정하고, 답변이 문서에 의해 뒷받침되는지 확인하며, 외부 웹 검색 (Tencent Cloud 사용)을 트리거할 시점을 결정하는 지능형 에이전트.
  • Multi-turn Dialogue: 토큰 추정 및 동적 요약을 통해 대화 기록을 관리하여 문맥을 유지하는 시스템.
  • Evaluation Tools: 시스템의 재현율과 정밀도를 측정하기 위해 QA 쌍을 생성하고 테스트하는 내장 파이프라인.

대상 사용자

  • 전문 의료 AI 어시스턴트를 구축하는 개발자.
  • 도메인 특화 지식 베이스를 위한 고정밀 RAG 파이프라인이 필요한 연구자.
  • RAG 시스템을 법률이나 금융과 같은 다른 전문 분야로 이전하기 위한 템플릿을 찾는 엔지니어.

주요 특징

  • Hybrid Retrieval: 밀집 벡터와 희소 벡터를 결합하여 단일 방식 검색보다 높은 재현율 (91.32%)과 정밀도 (92.15%)를 달성.
  • Agentic Orchestration: LangGraph를 사용하여 전체 검색 프로세스를 관리하고 웹 검색으로 폴백할 수 있는 에이전트 생성.
  • Domain Optimization: 의료 특화 토큰화 및 어휘 관리 포함.
  • Flexible Infrastructure: 통합 구성 파일을 통해 여러 LLM 제공업체 및 임베딩 모델 지원.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트