| page_type | 语言 | 产品 | urlfragment | 姓名 | 描述 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
样本 |
|
| Contoso-Creative撰写者 | 创意写作助理 - 使用及时的代理(Python实施)与代理合作 | 将Azure OpenAI代理与Python一起集成了Bing搜索API和Azure AI搜索,以根据用户主题和指令创建文章。 |
打开终端窗口。
登录到您的Azure帐户。您需要登录到Azure开发人员CLI和Azure CLI:
我。首先使用Azure开发人员CLI
azd auth loginii。然后用Azure CLI登录
az login --use-device-code提供资源并部署代码:
azd up将提示您选择有关已部署资源的一些详细信息,包括位置。作为提醒,我们建议加拿大东部作为该项目的地区。部署完成后,您应该能够在终端滚动并查看应用程序已部署到的URL。它看起来应该与此Ingress Updated. Access your app at https://env-name.codespacesname.eastus2.azurecontainerapps.io/ 。导航到链接,立即尝试该应用程序!
上述步骤完成后,您可以测试样品。
一个相关的选项是VS Code Dev容器,它将使用Dev容器扩展名中的本地VS代码中打开项目:
启动Docker Desktop(如果尚未安装的话,请安装它)
打开项目:
在打开的VS代码窗口中,一旦显示了项目文件(这可能需要几分钟),请打开一个终端窗口。
安装所需的软件包:
cd src/api
pip install -r requirements.txt完成这些步骤后,跳到部署。
注意Windows用户:如果您不使用容器来运行此示例,那么我们的挂钩目前都是Shell脚本。要在我们进行更新时正确提供此示例,建议使用git bash。
创建一个新文件夹并在终端中切换到它,然后运行此命令以下载项目代码:
azd init -t agent-openai-python-prompty请注意,此命令将初始化GIT存储库,因此您无需克隆此存储库。
安装所需的软件包:
cd src/api
pip install -r requirements.txt在代码空间,开发容器或本地打开项目后,您可以将其部署到Azure。
登录到您的Azure帐户。您需要登录到Azure开发人员CLI和Azure CLI:
我。首先使用Azure开发人员CLI
azd auth loginii。然后用Azure CLI登录
az login --use-device-code如果您对该命令有任何问题,则可能还需要尝试azd auth login --use-device-code 。
这将在.azure/您的项目中创建一个文件夹,以存储此部署的配置。如果需要,您可能会有多个AZD环境。
提供资源并部署代码:
azd up该项目使用gpt-35-turbo-0613 , gpt-4-1106-Preview和gpt-4o-2024-05-13 ,所有Azure地区都可能无法使用。检查最新的区域可用性,并在部署期间选择一个区域。我们建议将Canada East用于此项目。
运行AZD后,可能会在Github Setup中询问以下问题:
Do you want to configure a GitHub action to automatically deploy this repo to Azure when you push code changes ?
(Y/n) Y您应该用N做出响应,因为这不是必要的步骤,并且需要一些时间来设置。
该示例存储库包含一个代理文件夹,其中包括每个代理的子文件夹。每个代理文件夹都包含一个迅速文件,其中定义了代理的及时元件,以及一个带有用于运行它的代码的Python文件。探索这些文件将帮助您了解每个代理在做什么。该代理的文件夹还包含一个orchestrator.py文件,该文件可用于运行整个流程并创建文章。当您运行azd up时,将产品目录上传到Azure AI搜索矢量商店,并创建了索引名称contoso-products 。
测试样品:
使用FastAPI服务器本地运行示例Web应用程序。
首先导航到SRC/API文件夹
cd ./src/api运行FastApi Web服务器
fastapi dev main.py重要说明:如果您在代码空间中运行,则需要将API的8000和5173端口的可见性更改public在VS代码终端的PORTS卡中。端口选项卡应该看起来像这样:

如果您在浏览器中打开服务器链接,则会看到找不到URL错误,这是因为我们没有在FastAPI中创建Home URL路线。相反,我们创建了A /get_article路由,该路由用于将上下文和指令直接传递到运行代理工作流的get_article.py文件。
(可选)我们创建了一个Web界面,下一步将运行,但是您可以通过在浏览器中运行此操作来测试API的工作原理:
http://127.0.0.1:8080/get_article?context=Write an article about camping in alaska&instructions=find specifics about what type of gear they would need and explain in detail
FastAPI服务器运行后,您现在可以运行Web应用程序。为此,打开一个新的终端窗口,并使用此命令导航到Web文件夹:
cd ./src/web首先安装节点软件包:
npm install然后使用本地Dev Web服务器运行Web应用程序:
npm run dev这将启动该应用程序,您可以在其中使用示例上下文和说明开始。在“创意团队”页面上,您可以通过单击它来检查每个代理的输出。该应用应该看起来像这样:
更改指令和上下文以创建您选择的文章。
出于调试目的,您可能需要使用编排逻辑在Python中进行测试
仅使用编目逻辑运行示例,请使用以下命令:
cd ./src/api
python -m orchestrator
激活及时的跟踪服务器:
export LOCAL_TRACING=true
然后启动编排:
cd ./src/api
python -m orchestrator
一旦您看到了文章,就应出现一个.runs文件./src/api 。选择此文件夹,然后单击其中的.tracy文件。这向您展示了为生成文章而被调用的所有Python函数。探索每个部分,看看您可以找到哪些有用的信息。
Contoso Creative Writer使用评估者评估应用程序响应质量。该项目评估中评估者的4个指标是连贯,流利,相关性和扎根。已经编写了一个自定义evaluate.py脚本,以便为您运行所有的evaulation。
cd ./src/api
python -m evaluate.evaluatesrc/api/evaluate/eval_inputs.jsonl文件。将此模板设置为以运行CI/CD时,将其推入存储库。配置CI/CD时,将在GitHub操作中进行评估,然后在推送到MAIN时自动部署您的应用程序。
要在存储库上使用GITHUB操作设置CI/CD,请运行以下命令:
azd pipeline config该模板使用gpt-35-turbo-0613 , gpt-4-1106-Preview和gpt-4o-2024-05-13 ,所有Azure地区都可能无法使用。检查最新区域可用性,并在部署期间选择一个区域
您可以使用Azure的定价计算器估算该项目架构的成本
笔记
实现此模板时,请指定模板是使用托管身份还是键值
该模板具有托管身份或密钥保险库,以消除开发人员管理这些凭据的需求。应用程序可以使用托管身份来获取Microsoft Entra代币,而无需管理任何凭据。此外,我们添加了一个GitHub操作工具,该工具可以扫描基础架构-AS代码文件,并生成包含任何检测到的问题的报告。为了确保存储库中的最佳实践,我们建议任何基于模板创建解决方案的人确保在存储库中启用GitHub秘密扫描设置。
该项目采用了Microsoft开源的行为代码。
资源:
有关更多信息,请参见《行为守则常见问题守则》或与其他问题或评论联系[email protected]。
该项目遵循以下负责的AI指南和最佳实践,请在使用此项目之前对其进行审查: