设置开发环境 我们为这个仓库和课程设置了一个开发容器,该容器包含一个通用的运行时,可以支持Python3、.NET、Node.js和Java开发。相关配置定义在位于此仓库根目录下的 文件中。 要激活开发容器,可以在Github Codespaces(用于云托管运行时)或Docker Desktop(用于本地设备托管运行时)中启动它。阅读此文档以了解开发容器如何在VS Code中工作。 [!TIP] 我们建议使用Github Codespaces进行快速启动,几乎无需任何努力。它为个人账户提供了慷慨的免费使用配额。设置超时以停止或删除非活动的代码空间,以最大化您的配额使用。 执行任务 每节课将提供一些可选的任务,这些任务可能使用一种或多种编程语言,包括:Python、.
我们为这个仓库和课程设置了一个开发容器,该容器包含一个通用的运行时,可以支持Python3、.NET、Node.js和Java开发。相关配置定义在位于此仓库根目录下的devcontainer.json文件中。
要激活开发容器,可以在Github Codespaces(用于云托管运行时)或Docker Desktop(用于本地设备托管运行时)中启动它。阅读此文档以了解开发容器如何在VS Code中工作。
[!TIP]
我们建议使用Github Codespaces进行快速启动,几乎无需任何努力。它为个人账户提供了慷慨的免费使用配额。设置超时以停止或删除非活动的代码空间,以最大化您的配额使用。
每节课将提供一些可选的任务,这些任务可能使用一种或多种编程语言,包括:Python、.NET/C#、Java 和 JavaScript/TypeScript。本节提供关于如何执行这些任务的一般指导。
Python 任务要么作为应用程序(.py 文件),要么作为 Jupyter 笔记本(.ipynb 文件)提供。
任务可能会通过像 OpenAI、Azure 或 Hugging Face 这样的服务提供商与一个或多个大型语言模型(LLM)部署一起使用。这些提供了一个可以通过正确的凭据(API 密钥或令牌)进行编程访问的 托管端点(API)。在这门课中,我们将讨论这些提供商:
您需要为自己创建的练习使用自己的账户。任务是可选的,因此您可以根据兴趣选择设置其中一个、全部或不设置任何提供商。一些注册指南:
| 注册 | 成本 | API 密钥 | 试用平台 | 备注 |
|---|---|---|---|---|
| OpenAI | 定价 | 项目基础 | 无代码,网页 | 多个模型可用 |
| Azure | 定价 | SDK 快速入门 | 工作室快速入门 | 需提前申请访问权限 |
| Hugging Face | 定价 | 访问令牌 | Hugging Chat | Hugging Chat 有有限的模型 |
按照下面的步骤来配置此仓库,以便使用不同的提供商。要求特定提供商的任务将在其文件名中包含以下标记之一:
aoai - 需要 Azure OpenAI 端点和密钥oai - 需要 OpenAI 端点和密钥hf - 需要 Hugging Face 令牌您可以配置一个、多个或不配置任何提供商。相关的任务会因为缺少凭据而简单地报错。
.env 文件我们假设您已经阅读了上面的指导,并且已注册了相关的提供商,并获得了所需的认证凭据(API 密钥或令牌)。对于 Azure OpenAI,我们假设您也有一个有效的 Azure OpenAI 服务(端点)部署,其中至少有一个 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-d 的,以保护秘密。
cp .env.copy .env
根据下一节描述填写值(替换右侧的占位符)。
(可选)如果您使用 Github Codespaces,您可以选择将环境变量保存为与此仓库关联的 Codespaces 秘密。在这种情况下,您不需要设置本地 .env 文件。但是请注意,此选项仅适用于使用 Github Codespaces 的情况。如果您使用 Docker Desktop,则仍需要设置 .env 文件。
.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 变量反映了默认用于聊天完成(文本生成)和向量搜索(嵌入)的模型。设置它们的说明将在相关任务中定义。
Azure OpenAI 端点和密钥值可以在 Azure 门户中找到,所以让我们从这里开始。
接下来,我们需要特定模型的端点。
这将带您到 Azure OpenAI 工作室网站,在那里我们将找到其他值,如下面所述。
现在更新环境变量以反映使用的 部署名称。这通常与模型名称相同,除非您明确更改了它。例如,您可能会有:
AZURE_OPENAI_DEPLOYMENT='gpt-35-turbo' AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='text-embedding-ada-002'
完成时别忘了保存 .env 文件。现在您可以退出文件并返回到运行笔记本的说明。
您的 OpenAI API 密钥可以在您的 OpenAI 账户中找到。如果没有,请注册一个帐户并创建一个 API 密钥。一旦有了密钥,就可以将其用于填充 .env 文件中的 OPENAI_API_KEY 变量。
您的 Hugging Face 令牌可以在您的个人资料下的 访问令牌 中找到。不要公开发布或分享这些令牌。相反,为该项目创建一个新的令牌,并将其复制到 .env 文件中的 HUGGING_FACE_API_KEY 变量下。注意:这实际上不是 API 密钥,但用于身份验证,所以我们保持这种命名约定以保持一致性。
声明:
本文件灏天文库团队进行了翻译。尽管我们力求准确,但请注意,翻译可能包含错误或不准确之处。原文档以其原始语言为准。我们不对因使用此翻译而产生的任何误解或误译负责。