快速入门:开始使用 IntelliJ 中的 Azure OpenAI 服务使用 GPT-35-Turbo 和 GPT-4
本文介绍如何开始使用 IntelliJ IDEA 中的 Azure OpenAI 服务。 它演示如何使用聊天模型(如 GPT-3.5-Turbo 和 GPT-4)来测试和试验不同的参数和数据源。
先决条件
一个受支持的 Java 开发工具包 (JDK)。 有关在 Azure 上进行开发时可供使用的 JDK 的详细信息,请参阅 Azure 和 Azure Stack 上的 Java 支持。
IntelliJ IDEA、Ultimate 或 Community Edition。
用于 IntelliJ 的 Azure 工具包。 有关详细信息,请参阅安装用于 IntelliJ 的 Azure 工具包。 还需要登录到用于 IntelliJ 的 Azure 工具包的 Azure 帐户。 有关详细信息,请参阅 用于 IntelliJ 的 Azure 工具包的登录说明。
Azure 订阅 - 免费创建订阅。
已在所需的 Azure 订阅中授予对 Azure OpenAI 的访问权限。
目前,仅应用程序授予对此服务的访问权限。 可以通过在请求访问 Azure OpenAI 服务时填写表单来申请对 Azure OpenAI 的访问权限。
部署了
gpt-35-turbo
或gpt-4
模型的 Azure OpenAI 服务资源。 有关模型部署的详细信息,请参阅创建和部署 Azure OpenAI 服务资源。
安装和登录
以下步骤将引导你完成 IntelliJ 开发环境中的 Azure 登录过程:
如果没有安装插件,请参阅 用于 IntelliJ 的 Azure 工具包。
若要登录到 Azure 帐户,请导航到左侧 的 Azure 资源管理器 边栏,然后选择 “Azure 登录 ”图标。 或者,可以导航到 “工具”,展开 Azure,然后选择“ Azure 登录”。
在 “Azure 登录 ”窗口中,选择 “OAuth 2.0”,然后选择“ 登录”。 有关其他登录选项,请参阅 Azure Toolkit for IntelliJ 的登录说明。
在浏览器中,使用有权访问 OpenAI 资源的帐户登录,然后返回到 IntelliJ。 在 “选择订阅 ”对话框中,选择要使用的订阅,然后选择“ 选择”。
创建和部署 Azure OpenAI 服务资源
登录工作流后,右键单击 Azure 资源管理器中的 Azure OpenAI 项,然后选择“ 创建 Azure OpenAI 服务”。
在 “创建 Azure OpenAI 服务 ”对话框中,指定以下信息,然后选择“ 确定” :
- 名称:Azure OpenAI 服务资源的描述性名称,例如 MyOpenAIResource。 此名称也是终结点中的自定义域名。 资源名称只能包含字母数字字符和连字符,不能以连字符开头或结尾。
- 区域:实例的位置。 某些模型仅在特定区域中可用。 有关更多信息,请参阅 Azure OpenAI 服务模型。
- Sku:标准 Azure OpenAI 资源根据令牌使用情况计费。 有关详细信息,请参阅 Azure OpenAI 服务定价。
在使用聊天完成之前,需要部署模型。 右键单击 Azure OpenAI 实例,然后选择“ 创建新部署”。 在弹出的 “创建 Azure OpenAI 部署 ”对话框中,指定以下信息,然后选择“ 确定” :
- 部署名称:请仔细选择名称。 部署名称在代码中使用,通过使用客户端库和 REST API 调用模型。
- 模型:选择模型。 模型可用性因区域而异。 有关每个区域的可用模型的列表,请参阅 Azure OpenAI 服务模型的“模型摘要”表和区域可用性部分。
部署完成后,工具包会显示状态消息,并可供使用。
使用提示和设置与 Azure OpenAI 交互
右键单击 Azure OpenAI 资源,然后选择“ 在 AI 操场中打开”。
可以通过 IntelliJ IDEA 中的 Azure OpenAI Studio Chat 操场开始探索 OpenAI 功能。
若要触发完成,可以输入一些文本作为提示。 该模型会生成补全内容并尝试匹配上下文或模式。
若要启动聊天会话,请执行以下步骤:
在聊天会话窗格中,你可以从如下所示的简单提示开始:“我有兴趣购买新的 Surface。键入提示后,选择“ 发送”。 收到类似于以下示例的响应:
Great! Which Surface model are you interested in? There are several options available such as the Surface Pro, Surface Laptop, Surface Book, Surface Go, and Surface Studio. Each one has its own unique features and specifications, so it's important to choose the one that best fits your needs.
输入后续问题,例如:“哪些模型支持 GPU?”,然后选择“ 发送”。 收到类似于以下示例的响应:
Most Surface models come with an integrated GPU (Graphics Processing Unit), which is sufficient for basic graphics tasks such as video playback and casual gaming. However, if you're looking for more powerful graphics performance, the Surface Book 3 and the Surface Studio 2 come with dedicated GPUs. The Surface Book 3 has an NVIDIA GeForce GTX GPU, while the Surface Studio 2 has an NVIDIA GeForce GTX 1060 or 1070 GPU, depending on the configuration.
现在,你已拥有基本对话,请从窗格中选择“ 查看代码 ”,到目前为止,你已重播整个对话背后的代码。 可以根据与聊天会话和设置对应的 Java SDK、curl 和 JSON 查看代码示例,如以下屏幕截图所示:
然后,可以选择“复制”以采用此代码并编写应用程序,以完成当前在操场上执行的相同任务。
设置
可以选择“ 配置 ”选项卡来设置以下参数:
名称 | 描述 |
---|---|
最长响应时间 | 设置每个模型响应的令牌数限制。 该 API 支持最多 4096 个标记,包括提示(包括系统消息、示例、消息历史记录以及用户查询)和模型的回复。 对于典型的英文文本,一个标记大约是四个字符。 |
温度 | 控制随机性。 降低温度意味着模型会产生更多重复性和确定性的回复。 提高温度会导致更多意外或创造性的回复。 尝试调整温度或最高概率,但不能同时调整两者。 |
概率最高值 | 与温度类似,控制随机性,但使用不同的方法。 降低 Top 概率值会将模型的标记选择范围缩小到更像的标记。 增加值后,模型可以从具有高可能性和低可能性的令牌中进行选择。 尝试调整温度或最高概率,但不能同时调整两者。 |
停止序列 | 使模型在所需点结束其响应。 模型响应在指定序列之前结束,因此它不包含停止序列文本。 对于 GPT-35-Turbo,使用 <|im_end|> 可确保模型响应不会生成后续用户查询。 可以包含多达四个停止序列。 |
频率损失 | 根据令牌在到目前为止文本中显示的频率,减少按比例重复令牌的机会。 此操作减少了在响应中重复完全相同文本的可能性。 |
出现惩罚 | 减少重复到目前为止文本中显示的任何令牌的机会。 这会增加在响应中引入新主题的可能性。 |
清理资源
测试完聊天操场后,如果要清理和删除 OpenAI 资源,可以删除资源或资源组。 删除资源组同时也会删除与之相关联的任何其他资源。 使用以下步骤清理资源:
若要删除 Azure OpenAI 资源,请导航到左侧 的 Azure 资源管理器 边栏并找到 Azure OpenAI 项。
右键单击要删除的 Azure OpenAI 服务,然后选择“ 删除”。
若要删除资源组,请访问Azure 门户并手动删除订阅下的资源。
后续步骤
有关详细信息,请参阅 了解如何使用 GPT-35-Turbo 和 GPT-4 模型。
有关更多示例,检查 Azure OpenAI 示例 GitHub 存储库。