46.6kデモを予約するログイン無料で始める

OpenAI Embedding APIとZilliz Cloudの連携方法

Jan 11, 20230 min read

2018年、Zillizは検索とストレージの扱い方を変革するためにMilvusベクトルデータベースを開発した(以前、embeddingsとベクトルデータベースの影響について説明した)。当初、Milvusはベクターデータベースに不可欠なコア機能を提供することに重点を置き、ユーザーエクスペリエンスの向上、信頼性の確保、パフォーマンスとスケーラビリティの強化に重点を置いた。このアプローチにより、ユーザ、貢献者、スターを含むMilvusコミュニティは大きく成長し、現在では30,000人に近づいている。

最近、特にMilvus 2.4のリリースに伴い、コミュニティはより多くのツール、ビジュアライゼーション、コネクタを含むベクトルデータベースエコシステムの拡張に強い関心を示しています。主な要望は、埋め込みモデルとの緊密な統合です。このフィードバックは、ユーザーのニーズの進化と、ベクトルデータベースにおける埋め込みモデルの重要性の高まりを反映しています。

埋め込みモデルとの統合

このような需要の高まりに対応するため、埋め込みモデル インテグレーショ ンを導入し、Milvus または Zilliz Cloud データベースとオープンソースおよび商用モデルをシームレスに接続できるようになりました。これらの統合は、現在利用可能な様々な機械学習モデルに対応するように設計されており、様々なタイプのデータやユースケースに対応します。テキスト、画像、その他のデータタイプのいずれを扱う場合でも、この機能により、意味的類似検索機能を強化するための埋め込みモデルのパワーを簡単に活用することができます。

エンベッディング・モデルの進化とユーザーのニーズに応えるため、私たちは2つの統合セットを並行して提供します。最初のセットは、人気のあるオープンソースのエンベッディングモデルに焦点を当て、コミュニティ主導のソリューションを好むユーザーに柔軟性と費用対効果を提供します。2つ目のセットは、より専門的な要求を持つユーザのために、高度な機能と強化された性能を提供する、プレミアムな商用エンベッディング・モデルとの統合を含みます。この2つのアプローチにより、エンベッディングのニーズや予算に関係なく、すべてのユーザーがMilvusまたはZilliz Cloudデータベースを最適化するための強力なツールを利用できるようになります。

Zilliz Cloudとの統合が鍵となる理由

OpenAI Embedding API](https://zilliz.com/learn/semantic-search-with-milvus-and-openai)をZilliz Cloudと統合することは、自然言語処理のようなベクトル検索機能を強化したい開発者にとって重要です。OpenAIの強力で事前訓練されたエンベッディングとZilliz Cloudの高性能ベクトルデータベース](https://zilliz.com/learn/benchmark-vector-database-performance-techniques-and-insights)を組み合わせることで、より正確で効率的な検索・検索システムを構築することができます。OpenAIのエンベッディングはデータ内の複雑なセマンティックな関係を捉え、Zilliz Cloudは大量のベクトルデータを扱うために必要なスケーラビリティとスピードを提供します。この統合により、開発者は高度なAIモデルを活用して検索結果の関連性を高め、ユーザーのクエリをより正確に理解して応答するアプリケーションを簡単に構築できるようになります。

さらに、この統合は、膨大なデータセットを処理し検索する合理的な方法を提供することで、開発プロセスを簡素化します。Zilliz Cloudがバックエンドのインフラを管理し、OpenAIのEmbedding APIが洗練されたデータ表現を提供することで、開発者はアプリケーションの構築に集中することができ、データ処理の複雑さを軽減することができます。このセットアップは、パフォーマンスを向上させるだけでなく、開発時間を短縮し、以下を可能にします。

Zillizクラウドの例

最初の統合セットは、MilvusとZilliz Cloudを利用した一連のPOC対応例と実行可能スクリプトです。これらの例は、ソフトウェアエンジニアが様々なユーザーケースのアプリケーションを作成するためのフルカスタマイズ可能な出発点を提供することを意図しています。これらの例のほとんどは、アップストリームのエンベッディングモデルとMilvus SDKを組み合わせた、非常に簡単なスクリプトです。これらの例は、our notebooks にあります。各例は、次のようなものです(読みやすくするために大幅に簡略化しています):

from pymilvus import connections, Collection
インポート openai

...

connections.connect(uri=URI, user=USER, password=PASSWORD, secure=True)
collection = Collection(name=COLLECTION_NAME, schema=schema)
collection.create_index(field_name="embedding", index_params=index_params)

...

for text in document:
    embedding = openai.Embedding.create(
            input=text、
            engine=OPENAI_ENGINE)["data"][0]["embedding"]
    collection.insert([埋め込み])

...

小規模なサンプルスクリプトは汎用的に使用するのに適していますが、各スクリプトでかなりの再利用があることがわかりました。例えば、モデル推論とデータベースクエリは、ほぼすべてのサンプルで実行される2つのアクションです。この繰り返される問題を解決するために、我々はMilvusエコシステムのZillizプロジェクトであるTowheeを立ち上げた。Towheeは、数百のオープンソースモデル、組み込みAPI、および自社モデルを統合し、ML実務家がMilvusまたはZilliz Cloudに支えられたエンドツーエンドの検索パイプラインをわずか数行のコードで組み立てる能力を提供します。本のタイトルを(OpenAIのエンベッディングAPIを使って)ベクトル化し、Milvusに挿入するパイプラインのサンプルは次のようになる:

pipeline = (
    pipe.input('id', 'text')
    .map(
        ops.text_embedding.openai(
            engine='embedding-engine'、
            api_key='my-api-key'
        )
    )
    .map(
        ops.ann_insert.milvus_client(
            host='my-vector-database.url'、
            port='19530'、
            コレクション名='my-collection'
        )
    )                             
    .output()
)

TowheeのサンプルはMilvus bootcampに、完全なガイドはTowhee documentationにあります。

私たちとつながる

長くなりましたが、私たちは5年間で多くの進歩を遂げましたが、まだまだ長い道のりがあります。Zillizは今後もMilvusプロジェクトの主要な支援者であり、主要な原動力であり続けますが、より広範な機械学習エコシステムとの統合やパートナーシップにも注力していきます。

あなたがオープンソースのコミッターで、統合の可能性について話をしたい場合は、私たちに連絡を取るか、Twitterで私たちにメッセージを送ってください。あなたがコミュニティの一員となることを楽しみにしています!

Updated on Jul 09, 2026