概要
社内に蓄積された規程・手順書・FAQが「探せない」状態を解消するため、社内ドキュメントを根拠付きで回答するRAG(検索拡張生成)チャットボットを設計・実装した。機密文書を扱うため、データを外部に出さないローカル完結構成を前提とした。
課題
- ナレッジは溜まっているのに検索性が低く、同じ問い合わせが繰り返されていた。
- 汎用チャットAIは社内固有の情報に答えられず、出典も示せない。
- 文書が機密のため、外部APIにデータを送る構成は採れない。
アプローチ(技術選定理由)
ローカルLLMにOllama、ベクトルDBにChromaDBを採用した。理由は「データを社外に出さない」という制約が最優先だったため。クラウドのLLM APIは精度面で有利だが、機密文書の送信が許容されないため、ローカルで完結する構成を選んだ。
ドキュメントは意味のまとまりで分割(チャンク化)し、埋め込みベクトルをChromaDBに格納。質問時は関連チャンクを検索し、出典リンクを添えて回答を生成する設計とした。これにより「それらしい嘘(ハルシネーション)」を抑え、利用者が根拠を確認できる状態を担保している。
オーケストレーションはLangChain、APIはFastAPIで構築。文書更新に追従できるよう、取り込みパイプラインを分離した。
結果・学び
根拠提示を伴う回答により、現場が安心して使える土台ができた。RAGは「検索の品質が回答の品質を決める」ことを改めて実感し、チャンク分割と検索の作り込みに最も時間を投じる判断が正解だった。