36時間で法的RAGアプリを構築する
WeaviateのQuery AgentとAgent Skillsライブラリを使い、わずか36時間で本番運用可能なエンドツーエンドRAGアプリケーションを構築する方法を紹介。従来のRAGとエージェント検索の違い、アーキテクチャ、実装手順を詳説。
法律研究は設計上困難です。数千の複雑な契約書から特定の条項を見つけるには、極度の正確性と絶対的なセキュリティが必要です。この特性から、法律分野はRAG(検索拡張生成)の理想的な適用領域となっています。従来、本番利用可能な法律アシスタントを構築するには、開発者がレトリーバーを調整し、会話状態を管理し、複雑なクエリロジックを記述する必要があり、数ヶ月の開発サイクルを要していました。
Weaviateチームはこのタイムラインを打破できるか挑戦しました。内部の財務チームからの依頼を受け、Query AgentとAgent Skillsライブラリを活用し、わずか36時間で生の文書を本番アプリケーションに変えたのです。この記事では、アーキテクチャの詳細と構築手順を公開します。
従来の(ナイーブな)RAGシステムは線形な経路をたどります。ユーザー入力を受け取り、基本的なクエリを生成し、単一のコレクションに対して静的な検索を実行します。単純なFAQボットには機能しますが、法的文書の重みに耐えられません。法的クエリはめったに一次元的ではなく、日付、管轄権、契約タイプによるフィルタリングが必要です。従来の検索では、「2024年のサービス契約における通知期間は?」と尋ねると、テキストが意味的に類似しているという理由だけで2022年の関連条項を取得する可能性があります。推論層がなければ、システムには検索前に必要なフィルタを適用する常識が欠けています。
エージェント検索はデータベースを静的なデータストアではなく、ツールの集合として扱います。Query Agentは自律的なワークフローを導入し、人間の法律研究者を模倣します。具体的には、スキーマとコレクションの検査、構造化クエリの構築、精度リランキング、回答合成を行います。この検索戦略に対する推論能力こそが、法律・財務チームに要求される精度を提供します。
アーキテクチャの概要として、まず法的PDFはマルチベクトルモデル(Muvera圧縮付き)で埋め込まれ、Weaviateに取り込まれます。マルチベクトルモデルは各PDFページを直接視覚トークン(画像パッチ)としてエンコードし、レイアウトや表を保持します。Muveraはこれらのマルチベクトルを圧縮し、メモリとレイテンシを削減しつつ検索品質を維持します。契約書は商用契約、企業IP契約、運営契約の3つのコレクションに分割され、検索空間を狭めます。
Query Agentは2つのモードで動作します。検索モードでは、最も関連性の高い契約セクションを取得してリランクし、手動レビューに供します。質問モードでは、取得したコンテキストを統合して根拠のある直接回答を生成します。結果はソース引用とともにストリーミングされ、透明性を確保します。
構築手順は簡潔です。Weaviate Agent Skillsをインストールし、クイックスタートコマンドでクラスタを作成し、単一のプロンプトでアプリを構築します。CUADデータセットのダウンロード、PDFの分類、スキーマ定義、実装上の注意点も記事内で詳述されています。
このように、エージェント検索と巧みな設計により、複雑な法律アプリの開発期間を数ヶ月から36時間に短縮できます。さらに、検索ページの追加やデータエクスプローラの作成など、アプリを拡張するためのヒントも提供されています。