動画記事 · AI Engineer
マルチモーダル課税回避へ:ハイブリッド RAG と SQL RRF、UI テレメトリ活用
動画の文字起こしと公開情報をもとにAIで要約・構成しています。 正確な発言は元動画と時間位置で確認してください。
まず要点
トークンコストと管理の複雑さを解消するため、Docling を活用した事前構造化、ハイブリッド検索、ローカル推論による実用的な RAG アーキテクチャを解説。
トークンロスをゼロに:ハイブリッド RAG で構築する、コスト削減と精度向上の現実解
ドキュメントをアップロードした瞬間からトークンを消費し続ける従来の RAG 方式には、コスト増と管理の複雑化という致命的な欠陥があります。本記事では、Docling を活用した事前構造化や多様なチャンキング戦略、そして SQL と RRF を組み合わせたハイブリッド検索によって、これらの課題を解決する具体的なアーキテクチャを紹介します。
従来の RAG が抱える「トークンロス」と管理の壁
多くの企業で導入されている RAG(Retrieval-Augmented Generation)システムには、2 つの大きな問題があります。1 つ目はトークンの無駄遣いです。ユーザーが質問する前、つまりドキュメントをアップロードした瞬間から、LLM はそのデータを処理するためにトークンを消費してしまいます。特に PDF や Word ドキュメント全体をそのまま読み込ませる場合、用途に関係ない部分まで処理されてしまい、コストの無駄になります。
2 つ目は管理の複雑化です。ベクトルデータベースにキーワード検索や意味検索(セマンティック検索)、さらにツール呼び出し機能をすべて組み込むと、システムはすぐに複雑怪奇なものになり、本番環境での運用が困難になります。
「ドキュメントをアップロードした瞬間から、本来特定の用途にしか使わないはずのトークンの一部を事実上失ってしまう」
この問題を解決するには、「事前構造化」と「ローカル推論」への転換が必要です。クラウド上の巨大な LLM に依存せず、Docling を使ってドキュメントを Markdown 形式に変換し、ローカルの CPU でチャンキング(分割)を行うことで、トークンロスを防ぎます。
Docling と多様な戦略でデータ品質を最大化する
データの質を高める鍵は、ドキュメントの形式や用途に合わせた柔軟なチャンキング戦略です。単に固定サイズで切り取るのではなく、以下の 4 つの手法を使い分けます。
1. 見出しベースのチャンキング(FAQ 向け)
従業員ハンドブックなどの構造化された文書では、Docling が検出した「見出し」を基準に分割します。各チャンクを見出し(質問)と回答として紐付けることで、参照元が明確になります。
- メリット: どの情報がどこから来たか追跡可能で、デバッグが容易です。
- 効果: 「休暇の取得条件は?」という問いに対し、「見出し:休暇」に対応する正確な回答を返すことができます。全体をドラッグ&ドロップして処理した場合に比べ、精度と速度が劇的に向上します。
2. 段落ベースのチャンキング(ポリシー文書向け)
見出しがない一般的なポリシー文書では、パラグラフ単位で分割します。この方法では、文脈を失わずに情報を整理できます。
3. 固定サイズとオーバーラップ(汎用向け)
データがバラバラな場合や、単純なテキスト処理が必要な場合は、512 文字ごとに切り出し、64 文字の重複(オーバーラップ)を持たせます。これにより、文脈が途切れるリスクを最小限に抑えられます。
4. 画像ベースのチャンキング(スクリーンショット向け)
メンテナンス計画などのメールやスクリーンショットは、OCR モデルを使ってテキスト化し、その後チャンク化します。見出しがない場合でも、「今週のメンテナンス計画」のような重要な情報を即座に抽出・インデックス化できます。
「単にハンドブック全体をドラッグ&ドロップして messy なデータにしてしまうのではなく、このようにデータを整理整頓することが、FAQ チャットボットの成功に大きく貢献します。」
ハイブリッド検索と RRF で精度を最大化する
検索精度を高めるには、キーワード検索とセマンティック検索の両方を組み合わせるハイブリッド検索が有効です。本アプローチでは、PostgreSQL の SQL 機能とRRF(Reciprocal Rank Fusion:相互順位融合)を活用しています。
- SQL: 構造化されたメタデータ(日付、カテゴリなど)によるフィルタリングを高速に行います。
- RRF: キーワード検索結果とベクトル検索結果のランクを統合し、最も関連性の高い結果を上位に持ってくるアルゴリズムです。
これにより、フレームワークに依存しない柔軟なアーキテクチャを実現しつつ、検索結果の関連性と精度を最大化できます。また、エージェント機能をオフにして Python 関数で処理可能な部分は直接実行させることで、LLM のハルシネーション(幻覚)を防ぎ、応答速度も向上させます。
ローカル推論と LangFuse によるコスト削減と監視
最後に、このシステムの実用性を支えるのがローカル推論と観測性(Observability)です。
- ローカル LLM: Ollama を使用し、Qwen 2.5 などの軽量モデルを CPU で動作させます。GPU が不要なため、コストをかけずにどこでも実行可能です。パラメータ数も少なく、推論速度が速いため、ユーザーの待ち時間を最小限に抑えられます。
- LangFuse: チャットのレイテンシや安全性を監視するダッシュボードとして LangFuse を導入しています。プロンプトインジェクションなどの危険な質問を検知し、システム全体の健全性を常時チェックできます。
「GPU は不要で、CPU で十分です。ステージングサーバーや Code Spaces など、任意の環境で問題なく動作します。」
まとめ
ドキュメントの事前構造化と文脈に合わせたチャンキング、そして SQL と RRF を活用したハイブリッド検索は、エンタープライズレベルの AI アプリケーションにおいてランニングコストを劇的に削減し、データプライバシーを維持する強力な手段です。フレームワークに縛られないこのアーキテクチャは、開発者が自社の要件に合わせて、高品質で信頼性の高い RAG システムを構築するための重要な指針となります。
Original Source
元動画で発言を確認
プレイヤーは必要になるまで読み込みません。YouTubeのCookieと通信も再生を選ぶまで開始しません。
時間位置から根拠を確認
章や引用を選ぶと、元動画をその位置から再生します。