ZillizとMilvusによるChatGPT検索プラグイン
#はじめに
人工知能研究所のOpenAIは最近、知識ベース検索プラグインのコードをオープンソース化したと発表した。私が関わったこのプロジェクトは、ChatGPTが様々なデータソースから関連するドキュメントのスニペットから知識ベースのデータを取得することで、その情報を増強することを可能にする。このブログポストでは、このプロジェクトの意味と、それが企業にもたらす利点について述べます。
知識ベース検索プラグイン
ナレッジベース検索プラグインは、ChatGPT が外部がホストする関連ドキュメントスニペットから情報を取得するためのツールです。ChatGPTは、自然言語で質問したり、ニーズを表現することで、ファイル、メモ、メールなど、収集・保存している様々なソースから適切なデータを取得することができます。この機能は、ChatGPT が情報を取得するための簡単で効率的な方法を提供し、より正確で信頼できるものにします。
企業にとっての利点
企業は、ChatGPTを通して従業員が社内文書を利用できるようにすることで、このプラグインから大きな利益を得ることができます。これにより、従業員は複数のソースを検索することなく、合理的な方法で社内文書から情報を取得することができます。また、取得した情報が正確で最新であることを保証します。また、開発者はこのプラグインを使用して独自のナレッジベースをホストし、独自のソースからのデータ取得を容易にすることができます。
仕組み
このプラグインはOpenAIの text-embedding-ada-002 埋め込みモデルを使ってドキュメントチャンクの埋め込みを生成し、埋め込みをベクターデータベースに保存してクエリを実行します。ここからが私の出番だ。私はOpenAIのチームと協力して、MilvusとZillizをこれらの埋め込みを保存するのに適したベクターデータベースの一つにしました。
シンプルなAPIは、ドキュメントのアップサート、クエリ、削除のためのプラグインのエンドポイントを公開します。ソース、日付、作者などのメタデータフィルタを使って、検索結果を絞り込むことができます。MilvusやZillizを最新のドキュメントで更新し続けるために、プラグインは様々なデータソースからのドキュメントを継続的に処理し、保存することができます。
Zillizプラグインを使用して、Appleの利用規約(TOS)内のDRMポリシーを検索する簡単な例を示します。ChatGPTはまずZilliz Cloud内のプロンプトを検索し、結果を要約します。その後、ChatGPTは検索プラグインを介してZillizにアクセスし、最も関連性の高いデータを検索します。
Zilliz Cloudの設定方法
Zilliz Cloudでは、アカウントを作成し、インスタンスとエンベッディングをセットアップするだけです。ここでは、クイックスタートガイドと、設定する必要がある検索プラグインの環境変数について説明します:
環境変数
| 名前| 必須| 説明| ----------
| ---------- | ----------- | -------------|
| データストア名、zilliz に設定。
| BEARER_TOKEN | はい|あなたの秘密トークンです。
| OPENAI_API_KEY| Yes|あなたのOpenAI APIキー|ZILLIZ_API_KEYに設定します。 |ZILLIZ_COLLECTION| オプション|Zillizコレクション名。デフォルトはランダムなUUID。 |ZILLIZ_URI| オプション | Zilliz インスタンスの URI。 | オプション| Zilliz ユーザー名|ZILLIZ_USER| 任意|Zilliz のパスワード|MILVUS_USER``
このように設定したら、以下のテストを実行し、このコマンドで統合が機能していることを確認する。
pytest ./tests/datastore/providers/zilliz/test_zilliz_datastore.py を実行してください。
Milvusのセットアップ方法
もちろん、オープンソースのMilvusがお好みであれば、Docker Compose、Helm、K8のOperator、またはAnsibleを使ってMilvusをデプロイし、管理することができます。説明書](https://milvus.io/docs)に従って始めてください。
環境変数
| ---------- | ----------- | -------------|
| データストア名、milvus に設定。
| BEARER_TOKEN| Yes|ベアラートークン。 | OPENAI_API_KEY| Yes|あなたの OpenAI API キー。
| オプション|Milvusコレクション名、デフォルトはランダムなUUID| MILVUS_COLLECTION
| デフォルトは localhost です。
| デフォルトは 19530 です。
| MILVUS_USER | オプション | RBAC が有効な場合の Milvus ユーザー名、デフォルトは None です。
| デフォルトは None です。|MILVUS_PASSWORD | オプション|Milvus パスワードが必要な場合、デフォルトは None です。
このように設定したら、以下のテストを実行し、このコマンドで統合が機能していることを確認する。
pytest ./tests/datastore/providers/milvus/test_milvus_datastore.py を実行してください。
プラグインのデプロイ
プラグインがテストされたので、デプロイに移ります。ChatGPTはAmazon ECS、Fly.io、Herokuなど、プラグインサーバが動作している場所にリクエストを送ることでプラグインにアクセスします。詳しい設定方法は GitHub readme の Deployment セクションを見てください。
メモリー機能
この新しいプラグインのクールな機能の一つは、memory と呼ばれる機能です。これはChatGPTに会話からの情報を記憶し、後で使用するためにベクターデータベースに保存する機能を与えます。
謝辞
これは楽しいプロジェクトで、Isabella FulfordのOpenAIチームとFrank LiuとRobert GuoのZilizチームに感謝したい。何かフィードバックがあったり、自分で試してみたいという方は、GitHub repoをチェックしてみてください。私自身、ChatGPT Retrieval Pluginのreadmeに記載されている多くの素晴らしいアイデアの一つに貢献できることを楽しみにしています!
読み続けて

Zilliz Skills Breakdown: How AI Agents Master Vector Databases
Zilliz's Milvus Skill (pymilvus, 7 files) and Zilliz Cloud Skill (zilliz-cli, 14 modules) bring vector-DB dev and ops into one Claude Code session.

Context Engineering Strategies for AI Agents: A Developer’s Guide
Learn practical context engineering strategies for AI agents. Explore frameworks, tools, and techniques to improve reliability, efficiency, and cost.

Announcing the General Availability of Zilliz Cloud BYOC on Google Cloud Platform
Zilliz Cloud BYOC on GCP offers enterprise vector search with full data sovereignty and seamless integration.
