yolo-hyl/medical-rag

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

解決する課題

本プロジェクトは、単純な検索の限界を克服する検索拡張生成 (RAG) アプローチを用いた、専門的な医療QAシステムを提供します。セマンティック検索とキーワードベースのマッチングを組み合わせ、複雑なクエリを処理するためのエージェントフレームワークを提供することで、医療ドメインにおける高精度な回答維持という課題に対処します。

仕組み

このシステムは、Milvusベクトルデータベースに格納された密ベクトル(セマンティックな意味用)と疎ベクトル(キーワードマッチング用のBM25)を組み合わせたハイブリッド検索戦略を活用しています。データ前処理、ドメイン固有のトークナイゼーション (pkuseg経由)、およびさまざまなLLM (OpenAIやOllamaなど) に対応した柔軟な構成システムを含むパイプラインを採用しています。

複雑な対話を処理するために、以下を実装しています:

  • RAG Agents: 検索パラメータを自動決定し、回答がドキュメントによって裏付けられているかを確認し、外部Web検索 (Tencent Cloud経由) をトリガーするタイミングを判断するインテリジェントエージェント。
  • Multi-turn Dialogue: トークン推定と動的要約を用いて会話履歴を管理し、コンテキストを維持するシステム。
  • Evaluation Tools: システムの再現率と精度を測定するために、QAペアを生成およびテストする組み込みパイプライン。

対象ユーザー

  • 専門的な医療AIアシスタントを構築する開発者。
  • ドメイン固有の知識ベースに対して高精度なRAGパイプラインを必要とする研究者。
  • RAGシステムを法律や金融などの他の専門分野に移行するためのテンプレートを探しているエンジニア。

ハイライト

  • Hybrid Retrieval: 密ベクトルと疎ベクトルを組み合わせることで、単一手法の検索よりも高い再現率 (91.32%) と精度 (92.15%) を実現。
  • Agentic Orchestration: LangGraphを使用して、検索プロセス全体を管理し、Web検索にフォールバック可能なエージェントを作成。
  • Domain Optimization: 医療特有のトークナイゼーションと語彙管理を包含。
  • Flexible Infrastructure: 統一された設定ファイルを通じて、複数のLLMプロバイダーと埋め込みモデルをサポート。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト