CloudflareWorkersAIEmbeddings
这将帮助您使用 LangChain 开始使用 Cloudflare Workers
AI 的嵌入模型。如需关于CloudflareWorkersAIEmbeddings功能和配置选项的详细文档,请参阅API 参考文档。
概览
集成详情
| 类 | 包 | 本地支持 | Python 支持 | 包下载量 | 包最新版本 |
|---|---|---|---|---|---|
CloudflareWorkersAIEmbeddings | @langchain/cloudflare | ❌ | ❌ | ![]() | ![]() |
安装配置
要访问 Cloudflare 的嵌入模型,您需要创建一个 Cloudflare 账户并安装@langchain/cloudflare集成包。该集成设计用于在 Cloudflare
Worker 中运行并接受绑定。
请按照官方文档设置您的 Worker。
您的wrangler.toml文件应类似于以下内容:
name = "langchain-test"
main = "worker.js"
compatibility_date = "2024-01-10"
[[vectorize]]
binding = "VECTORIZE_INDEX"
index_name = "langchain-test"
[ai]
binding = "AI"
凭据
如果您希望对模型调用进行自动追踪,还可以取消以下内容的注释以设置您的LangSmith API 密钥:
# export LANGSMITH_TRACING="true"
# export LANGSMITH_API_KEY="your-api-key"
安装
LangChain
CloudflareWorkersAIEmbeddings 集成位于@langchain/cloudflare包中:
:::提示 请参阅安装集成包的一般说明部分。 :::
- npm
- yarn
- pnpm
npm i @langchain/cloudflare @langchain/core
yarn add @langchain/cloudflare @langchain/core
pnpm add @langchain/cloudflare @langchain/core
使用方法
以下是一个使用 Workers AI 嵌入功能并结合 Cloudflare Vectorize 向量存储 的示例工作程序。
// @ts-nocheck
import type {
VectorizeIndex,
Fetcher,
Request,
} from "@cloudflare/workers-types";
import {
CloudflareVectorizeStore,
CloudflareWorkersAIEmbeddings,
} from "@langchain/cloudflare";
export interface Env {
VECTORIZE_INDEX: VectorizeIndex;
AI: Fetcher;
}
export default {
async fetch(request: Request, env: Env) {
const { pathname } = new URL(request.url);
const embeddings = new CloudflareWorkersAIEmbeddings({
binding: env.AI,
model: "@cf/baai/bge-small-en-v1.5",
});
const store = new CloudflareVectorizeStore(embeddings, {
index: env.VECTORIZE_INDEX,
});
if (pathname === "/") {
const results = await store.similaritySearch("hello", 5);
return Response.json(results);
} else if (pathname === "/load") {
// Upsertion by id is supported
await store.addDocuments(
[
{
pageContent: "hello",
metadata: {},
},
{
pageContent: "world",
metadata: {},
},
{
pageContent: "hi",
metadata: {},
},
],
{ ids: ["id1", "id2", "id3"] }
);
return Response.json({ success: true });
} else if (pathname === "/clear") {
await store.delete({ ids: ["id1", "id2", "id3"] });
return Response.json({ success: true });
}
return Response.json({ error: "Not Found" }, { status: 404 });
},
};
API 参考文档
有关所有 CloudflareWorkersAIEmbeddings 功能和配置的详细文档,请访问
API 参考页面:
https://api.js.langchain.com/classes/langchain_cloudflare.CloudflareWorkersAIEmbeddings.html
Related
- Embedding model conceptual guide
- Embedding model how-to guides

