作业也可以通过支持的服务商(如 OpenAI、Azure 或 Hugging Face)连接到一个或多个大型语言模型(LLM)部署。这些服务商会提供一个_托管的接口_(API),只要有正确的凭证(API 密钥或令牌),我们就能以编程方式访问。在本课程中,我们会讨论以下服务商:
- OpenAI:拥有多种模型,包括核心的 GPT 系列。
- Azure OpenAI:专注于企业级的 OpenAI 模型
- Hugging Face:提供开源模型和推理服务器
这些练习需要你使用自己的账号。 作业是可选的,你可以根据兴趣选择配置一个、全部或都不配置。注册建议如下:
| 注册 | 费用 | API 密钥 | Playground | 备注 |
|---|---|---|---|---|
| OpenAI | 价格 | 按项目分配 | 免代码,网页版 | 可用多种模型 |
| Azure | 价格 | SDK 快速入门 | Studio 快速入门 | 需提前申请访问权限 |
| Hugging Face | 价格 | 访问令牌 | Hugging Chat | Hugging Chat 支持的模型有限 |
按照下面的说明,_配置_本仓库以支持不同的服务商。需要特定服务商的作业文件名会包含以下标签之一:
aoai- 需要 Azure OpenAI 的 endpoint 和密钥oai- 需要 OpenAI 的 endpoint 和密钥hf- 需要 Hugging Face 的令牌
你可以配置一个、全部或都不配置。相关作业如果缺少凭证会直接报错。
我们假设你已经阅读了上面的说明,注册了相关服务商,并获得了所需的认证凭证(API_KEY 或令牌)。如果是 Azure OpenAI,还需要你已经部署了一个有效的 Azure OpenAI 服务(endpoint),并至少部署了一个 GPT 模型用于聊天补全。
下一步是按如下方式配置你的本地环境变量:
-
在根目录下找到一个名为
.env.copy的文件,内容大致如下:# OpenAI Provider OPENAI_API_KEY='<add your OpenAI API key here>' ## Azure OpenAI AZURE_OPENAI_API_VERSION='2024-02-01' # Default is set! AZURE_OPENAI_API_KEY='<add your AOAI key here>' AZURE_OPENAI_ENDPOINT='<add your AOIA service endpoint here>' AZURE_OPENAI_DEPLOYMENT='<add your chat completion model name here>' AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='<add your embeddings model name here>' ## Hugging Face HUGGING_FACE_API_KEY='<add your HuggingFace API or token here>'
-
用下面的命令将该文件复制为
.env。此文件已被 gitignore,可以安全存放密钥。cp .env.copy .env
-
按下一节说明填写具体的值(将
=右侧的占位符替换为你的信息)。 -
(可选)如果你使用 GitHub Codespaces,可以选择将环境变量保存为与本仓库关联的 Codespaces secrets。这样就不需要本地设置 .env 文件。但请注意,这个选项仅适用于 GitHub Codespaces。 如果你用的是 Docker Desktop,还是需要配置 .env 文件。
我们来快速了解一下变量名及其含义:
| 变量 | 说明 |
|---|---|
| HUGGING_FACE_API_KEY | 你在个人资料中设置的用户访问令牌 |
| OPENAI_API_KEY | 用于非 Azure OpenAI endpoint 的服务授权密钥 |
| AZURE_OPENAI_API_KEY | 用于该服务的授权密钥 |
| AZURE_OPENAI_ENDPOINT | Azure OpenAI 资源的已部署 endpoint |
| AZURE_OPENAI_DEPLOYMENT | _文本生成_模型的部署名称 |
| AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT | _文本嵌入_模型的部署名称 |
注意:最后两个 Azure OpenAI 变量分别对应默认的聊天补全(文本生成)和向量搜索(嵌入)模型。具体设置方法会在相关作业中说明。
Azure OpenAI 的 endpoint 和密钥可以在 Azure Portal 找到,步骤如下:
- 进入 Azure Portal
- 点击左侧菜单中的 Keys and Endpoint 选项。
- 点击 Show Keys,你会看到:KEY 1、KEY 2 和 Endpoint。
- 用 KEY 1 的值填写 AZURE_OPENAI_API_KEY
- 用 Endpoint 的值填写 AZURE_OPENAI_ENDPOINT
接下来,需要获取你已部署模型的 endpoint。
- 在 Azure OpenAI 资源的左侧菜单点击 Model deployments 选项。
- 在目标页面点击 Manage Deployments
这会跳转到 Azure OpenAI Studio 网站,下面会说明如何获取其他变量。
- 按上面说明,从你的资源进入 Azure OpenAI Studio。
- 点击左侧边栏的 Deployments 标签,查看当前已部署的模型。
- 如果你想用的模型还没部署,可以用 Create new deployment 新建部署。
- 你需要一个 文本生成 模型,推荐使用:gpt-35-turbo
- 你需要一个 文本嵌入 模型,推荐使用 text-embedding-ada-002
现在,更新环境变量,填写你用的 Deployment name。通常和模型名一致,除非你自己改过。比如:
AZURE_OPENAI_DEPLOYMENT='gpt-35-turbo'
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='text-embedding-ada-002'记得保存 .env 文件。 完成后可以关闭文件,继续按照 notebook 的运行说明操作。
你的 OpenAI API 密钥可以在 OpenAI 账号 找到。如果还没有,可以注册账号并创建 API 密钥。拿到密钥后,把它填到 .env 文件里的 OPENAI_API_KEY 变量。
你的 Hugging Face 令牌可以在个人资料的 Access Tokens 下找到。不要公开或分享这些令牌。建议为本项目新建一个令牌,然后复制到 .env 文件的 HUGGING_FACE_API_KEY 变量下。注意: 这其实不是 API 密钥,但用于认证,所以我们沿用这个命名以保持一致。
免责声明:
本文件由 AI 翻译服务 Co-op Translator 翻译。我们尽力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文件应被视为权威来源。对于关键信息,建议使用专业人工翻译。因使用本翻译而产生的任何误解或误读,我们概不负责。