milvus-logo
LFAI
フロントページへ
  • モデル

OpenAI

MilvusはOpenAIEmbeddingFunctionクラスを通してOpenAIのモデルと統合しています。このクラスは、事前に学習されたOpenAIのモデルを用いて文書やクエリをエンコードし、Milvusのインデックス作成と互換性のある密なベクトルとしてエンベッディングを返すメソッドを提供します。この機能を利用するには、OpenAIのプラットフォームでアカウントを作成し、APIキーを取得します。

この機能を使用するには、必要な依存関係をインストールします:

pip install --upgrade pymilvus
pip install "pymilvus[model]"

次に、OpenAIEmbeddingFunctionをインスタンス化します:

from pymilvus import model

openai_ef = model.dense.OpenAIEmbeddingFunction(
    model_name='text-embedding-3-large', # Specify the model name
    api_key='YOUR_API_KEY', # Provide your OpenAI API key
    dimensions=512 # Set the embedding dimensionality
)

パラメータ

  • model_name(string)

    エンコーディングに使用するOpenAIモデルの名前。有効なオプションはtext-embedding-3-small,text-embedding-3-large,text-embedding-ada-002(default) です。

  • api_key(文字列)

    OpenAI API にアクセスするための API キー。

  • dimensions(int)

    出力される埋め込みデータの次元数。text-embedding-3以降のモデルでのみサポートされます。

ドキュメントの埋め込みを作成するには、encode_documents()メソッドを使います:

docs = [
    "Artificial intelligence was founded as an academic discipline in 1956.",
    "Alan Turing was the first person to conduct substantial research in AI.",
    "Born in Maida Vale, London, Turing was raised in southern England.",
]

docs_embeddings = openai_ef.encode_documents(docs)

# Print embeddings
print("Embeddings:", docs_embeddings)
# Print dimension and shape of embeddings
print("Dim:", openai_ef.dim, docs_embeddings[0].shape)

期待される出力は以下のようなものです:

Embeddings: [array([ 1.76741909e-02, -2.04964578e-02, -1.09788161e-02, -5.27223349e-02,
        4.23139781e-02, -6.64533582e-03,  4.21088142e-03,  1.04644023e-01,
        5.10009527e-02,  5.32827862e-02, -3.26061808e-02, -3.66494283e-02,
...
       -8.93232748e-02,  6.68255147e-03,  3.55093405e-02, -5.09071983e-02,
        3.74144339e-03,  4.72541340e-02,  2.11916920e-02,  1.00753829e-02,
       -5.76633997e-02,  9.68257990e-03,  4.62721288e-02, -4.33261096e-02])]
Dim: 512 (512,)

クエリの埋め込みを作成するにはencode_queries()メソッドを使用します:

queries = ["When was artificial intelligence founded", 
           "Where was Alan Turing born?"]

query_embeddings = openai_ef.encode_queries(queries)

# Print embeddings
print("Embeddings:", query_embeddings)
# Print dimension and shape of embeddings
print("Dim", openai_ef.dim, query_embeddings[0].shape)

期待される出力は以下のようなものです:

Embeddings: [array([ 0.00530251, -0.01907905, -0.01672608, -0.05030033,  0.01635982,
       -0.03169853, -0.0033602 ,  0.09047844,  0.00030747,  0.11853652,
       -0.02870182, -0.01526102,  0.05505067,  0.00993909, -0.07165466,
...
       -9.78106782e-02, -2.22669560e-02,  1.21873049e-02, -4.83198799e-02,
        5.32377362e-02, -1.90469325e-02,  5.62430918e-02,  1.02650477e-02,
       -6.21757433e-02,  7.88027793e-02,  4.91846527e-04, -1.51633881e-02])]
Dim 512 (512,)

翻訳DeepL

目次

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
フィードバック

このページは役に立ちましたか ?