CloudflareWorkersAIEmbeddings 통합
CloudflareWorkersAIEmbeddings 통합
LangChain JavaScript로 CloudflareWorkersAIEmbeddings 임베딩 모델과 통합하는 방법을 안내할게요.
출처: 문서
본문
이 문서는 LangChain으로 Cloudflare Workers AI 임베딩 모델을 시작하는 데 도움을 줘요. CloudflareWorkersAIEmbeddings 기능과 구성 옵션에 대한 자세한 문서는 API 레퍼런스를 참고하세요.
개요
통합 세부 정보
| 클래스 | 패키지 | Local | Py 지원 | Downloads | Version |
|---|---|---|---|---|---|
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"
자격 증명
모델 호출의 자동 추적(tracing)을 원한다면 아래 주석을 해제해 LangSmith API 키를 설정할 수도 있어요:
# export LANGSMITH_TRACING="true"
# export LANGSMITH_API_KEY="your-api-key"
설치
LangChain CloudflareWorkersAIEmbeddings 통합은 @langchain/cloudflare 패키지에 있어요:
yarn add @langchain/cloudflare @langchain/core
pnpm add @langchain/cloudflare @langchain/core
사용법
아래는 Cloudflare Vectorize vectorstore와 함께 Workers AI 임베딩을 사용하는 worker 예제예요.
// @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 레퍼런스를 참고하세요.
더 알아보기
- 이 문서를 MCP로 연결하면 Claude, VSCode 등에서 실시간 답변을 받을 수 있어요.
- GitHub에서 이 페이지 편집하기 또는 이슈 제출하기.