生成自定义引擎代理
本教程介绍如何使用 Teams 工具包通过 Teams AI 库创建自定义引擎代理,以在 Azure OpenAI 上与数据聊天。 Teams AI 库使用 AI 组件和大型语言模型来简化构建智能 Teams 应用的过程, (所选的 LLM) 。
在本教程中,你将了解:
- 如何在 Azure OpenAI 上设置数据。
- 如何使用 Teams 工具包创建新的自定义引擎代理。
- 如何与 LLM 和数据交互。
- 自定义引擎代理的目录结构。
先决条件
确保安装以下工具来生成和部署应用:
安装 | 用于使用... | |
---|---|---|
Teams 工具包 | 一个Microsoft Visual Studio Code扩展,用于为应用创建项目基架。 使用最新版本。 | |
Node.js 和 NPM | 后端 JavaScript 运行时环境。 有关详细信息,请参阅 项目类型的Node.js 版本兼容性表。 | |
Microsoft Edge(推荐)或 Google Chrome | 包含开发人员工具的浏览器。 | |
Visual Studio Code | JavaScript、TypeScript 或 SharePoint 框架 (SPFx) 生成环境。 使用最新版本。 | |
Azure OpenAI | OpenAI 的 GPT。 确保首先创建 OpenAI API 密钥。 若要在 Azure 中托管应用或访问资源,必须创建 Azure OpenAI 服务。 |
在 Azure OpenAI 上设置数据
转到Azure 门户。
选择创建的 Azure OpenAI 服务。
选择“ 转到 Azure OpenAI Studio”。
选择“ 聊天>创建新部署”。
更新以下字段的值:
- 选择模型:gpt-35-turbo
- 模型版本:自动更新为默认值
- 部署类型:Standard
- 部署名称:gpt-35-turbo
- 内容筛选器:默认值
选择“创建”。
选择“ 聊天>”“添加数据源”。
在下拉列表中,选择“ 上传文件 (预览) 。
选择“ 创建新的 Azure Blob 存储资源 ”,并按照屏幕上的说明进行操作。
选择“ 创建新的 Azure AI 搜索资源 ”,并按照屏幕上的说明进行操作。
从下拉列表中选择新创建的 Azure Blob 存储和 Azure AI 搜索。
注意
保存 Azure AI 搜索终结点 和 密钥 详细信息,因为后续步骤需要这些详细信息。
输入唯一 的索引名称 ,然后选择“ 下一步”。
选择“ 浏览文件 ”并上传你希望用作数据的文件,然后选择“ 上传文件”。
注意
文件必须采用
.txt
、、.md
、.html
.pdf
、.docx
或.pptx
格式,大小限制为 16 MB。选择“ 数据管理 设置”作为默认值,然后选择“ 下一步”。
选择“ 保存并关闭”。
数据引入过程完成后,可以使用 Teams AI 库和 Teams 工具包开始创建自定义引擎代理。
创建自定义引擎代理
转到Visual Studio Code。
选择“Visual Studio Code活动栏中的 Teams 工具包”图标。
选择“ 创建新应用”。
选择“ 自定义引擎代理”。
选择“ 基本 AI 聊天机器人”。
选择 JavaScript 作为编程语言。
选择“ Azure OpenAI”。
输入Azure 门户中的值:
Azure OpenAI 密钥
Azure OpenAI 终结点
部署名称
或者,可以在创建自定义引擎代理后稍后在
env/.env.testtool.user
文件中填写这些详细信息。选择包含项目的根文件夹的文件夹,并为自定义引擎代理输入合适的名称。
选择“Enter”。 自定义引擎代理在几秒钟内创建。
浏览源代码
查看此自定义引擎代理 > 基本 AI 聊天机器人模板中的内容。
文件夹名 | 目录 |
---|---|
.vscode |
用于调试的 VS Code 文件。 |
appPackage |
Teams 应用程序清单的模板。 |
env |
名称或值对存储在环境文件中,teamsapp.yml用于自定义预配和部署规则。 |
infra |
用于预配 Azure 资源的模板。 |
src/ |
通知 Teams 应用程序的源代码。 |
src/index.js |
设置机器人应用服务器。 |
src/adapter.js |
设置机器人适配器。 |
src/config.js |
定义环境变量。 |
src/prompts/chat/skprompt.txt |
定义提示。 |
src/prompts/chat/config.json |
配置提示。 |
src/app/app.js |
处理基本 AI 聊天机器人的业务逻辑。 |
teamsapp.yml |
主项目文件描述应用程序配置,并定义要在每个生命周期阶段运行的操作集。 |
teamsapp.local.yml |
此替代 teamsapp.yml 操作可启用本地执行和调试。 |
teamsapp.testtool.yml |
此替代 teamsapp.yml 操作可在 Teams 应用测试工具中启用本地执行和调试。 |
配置自定义引擎代理
让我们自定义自定义引擎代理的提示。
转到
src/prompts/chat/skprompt.txt
并更新 文件中的以下代码skprompt.txt
:The following is a conversation with an AI assistant, who is an expert on answering questions over the given context. Responses should be in a short journalistic style with no more than 80 words.
转到 下
config.json
prompts/chat
的文件。 在括号内completion
添加以下代码,并将endpoint
、index_name
和key
值替换为 Azure AI 搜索资源详细信息:"data_sources": [ { "type": "azure_search", "parameters": { "endpoint": "AZURE-AI-SEARCH-ENDPOINT", "index_name": "YOUR-INDEX_NAME", "authentication": { "type": "api_key", "key": "AZURE-AI-SEARCH-KEY" } } } ]
转到
src/app/app.js
文件,并在 中添加OpenAIModel
以下变量:azureApiVersion: '2024-02-15-preview'
在左窗格中,选择“ 运行和调试” (Ctrl+Shift+D) 。
在“测试工具”中选择“调试” (“预览”) 。
选择 F5 键。
自定义引擎代理在浏览器中打开的 Teams 应用测试工具中运行。
完成挑战
在 Teams 应用测试工具中,提出与文档相关的问题,并与自定义引擎代理聊天,了解有关数据的详细信息。
恭喜!
恭喜,你已完成本教程! 如果有兴趣了解有关源代码的详细信息,请访问 Teams AI 库 GitHub 存储库上的 Azure OpenAI 示例。
你有关于此部分的问题? 如果有,请向我们提供反馈,以便我们对此部分作出改进。