快速入门:在 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 版。

  • 用于 IntelliJ 的 Azure 工具包。 有关详细信息,请参阅 安装用于 IntelliJ 的 Azure 工具包。 还需要登录 Azure 帐户以使用 IntelliJ 的 Azure 工具包。 有关详细信息,请参阅 Azure Toolkit for IntelliJ的 登录说明。

  • Azure 订阅 - 免费创建一个订阅

  • 在所需的 Azure 订阅中授予对 Azure OpenAI 的访问权限。

    目前,仅应用程序授予对此服务的访问权限。 可以通过在 请求访问 Azure OpenAI 服务时填写表单来申请对 Azure OpenAI 的访问权限。

  • 部署了 gpt-35-turbogpt-4 模型的 Azure OpenAI 服务资源。 有关模型部署的详细信息,请参阅 创建和部署 Azure OpenAI 服务资源

安装和登录

以下步骤将引导你完成 IntelliJ 开发环境中的 Azure 登录过程:

  1. 如果没有安装插件,请参阅 用于 IntelliJ 的 Azure 工具包

  2. 若要登录到 Azure 帐户,请导航到左侧 Azure 资源管理器 边栏,然后选择 Azure 登录 图标。 或者,可以导航到 工具,展开 Azure,然后选择 Azure 登录

    IntelliJ IDEA 的屏幕截图,其中突出显示了“Azure 登录”按钮。

  3. Azure 登录 窗口中,选择 OAuth 2.0,然后选择 登录。 有关其他登录选项,请参阅 Azure Toolkit for IntelliJ的登录说明。

  4. 在浏览器中,使用有权访问 OpenAI 资源的帐户登录,然后返回到 IntelliJ。 在选择订阅对话框中,选择要使用的订阅,然后选择选择

创建和部署 Azure OpenAI 服务资源

  1. 登录工作流后,右键单击 Azure 资源管理器中的 Azure OpenAI 项,然后选择 创建 Azure OpenAI 服务

  2. “创建 Azure OpenAI 服务”对话框中,指定以下信息,然后选择“确定”

    • 名称:Azure OpenAI 服务资源的描述性名称,例如 MyOpenAIResource。 此名称也是终端中的自定义域名。 资源名称只能包含字母数字字符和连字符,不能以连字符开头或结尾。
    • 区域:实例的位置。 某些模型仅在特定区域中可用。 有关详细信息,请参阅 Azure OpenAI 服务模型
    • Sku:标准 Azure OpenAI 资源根据令牌使用情况计费。 有关详细信息,请参阅 Azure OpenAI 服务定价
  3. 在使用聊天完成之前,需要部署模型。 右键单击 Azure OpenAI 实例,然后选择 创建新部署。 在弹出 创建 Azure OpenAI 部署 对话框中,指定以下信息,然后选择 确定

    • 部署名称:仔细选择名称。 部署名称用于在代码中通过这些客户端库和 REST API 来调用模型。
    • 模型:选择模型。 模型可用性因区域而异。 有关每个区域的可用模型列表,请参阅 Azure OpenAI 服务模型模型摘要表和区域可用性部分。

部署完成后,工具包会显示状态消息,并可供使用。

使用提示和设置与 Azure OpenAI 交互

  1. 右键单击 Azure OpenAI 资源,然后选择在 AI 操场中打开

  2. 可以通过 IntelliJ IDEA 中的 Azure OpenAI Studio Chat 操场开始探索 OpenAI 功能。

    IntelliJ IDEA 的屏幕截图,显示了聊天操场概述窗口。

若要触发完成,可以输入一些文本作为提示。 该模型会生成补全内容并尝试匹配上下文或模式。

若要启动聊天会话,请执行以下步骤:

  1. 在聊天会话窗格中,你可以从如下所示的简单提示开始:“我有兴趣购买新的 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.
    

    IntelliJ IDEA 的屏幕截图,其中显示了包含第一个问题和答案的操场窗口。

  2. 输入后续问题,例如:“哪些模型支持 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.
    

    IntelliJ IDEA 的屏幕截图,其中显示了具有第一个和第二个问题和答案的操场窗口。

  3. 现在,你有了一个基本对话,请选择面板中的查看代码,你将重播到目前为止整个对话背后的代码。 可以根据与聊天会话和设置对应的 Java SDK、curl 和 JSON 查看代码示例,如以下屏幕截图所示:

    显示“示例代码”窗口的 IntelliJ IDEA 的屏幕截图。

  4. 然后,可以选择 复制 来获取此代码并编写应用程序,以完成当前在操场上执行的相同任务。

设置

可以选择 配置 选项卡来设置以下参数:

名字 描述
最大响应数 对每个模型回复的标记数设置限制。 API 最多支持在提示(包括系统消息、示例、消息历史记录和用户查询)和模型响应之间共享的 4096 个令牌。 一个标记大约是典型的英语文本的四个字符。
温度 控制随机性。 降低温度意味着模型产生更重复和确定性的响应。 增加温度会导致更多的意外或创造性的反应。 请尝试调整温度或概率最高值,但不要同时调整两者。
最高概率 与温度类似,控制随机性,但使用不同的方法。 降低 Top 概率值会将模型的标记选择范围缩小到更像的标记。 增加值后,模型可以从具有高可能性和低可能性的令牌中进行选择。 尝试调整温度或概率上限,但不能同时调整两者。
停止序列 使模型在所需点结束其响应。 模型响应在指定序列之前结束,因此它不包含停止序列文本。 对于 GPT-35-Turbo,使用 <|im_end|> 可确保模型响应不会生成后续用户查询。 可以包含多达四个停止序列。
频率损失 根据令牌到目前为止在文本中出现的频率,按比例降低其重复的可能性。 此操作减少了在响应中重复完全相同文本的可能性。
出现惩罚 减少文本中任一令牌迄今为止重复出现的可能性。 这会增加在响应中引入新主题的可能性。

清理资源

测试完聊天操场后,如果要清理和删除 OpenAI 资源,可以删除资源或资源组。 删除资源组也会删除与之关联的任何其他资源。 使用以下步骤清理资源:

  1. 若要删除 Azure OpenAI 资源,请导航到左侧 Azure 资源管理器 边栏,找到 Azure OpenAI 项。

  2. 右键单击要删除的 Azure OpenAI 服务,然后选择 删除

  3. 若要删除资源组,请访问 Azure 门户 并手动删除订阅下的资源。

后续步骤

有关详细信息,请参阅了解如何使用 GPT-35-Turbo 和 GPT-4 模型

有关更多示例,请查看 Azure OpenAI 示例 GitHub 存储库