与持久性存储交互以检索或存储信息,可实现强大的用例。
在此示例中,我们展示了嵌入式函数调用如何通过几行代码与 Cloudflare 开发者平台上的其他资源进行交互。
要使此示例正常工作,您需要首先配置一个 KV 命名空间。为此,请遵循 KV - 入门 指南。
重要的是,必须更新您的 Wrangler 文件以包含到您相应命名空间的 KV
绑定定义。
import { runWithTools } from "@cloudflare/ai-utils";
type Env = { AI: Ai; KV: KVNamespace;};
export default { async fetch(request, env, ctx) { // 定义函数 const updateKvValue = async ({ key, value, }: { key: string; value: string; }) => { const response = await env.KV.put(key, value); return `成功更新数据库中的键值对:${response}`; };
// 使用函数调用运行 AI 推理 const response = await runWithTools( env.AI, "@hf/nousresearch/hermes-2-pro-mistral-7b", { messages: [ { role: "system", content: "将用户给定的值放入 KV" }, { role: "user", content: "将 banana 的值设置为 yellow。" }, ], tools: [ { name: "KV 更新", description: "更新数据库中的键值对", parameters: { type: "object", properties: { key: { type: "string", description: "要更新的键", }, value: { type: "string", description: "要更新的值", }, }, required: ["key", "value"], }, function: updateKvValue, }, ], }, ); return new Response(JSON.stringify(response)); },} satisfies ExportedHandler<Env>;
要验证结果,请运行以下命令
npx wrangler kv key get banana --binding KV --local
- @2025 Cloudflare Ubitools
- Cf Repo