设置您的开发环境
我们使用开发容器设置了此存储库和课程,该容器具有支持 Python3、.NET、Node.js 和 Java 开发的通用运行时。相关配置在存储库根目录下的 .devcontainer/
文件夹中的 devcontainer.json
文件中定义。
要激活开发容器,请在 GitHub Codespaces(用于云托管运行时)或 Docker Desktop(用于本地设备托管运行时)中启动它。阅读此文档了解 VS Code 中的开发容器的工作原理。
[!提示]
我们推荐使用 GitHub Codespaces 以最小的努力实现快速启动。它为个人账户提供了慷慨的免费使用配额。配置超时设置以停止或删除不活动的代码空间,以最大化配额使用。
1. 执行任务
每节课将有 可选 的任务,可能提供一种或多种编程语言,包括:Python、.NET/C#、Java 和 JavaScript/TypeScript。本节提供了与执行这些任务相关的一般指导。
1.1 Python 任务
Python 任务将作为应用程序(.py
文件)或 Jupyter notebook(.ipynb
文件)提供。
- 要运行 notebook, 在 Visual Studio Code 中打开它,然后点击 选择内核(右上角),选择显示的默认 Python 3 选项。现在可以 全部运行 以执行 notebook。
- 要从命令行运行 Python 应用程序,请按照特定任务说明进行操作,确保选择正确的文件并提供所需的参数。
2. 配置提供商
任务 可能 还可以设置为通过支持的服务提供商(如 OpenAI、Azure 或 Hugging Face)在一个或多个大型语言模型(LLM)部署中工作。这些提供我们可以使用正确凭据(API 密钥或令牌)以编程方式访问的 托管端点(API)。在本课程中,我们讨论这些提供商:
- OpenAI 提供包括核心 GPT 系列在内的多样化模型。
- 专注于企业准备度的 Azure OpenAI 提供 OpenAI 模型。
- 提供开源模型和推理服务器的 Hugging Face。
您需要使用自己的账户进行这些练习。任务是可选的,因此您可以根据兴趣选择设置一个、全部或没有任何提供商。注册的一些指导:
注册 | 费用 | API 密钥 | Playground | 注释 |
---|---|---|---|---|
OpenAI | 定价 | 基于项目 | 无代码,Web | 多种模型可用 |
Azure | 定价 | SDK 快速入门 | Studio 快速入门 | 必须提前申请访问权限 |
Hugging Face | 定价 | 访问令牌 | Hugging Chat | Hugging Chat 的模型有限 |
按照下面的指示将此存储库配置为与不同的提供商一起使用。需要特定提供商的任务将包含以下标签之一:
aoai
- 需要 Azure OpenAI 端点和密钥oai
- 需要 OpenAI 端点和密钥hf
- 需要 Hugging Face 令牌
您可以配置一个、没有或全部提供商。相关的任务将在缺少凭据时简单地出错。
2.1 创建 .env
文件
我们假设您已经阅读了上述指导并注册了相关提供商,并获得了所需的认证凭据(API_KEY 或令牌)。在 Azure OpenAI 的情况下,我们假设您还具有有效的 Azure OpenAI 服务部署(端点),其中至少有一个 GPT 模型部署用于聊天完成。
下一步是配置您的本地环境变量,如下所示:
- 在根文件夹中查找一个
.env.copy
文件,里面应该有如下内容:
```bash # OpenAI 提供商 OPENAI_API_KEY='<在此添加您的 OpenAI API 密钥>'
## Azure OpenAI AZURE_OPENAI_API_VERSION='2024-02-01' # 默认已设置! AZURE_OPENAI_API_KEY='<在此添加您的 AOAI 密钥>' AZURE_OPENAI_ENDPOINT='<在此添加您的 AOIA 服务端点>' AZURE_OPENAI_DEPLOYMENT='<在此添加您的聊天完成模型名称>' AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='<在此添加您的嵌入模型名称>'
## Hugging Face HUGGING_FACE_API_KEY='<在此添加您的 HuggingFace API 或令牌>' ```
- 使用下面的命令将该文件复制到
.env
。这个文件被 gitignore 了,确保秘密信息安全。
bash
cp .env.copy .env
- 按照下一节中的描述填写这些值(替换
=
右侧的占位符)。
4.(可选)如果您使用 GitHub Codespaces,您可以将环境变量保存为与此存储库相关的 Codespaces secret。在这种情况下,您不需要设置本地 .env 文件。但是,请注意,此选项仅在您使用 GitHub Codespaces 时有效。 如果您使用 Docker Desktop,则仍需设置 .env 文件。
2.2 填写 .env
文件
让我们快速了解变量名称,以理解它们代表的含义:
变量 | 描述 |
---|---|
HUGGING_FACE_API_KEY | 这是您在个人资料中设置的用户访问令牌 |
OPENAI_API_KEY | 这是非 Azure OpenAI 端点使用该服务的授权密钥 |
AZURE_OPENAI_API_KEY | 这是使用该服务的授权密钥 |
AZURE_OPENAI_ENDPOINT | 这是 Azure OpenAI 资源的部署端点 |
AZURE_OPENAI_DEPLOYMENT | 这是 文本生成 模型部署端点 |
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT | 这是 文本嵌入 模型部署端点 |
注意:最后两个 Azure OpenAI 变量分别表示聊天完成(文本生成)和向量搜索(嵌入)的默认模型。设置它们的说明将在相关任务中定义。
2.3 在 Azure 门户中配置 Azure
Azure OpenAI 端点和密钥值将会在 Azure 门户 中找到,让我们从这里开始。
- 访问 Azure 门户
- 点击侧边栏(左侧菜单)中的 密钥和端点 选项。
- 点击 显示密钥 - 您应该会看到以下内容:KEY 1、KEY 2 和端点。
- 使用 KEY 1 的值填入 AZURE_OPENAI_API_KEY
- 使用端点的值填入 AZURE_OPENAI_ENDPOINT
接下来,我们需要特定模型的端点。
- 点击 Azure OpenAI 资源的侧边栏(左侧菜单)中的 模型部署 选项。
- 在目标页面,点击 管理部署
这将把您带到 Azure OpenAI Studio 网站,我们将在下面描述的步骤中找到其他值。
2.4 在 Studio 中配置 Azure
- 按上述描述从您的资源导航到 Azure OpenAI Studio。
- 点击侧边栏(左侧)的 部署 标签以查看当前部署的模型。
- 如果没有部署所需模型,请使用 创建新部署 进行部署。
- 您将需要一个 文本生成 模型 - 我们推荐:gpt-35-turbo
- 您将需要一个 文本嵌入 模型 - 我们推荐:text-embedding-ada-002
现在更新环境变量以反映使用的 部署名称。这通常与模型名称相同,除非您明确更改它。因此,例如,您可能有:
AZURE_OPENAI_DEPLOYMENT='gpt-35-turbo'
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='text-embedding-ada-002'
完成后不要忘记保存 .env 文件。您现在可以退出文件并返回到 notebook 的运行指示。
2.5 从个人资料中配置 OpenAI
您的 OpenAI API 密钥可以在您的 OpenAI 账户 中找到。如果没有,您可以注册一个账户并创建 API 密钥。一旦有了密钥,您可以在 .env
文件中填写 OPENAI_API_KEY
变量。
2.6 从个人资料中配置 Hugging Face
您的 Hugging Face 令牌可以在个人资料中的 访问令牌 下找到。不要公开发布或分享这些令牌。相反,为此项目使用创建一个新令牌,并将其复制到 .env
文件中的 HUGGING_FACE_API_KEY
变量下。注意: 这实际上不是 API 密钥,但用于认证,因此为了统一,我们保留了这个命名约定。