部署通过 AI 网关连接到 OpenAI 的 Worker
在本教程中,您将学习如何部署一个通过 AI 网关调用 OpenAI 的 Worker。AI 网关通过更多的分析、缓存、速率限制和日志记录,帮助您更好地观察和控制您的 AI 应用程序。
本教程使用最新的 v4 OpenAI node 库,这是 2023 年 8 月发布的更新。
所有教程都假设您已经完成了入门指南,该指南帮助您设置 Cloudflare Workers 帐户、C3 ↗ 和 Wrangler。
在 Cloudflare 仪表板的 AI 网关页面上,通过单击右上角的加号按钮创建一个新的 AI 网关。您应该能够命名网关和端点。单击 API 端点按钮以复制端点。您可以从特定于提供商的端点中选择,如 OpenAI、HuggingFace 和 Replicate。或者您可以使用接受特定模式并支持模型回退和重试的通用端点。
在本教程中,我们将使用 OpenAI 特定于提供商的端点,因此在下拉菜单中选择 OpenAI 并复制新的端点。
本教程还需要一个 OpenAI 帐户和 API 密钥。如果您没有,请创建一个新的 OpenAI 帐户并创建一个 API 密钥以继续本教程。请务必将您的 API 密钥存放在安全的地方,以便以后使用。
在命令行中创建一个 Worker 项目:
npm create cloudflare@latest -- openai-aig
yarn create cloudflare openai-aig
pnpm create cloudflare@latest openai-aig
For setup, select the following options:
- For What would you like to start with?, choose
Hello World example
. - For Which template would you like to use?, choose
Worker only
. - For Which language do you want to use?, choose
JavaScript
. - For Do you want to use git for version control?, choose
Yes
. - For Do you want to deploy your application?, choose
No
(we will be making some changes before deploying).
转到您新的 open Worker 项目:
cd openai-aig
在您新的 openai-aig 目录中,找到并打开 src/index.js
文件。在本教程的大部分时间里,您将配置此文件。
最初,您生成的 index.js
文件应如下所示:
export default { async fetch(request, env, ctx) { return new Response("Hello World!"); },};
创建 Worker 项目后,我们可以学习如何向 OpenAI 发出第一个请求。您将使用 OpenAI node 库与 OpenAI API 进行交互。使用 npm
安装 OpenAI node 库:
npm i openai
yarn add openai
pnpm add openai
在您的 src/index.js
文件中,在 export default
上方添加 openai
的导入:
import OpenAI from "openai";
在您的 fetch
函数中,设置配置并使用您创建的 AI 网关端点实例化您的 OpenAIApi
客户端:
import OpenAI from "openai";
export default { async fetch(request, env, ctx) { const openai = new OpenAI({ apiKey: env.OPENAI_API_KEY, baseURL: "https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/openai", // 在此处粘贴您的 AI 网关端点 }); },};
要使其正常工作,您需要使用 wrangler secret put
来设置您的 OPENAI_API_KEY
。这会将 API 密钥保存到您的环境中,以便您的 Worker 在部署时可以访问它。此密钥是您之前在 OpenAI 仪表板中创建的 API 密钥:
npx wrangler secret put OPENAI_API_KEY
yarn wrangler secret put OPENAI_API_KEY
pnpm wrangler secret put OPENAI_API_KEY
为了在本地开发中使其正常工作,请在您的 Worker 项目中创建一个新文件 .dev.vars
并添加此行。请确保将 OPENAI_API_KEY
替换为您自己的 OpenAI API 密钥:
OPENAI_API_KEY = "<YOUR_OPENAI_API_KEY_HERE>"
现在我们可以向 OpenAI 聊天完成 API ↗ 发出请求。
您可以指定您想要的模型、角色和提示,以及您希望在总请求中使用的最大令牌数。
import OpenAI from "openai";
export default { async fetch(request, env, ctx) { const openai = new OpenAI({ apiKey: env.OPENAI_API_KEY, baseURL: "https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/openai", });
try { const chatCompletion = await openai.chat.completions.create({ model: "gpt-4o-mini", messages: [{ role: "user", content: "What is a neuron?" }], max_tokens: 100, });
const response = chatCompletion.choices[0].message;
return new Response(JSON.stringify(response)); } catch (e) { return new Response(e); } },};
要部署您的应用程序,请运行 npx wrangler deploy
命令来部署您的 Worker 应用程序:
npx wrangler deploy
yarn wrangler deploy
pnpm wrangler deploy
您现在可以在 <YOUR_WORKER>.<YOUR_SUBDOMAIN>.workers.dev 上预览您的 Worker。
当您在 Cloudflare 仪表板中转到 AI 网关时,您应该会看到您最近的请求被记录下来。您还可以调整您的设置来管理您的日志、缓存和速率限制设置。
- @2025 Cloudflare Ubitools
- Cf Repo