通过 JavaScript 中的助手和函数调用开始使用 Azure OpenAI
本文介绍如何部署和运行无服务器 Azure OpenAI 助手快速入门。 此示例使用 JavaScript、具有函数调用的 Azure OpenAI 服务助手和 Azure Functions 实现助手应用。
体系结构概述
借助 Azure OpenAI 助手,可以通过自定义说明创建根据需求定制的 AI 助手,并通过高级工具(如代码解释器和自定义函数)进行扩充。 在本文中,我们将深入演示助手 API 入门。
显示从客户端到后端应用的体系结构的
此应用程序围绕两个主要组件构建:
一个简单的 HTML 页面,包含一个普通的 CSS 和 JavaScript 文件,并托管在 Azure Static Web Apps 上。
使用 Azure Functions 并使用 OpenAI JavaScript SDK 生成的无服务器 API。 无服务器应用将助手定义(包括函数调用)发送到 OpenAI 终结点。 终结点会响应后续函数调用以及完成该调用所需的参数。
- 示例函数调用根据发送到 Azure 函数中的股票代码随机生成股票代码值,从而模拟 API 调用。 在您的解决方案中,此模拟可以替换为远程 API。
先决条件
提供了一个包含完成本文所需所有依赖项的 开发容器 环境。 可以在 GitHub Codespaces(在浏览器中)或使用 Visual Studio Code 在本地运行开发容器。
若要使用本文,需要满足以下先决条件:
开放开发环境
按照以下说明部署预配置开发环境,其中包含完成本文所需的所有依赖项。
GitHub Codespaces 运行由 GitHub 托管的开发容器,Visual Studio Code for web 作为用户界面。 对于最直接的开发环境,请使用 GitHub Codespaces,以便预先安装正确的开发人员工具和依赖项来完成本文。
重要
所有 GitHub 帐户每月最多可使用 Codespaces 60 小时,其中包含 2 个核心实例。 有关详细信息,请参阅 GitHub Codespaces 每月包含的存储和核心小时数。
开始在
Azure-Samples/azure-openai-assistant-javascript
GitHub 存储库的main
分支上创建新的 GitHub Codespace 的过程。右键单击以下按钮,然后选择在新窗口中打开链接,以便同时提供开发环境和文档。
在 “创建 codespace”页上,查看 codespace 配置设置,然后选择 创建新的 codespace
等待 Codespace 启动。 此启动过程可能需要几分钟时间。
在屏幕底部的终端中,使用 Azure 开发人员 CLI 登录到 Azure。
azd auth login
从终端复制代码,然后将其粘贴到浏览器中。 按照说明使用 Azure 帐户进行身份验证。
本文中的剩余任务发生在此开发容器的上下文中。
部署和运行
示例存储库包含将函数应用部署到 Azure 所需的所有代码和配置文件。 以下步骤将指导完成将示例部署到 Azure 的过程。
将助手应用部署到 Azure
重要
在本部分中创建的 Azure 资源会产生直接成本,主要来自 Azure AI 搜索资源。 即使在命令完全执行之前中断命令,这些资源也会产生费用。
运行以下 Azure 开发人员 CLI 命令来预配 Azure 资源并部署源代码:
azd up
当系统提示输入环境名称时,请将其保留为短写和小写。 例如,
myenv
。 它用作资源组名称的一部分。出现提示时,选择要在其中创建资源的订阅。
当系统提示你第一次选择位置时,请选择你附近的位置。 此位置用于大多数资源,包括托管。
如果系统提示你输入 OpenAI 模型的位置,请选择你附近的位置。 如果与第一个位置相同的位置可用,请选择该位置。
等待应用部署。 部署可能需要 5-10 分钟才能完成。
成功部署应用程序后,终端中会显示一个 URL。
选择标记为
Deploying service web
的 URL,在浏览器中打开助理应用程序。
使用助理应用
可以使用这款助理应用程序获取 MSFT
的股票市场价格。 以下步骤将引导你完成使用助理应用的过程。 助手可以在电子邮件中向你发送答案。 由于未配置电子邮件发送功能,请修改提示以不使用该指令。
在浏览器中,复制并粘贴以下提示:
Based on the latest financial data and current stock market trends, can you provide a detailed analysis of Microsoft's current state? Please include insights into their recent performance, market position, and future outlook. Additionally, retrieve and include the latest closing price of Microsoft's stock using its ticker symbol (MSFT).
选择“运行”按钮。 结果应类似于以下响应。
清理资源
清理 Azure 资源
本文中创建的 Azure 资源将计费给 Azure 订阅。 如果不希望将来需要这些资源,请将其删除,以避免产生更多费用。
运行以下 Azure 开发人员 CLI 命令以删除 Azure 资源并删除源代码:
azd down --purge
清理 GitHub Codespaces
删除 GitHub Codespaces 环境可确保可以最大程度地提高帐户获得的每核心免费小时数权利。
重要
有关 GitHub 帐户权利的详细信息,请参阅 GitHub Codespaces 每月包含的存储和核心小时数。
登录到 GitHub Codespaces 仪表板(https://github.com/codespaces)。
找到当前正在运行的、源自
Azure-Samples/azure-openai-assistant-javascript
GitHub 存储库的 Codespaces。打开代码空间的上下文菜单
...
,然后选择 删除。
获取帮助
此示例存储库提供故障排除信息。
如果未解决问题,请将问题记录到存储库的问题部分。