Ollama+OpenClawで構築するRAG対応カスタマーサポートAI
Ollamaの埋め込みモデルとOpenClawエージェントを組み合わせて、RAG(Retrieval-Augmented Generation)対応のカスタマーサポートシステムを構築する方法を解説します。ベクトルDBとの連携により、FAQドキュメントから正確な回答を生成し、LINE・Slack等のマルチチャネルで展開可能なAIサポートを実現します。
RAG対応カスタマーサポートAIの必要性
従来のルールベースのチャットボットは、事前に定義されたシナリオ内でしか対応できず、顧客の多様な質問に柔軟に答えることができませんでした。一方、大規模言語モデル(LLM)を直接使用する場合、最新の製品情報や社内ドキュメントを参照できないため、古い情報や不正確な回答を生成するリスクがあります。RAG(Retrieval-Augmented Generation)は、ベクトルデータベースから関連情報を検索し、その情報をコンテキストとしてLLMに渡すことで、正確かつ最新の回答を生成する技術です。Ollamaのローカル埋め込みモデルとOpenClawのマルチチャネルエージェント機能を組み合わせることで、品川区や港区の企業でも低コストで高品質なカスタマーサポートAIを構築できます。
Ollama埋め込みモデルの選択と導入
RAGシステムの核となるのが埋め込みモデルです。Ollamaは複数の高性能な埋め込みモデルをサポートしています。代表的なものとして、nomic-embed-text(768次元、英語特化)とmxbai-embed-large(1024次元、多言語対応)があります。日本語のカスタマーサポートにはmxbai-embed-largeが適しています。インストールは`ollama pull mxbai-embed-large`で完了し、埋め込み生成は`curl http://localhost:11434/api/embeddings -d '{"model": "mxbai-embed-large", "prompt": "お問い合わせ内容"}'`のようにREST APIで実行できます。Mac mini(Apple Silicon)では、Metal最適化によりCPUの数十倍の速度で埋め込みを生成できるため、リアルタイムの顧客対応にも十分な性能を発揮します。
ChromaDBによるベクトルデータベース構築
埋め込みベクトルを効率的に保存・検索するためにChromaDBを使用します。ChromaDBは軽量でPythonから簡単に利用でき、永続化とメモリ内検索の両方に対応しています。セットアップは`pip install chromadb`で完了し、コレクション作成は`client.create_collection(name="faq_docs", metadata={"hnsw:space": "cosine"})`のように記述します。FAQドキュメントをチャンク分割(500トークン程度)し、各チャンクをOllamaで埋め込みベクトル化してChromaDBに保存します。検索時は顧客の質問を同じモデルで埋め込み、`collection.query(query_embeddings=[query_vec], n_results=3)`でコサイン類似度の高い上位3件のドキュメントを取得します。渋谷区や世田谷区の中小企業でも、数千件のFAQドキュメントを扱うシステムを構築できます。
ドキュメント取り込みパイプラインの実装
カスタマーサポートドキュメントは、PDF、Word、Markdown、Notionなど多様な形式で存在します。効率的なRAGシステムには、これらを自動的に取り込むパイプラインが必要です。LangChainの`UnstructuredFileLoader`や`NotionDBLoader`を使用すると、異なるフォーマットのドキュメントを統一的に処理できます。テキスト抽出後、RecursiveCharacterTextSplitterでチャンク分割し、各チャンクにメタデータ(ドキュメントタイトル、作成日、カテゴリなど)を付与します。これらをバッチ処理でOllamaの埋め込みAPIに渡し、返されたベクトルとメタデータをChromaDBに保存します。定期的に実行するスクリプトを作成することで、ドキュメントの更新が自動的にRAGシステムに反映されるようになります。
OpenClawエージェントへの検索ツール統合
OpenClawエージェントは、カスタムツールを追加することで機能を拡張できます。RAG検索機能を`search_faq_docs`というツールとして実装し、エージェントの設定ファイル`~/.openclaw/openclaw.json`に登録します。ツールは顧客の質問を受け取り、Ollamaで埋め込みを生成し、ChromaDBから関連ドキュメントを検索し、結果をエージェントに返します。エージェントは検索結果をコンテキストとして、Ollama上のLLM(例:llama3.3:70b)に渡して最終回答を生成します。プロンプトには「以下の検索結果のみを参照して回答してください」といった指示を含めることで、幻覚を防ぎ、ドキュメントに基づいた正確な回答を保証します。OpenClawの優れた点は、一度ツールを実装すれば、LINE、Slack、Discord、WhatsAppなど全チャネルで自動的に利用可能になることです。
マルチチャネル展開とルーティング設定
OpenClawの設定ファイルで、各メッセージングチャネルとRAGエージェントをバインドします。`"bindings": [{"channel": "line", "agent": "customer-support-rag", "priority": 1}, {"channel": "slack", "agent": "customer-support-rag", "priority": 1}]`のように記述することで、LINEとSlackからの問い合わせを同じRAGエージェントで処理できます。優先度設定により、特定のキーワードや送信者に基づいて異なるエージェントにルーティングすることも可能です。例えば、技術的な質問は技術サポート用RAGエージェント、請求に関する質問は経理用エージェントに振り分けるといった運用ができます。港区や大田区の企業では、顧客がLINEで問い合わせ、社内スタッフがSlackで同じエージェントに質問するハイブリッド運用が増えています。
回答精度向上のためのチューニング
RAGシステムの回答精度を向上させるには、検索段階と生成段階の両方でチューニングが必要です。検索段階では、取得するドキュメント数(n_results)の調整、メタデータフィルタの活用(特定カテゴリのみ検索)、ハイブリッド検索(ベクトル検索とキーワード検索の組み合わせ)が効果的です。生成段階では、プロンプトテンプレートの最適化、temperatureパラメータの調整(0.1-0.3で一貫性のある回答)、システムメッセージでのペルソナ設定が重要です。また、回答不可能な質問に対しては「この情報は現在のドキュメントには含まれていません」と正直に答えるようプロンプトに指示することで、誤情報の提供を防ぎます。ログを分析し、検索失敗や低品質な回答が多い質問パターンを特定して、ドキュメントやチャンク分割を改善する継続的な改善サイクルが重要です。
セキュリティとプライバシーの考慮
カスタマーサポートデータには個人情報や機密情報が含まれることがあります。Ollamaを使用するRAGシステムの利点は、すべての処理がローカルで完結し、外部APIにデータを送信しないことです。ただし、ベクトルデータベースに保存されるドキュメントのアクセス制御は重要です。ChromaDBの永続化ディレクトリにはOSレベルのアクセス権限を設定し、不正アクセスを防ぎます。また、個人を特定できる情報(PII)を含むドキュメントは、取り込み時に匿名化処理を行うか、RAGシステムの対象外とする判断が必要です。OpenClawのログ設定で、顧客の質問内容をどこまで記録するか明確にし、プライバシーポリシーに準拠した運用を行います。目黒区や品川区の医療・金融関連企業では、こうしたプライバシー配慮が特に重要です。
パフォーマンス最適化とスケーリング
RAGシステムのボトルネックは、埋め込み生成と検索、LLM推論の3つです。Mac mini(M4 Pro/Max)では、Metalアクセラレーションにより埋め込み生成は1秒以内に完了します。ChromaDBの検索も数千件規模であれば数十ミリ秒で完了します。最も時間がかかるのはLLM推論であり、70Bモデルでは回答生成に5-10秒かかることがあります。高速化のためには、より小さなモデル(8Bや13B)を使用するか、システムプロンプトを簡潔にしてトークン数を削減します。同時アクセスが増える場合、OllamaはGPU/NPUのメモリが許す限り並列処理を行いますが、複数のMac miniで負荷分散することも検討できます。OpenClawのルーティング機能を使用して、特定のチャネルや時間帯ごとに異なるサーバーに振り分ける構成も可能です。
運用とモニタリング
RAGカスタマーサポートシステムの運用では、継続的なモニタリングが成功の鍵です。OpenClawのログから、質問数、平均応答時間、検索ヒット率、エージェント切り替え回数などのメトリクスを収集します。これらをGrafanaやDatadogなどの監視ツールでダッシュボード化すると、システムの健全性を一目で把握できます。また、顧客からのフィードバック(回答が役立ったかの評価)を収集し、低評価だった質問と回答をレビューして改善に活かします。ドキュメントの更新頻度が高い場合は、自動更新パイプラインの実行ログを監視し、取り込みエラーがないか確認します。定期的にRAGシステムのA/Bテストを行い、異なる埋め込みモデルやチャンク戦略を比較することで、継続的に精度を向上させます。
株式会社オブライトのAIサポートシステム構築支援
株式会社オブライト(東京都品川区)は、OllamaとOpenClawを活用したRAG対応カスタマーサポートシステムの構築を支援しています。お客様のFAQドキュメントや社内ナレッジベースを分析し、最適な埋め込みモデルとチャンク戦略を提案します。ChromaDBやPgvectorなど、要件に応じたベクトルデータベースの選定と構築、OpenClawエージェントへのカスタムツール統合、LINE・Slack・Discord等のマルチチャネル展開まで一貫してサポートします。品川区、港区、渋谷区を中心に、中小企業から大企業まで幅広いクライアントにAIソリューションを提供しています。ローカルLLMによるプライバシー重視のシステム構築に関心がある方は、ぜひお問い合わせください。
お気軽にご相談ください
お問い合わせ