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

部署通过 AI 网关连接到 OpenAI 的 Worker

Last reviewed: over 1 year ago

在本教程中,您将学习如何部署一个通过 AI 网关调用 OpenAI 的 Worker。AI 网关通过更多的分析、缓存、速率限制和日志记录,帮助您更好地观察和控制您的 AI 应用程序。

本教程使用最新的 v4 OpenAI node 库,这是 2023 年 8 月发布的更新。

开始之前

所有教程都假设您已经完成了入门指南,该指南帮助您设置 Cloudflare Workers 帐户、C3Wrangler

1. 创建 AI 网关和 OpenAI API 密钥

在 Cloudflare 仪表板的 AI 网关页面上,通过单击右上角的加号按钮创建一个新的 AI 网关。您应该能够命名网关和端点。单击 API 端点按钮以复制端点。您可以从特定于提供商的端点中选择,如 OpenAI、HuggingFace 和 Replicate。或者您可以使用接受特定模式并支持模型回退和重试的通用端点。

在本教程中,我们将使用 OpenAI 特定于提供商的端点,因此在下拉菜单中选择 OpenAI 并复制新的端点。

本教程还需要一个 OpenAI 帐户和 API 密钥。如果您没有,请创建一个新的 OpenAI 帐户并创建一个 API 密钥以继续本教程。请务必将您的 API 密钥存放在安全的地方,以便以后使用。

2. 创建一个新的 Worker

在命令行中创建一个 Worker 项目:

Terminal window
npm 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!");
},
};

3. 在您的 Worker 中配置 OpenAI

创建 Worker 项目后,我们可以学习如何向 OpenAI 发出第一个请求。您将使用 OpenAI node 库与 OpenAI API 进行交互。使用 npm 安装 OpenAI node 库:

Terminal window
npm i 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 密钥:

Terminal window
npx wrangler secret put OPENAI_API_KEY

为了在本地开发中使其正常工作,请在您的 Worker 项目中创建一个新文件 .dev.vars 并添加此行。请确保将 OPENAI_API_KEY 替换为您自己的 OpenAI API 密钥:

在本地保存您的 API 密钥
OPENAI_API_KEY = "<YOUR_OPENAI_API_KEY_HERE>"

4. 发出 OpenAI 请求

现在我们可以向 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);
}
},
};

5. 部署您的 Worker 应用程序

要部署您的应用程序,请运行 npx wrangler deploy 命令来部署您的 Worker 应用程序:

Terminal window
npx wrangler deploy

您现在可以在 <YOUR_WORKER>.<YOUR_SUBDOMAIN>.workers.dev 上预览您的 Worker。

6. 查看您的 AI 网关

当您在 Cloudflare 仪表板中转到 AI 网关时,您应该会看到您最近的请求被记录下来。您还可以调整您的设置来管理您的日志、缓存和速率限制设置。