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', # 指定模型名称
api_key='YOUR_API_KEY', # 提供您的 OpenAI API 密钥
dimensions=512 # 设置嵌入向量的维度
)
参数:
-
model_name (string)
用于编码的 OpenAI 模型名称。有效选项为 text-embedding-3-small、text-embedding-3-large 和 text-embedding-ada-002(默认)。
-
api_key (string)
访问 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:", docs_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:", query_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,)