# RAG 機能の完全実装ドキュメント ## 実装完了 ✅ ### バックエンドの実装 - **RagService**: コアとなる RAG ロジック。ベクトル検索とプロンプト構築をサポート。 - **RagModule**: モジュール化されたカプセル化。 - **API エンドポイント**: `POST /api/knowledge-bases/rag-search` - **類似度フィルタリング**: 動的なしきい値設定。 - **LangChain 統合**: プロンプトテンプレートの管理。 ### フロントエンドの実装 - **設定パネル**: 類似度しきい値スライダー (0.1-1.0) - **RAG サービス**: API 呼び出しのカプセル化。 - **チャット統合**: 自動 RAG 検索と拡張。 - **検索ステータス**: 「ナレッジベースを検索中...」のヒント表示。 - **結果表示**: SearchResultsPanel コンポーネント。 ## コアフロー ### 1. ユーザーの質問 ``` ユーザーが質問を入力 → RAG 検索がトリガーされる ``` ### 2. RAG 検索 ``` 質問のベクトル化 → ES ベクトル検索 → 類似度フィルタリング → 拡張プロンプトの構築 ``` ### 3. LLM 生成 ``` 拡張プロンプト → LLM 推論 → 出典が付与された回答 ``` ### 4. 結果の表示 ``` 回答の表示 + [ファイル名.pdf] + 検索されたセグメントの確認 ``` ## 主要な特徴 ### ✅ インテリジェント検索 - ユーザーが選択した Embedding モデルを使用。 - 類似度しきい値によるフィルタリングをサポート。 - ファイルごとにグループ化して結果を表示。 ### ✅ 拡張生成 - RAG プロンプトを自動構築。 - ドキュメントのコンテキストと出典情報を含める。 - 多言語での回答をサポート。 ### ✅ ユーザー体験 - 検索プロセスの可視化。 - 具体的な検索セグメントの確認が可能。 - 自動的な出典の付与。 - 関連コンテンツがない場合の明確な通知。 ### ✅ 柔軟な設定 - 動的な類似度しきい値。 - topK 結果数の制御。 - 再ランキングのサポート(有効な場合)。 ## 利用方法 1. **ドキュメントのアップロード** → 自動的にベクトルインデックスを作成。 2. **設定の調整** → 類似度しきい値、topK など。 3. **質問** → 自動的に RAG 検索と拡張を実行。 4. **結果の確認** → 出典付きのインテリジェントな回答。 5. **セグメントの確認** → 検索アイコンをクリックして具体的な内容を表示。 ## 技術スタック - **バックエンド**: NestJS + LangChain + Elasticsearch - **フロントエンド**: React + TypeScript - **ベクトル化**: 多様な Embedding モデルをサポート - **検索**: コサイン類似度 + しきい値フィルタリング