使用Cloudflare Workers AI进行文本嵌入示例

在本文中,我们将学习如何使用Cloudflare Workers AI进行文本嵌入。本文将介绍如何设置和使用该工具,并附上示例代码。使用这个工具可以方便地将文本转换为高维向量,对自然语言处理任务非常有帮助。

环境设置

首先,我们需要通过pip安装Cloudflare Workers AI的库:

%pip install llama-index-embeddings-cloudflare-workersai
# %pip install -e ~/llama_index/llama-index-integrations/embeddings/llama-index-embeddings-cloudflare-workersai

要访问Cloudflare Workers AI,我们需要Cloudflare的账户ID和API令牌。请按照这份文档获取你的账户ID和API令牌。

初始化

我们可以使用以下代码进行初始化:

import getpass

my_account_id = getpass.getpass("Enter your Cloudflare account ID:\n\n")
my_api_token = getpass.getpass("Enter your Cloudflare API token:\n\n")

文本嵌入示例

以下代码展示了如何使用Cloudflare Workers AI进行文本嵌入:

from llama_index.embeddings.cloudflare_workersai import CloudflareEmbedding

my_embed = CloudflareEmbedding(
    account_id=my_account_id,
    auth_token=my_api_token,
    model="@cf/baai/bge-small-en-v1.5",
)

embeddings = my_embed.get_text_embedding("Why sky is blue")

print(len(embeddings))
print(embeddings[:5])

示例输出:

384
[-0.04786296561360359, -0.030788540840148926, -0.07126234471797943, -0.04107927531003952, 0.02904760278761387]

批量嵌入

Cloudflare支持一次最多100个文本的批量嵌入。以下代码展示了如何进行批量嵌入:

embeddings = my_embed.get_text_embedding_batch(
    ["Why sky is blue", "Why roses are red"]
)
print(len(embeddings))
print(len(embeddings[0]))
print(embeddings[0][:5])
print(embeddings[1][:5])

示例输出:

2
384
[-0.04786296561360359, -0.030788540840148926, -0.07126234471797943, -0.04107927531003952, 0.02904760278761387]
[-0.08951402455568314, -0.015274363569915295, 0.04728245735168457, 0.05478525161743164, 0.05978189781308174]

示例代码

完整的示例代码如下:

import getpass
from llama_index.embeddings.cloudflare_workersai import CloudflareEmbedding

# 获取账户ID和API令牌
my_account_id = getpass.getpass("Enter your Cloudflare account ID:\n\n")
my_api_token = getpass.getpass("Enter your Cloudflare API token:\n\n")

# 初始化嵌入模型
my_embed = CloudflareEmbedding(
    account_id=my_account_id,
    auth_token=my_api_token,
    model="@cf/baai/bge-small-en-v1.5",
)

# 单个文本嵌入
embeddings = my_embed.get_text_embedding("Why sky is blue")
print(len(embeddings))
print(embeddings[:5])

# 批量文本嵌入
batch_embeddings = my_embed.get_text_embedding_batch(
    ["Why sky is blue", "Why roses are red"]
)
print(len(batch_embeddings))
print(len(batch_embeddings[0]))
print(batch_embeddings[0][:5])
print(batch_embeddings[1][:5])

可能遇到的错误

  1. API令牌错误:如果提供的API令牌无效或过期,可能会导致身份验证失败。
  2. 网络问题:网络连接不稳定可能会导致请求超时或失败。
  3. 账户权限不足:确保你的API令牌具有访问Cloudflare Workers AI的权限。

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

参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值