Skip to content
Cloudflare Docs
非官方翻译 - 此文档为非官方中文翻译版本,仅供参考。如有疑问请以 英文官方文档 为准。

使用 KV API

与持久性存储交互以检索或存储信息,可实现强大的用例。

在此示例中,我们展示了嵌入式函数调用如何通过几行代码与 Cloudflare 开发者平台上的其他资源进行交互。

先决条件

要使此示例正常工作,您需要首先配置一个 KV 命名空间。为此,请遵循 KV - 入门 指南。

重要的是,必须更新您的 Wrangler 文件以包含到您相应命名空间的 KV 绑定定义。

Worker 代码

使用 KV API 的嵌入式函数调用示例
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>;

验证结果

要验证结果,请运行以下命令

Terminal window
npx wrangler kv key get banana --binding KV --local