开放模型 LLM#

介绍#

开放模型 LLM 工具能够利用各种开放模型和基础模型,例如 FalconLlama 2,在 Azure ML 提示流中进行自然语言处理。

以下是它在 Visual Studio Code 提示流扩展中运行时的样子。在此示例中,该工具用于调用 LlaMa-2 聊天终结点并询问“CI 是什么?”。

Screenshot of the Open Model LLM On VScode Prompt Flow extension

此提示流工具支持两种不同的 LLM API 类型

  • 聊天:如上例所示。聊天 API 类型有助于使用基于文本的输入和响应进行交互式对话。

  • 补全:补全 API 类型用于根据提供的提示输入生成单个响应文本补全。

快速概述:如何使用开放模型 LLM 工具?#

  1. 从 AzureML 模型目录中选择一个模型并进行部署。

  2. 连接到模型部署。

  3. 配置开放模型 LLM 工具设置。

  4. 根据指导准备提示。

  5. 运行流程。

先决条件:模型部署#

  1. Azure 机器学习模型目录中选择适合您场景的模型。

  2. 使用“部署”按钮将模型部署到 AzureML 联机推理终结点。2.1. 使用按量付费部署选项之一。

更详细的说明可以在这里找到 将基础模型部署到终结点进行推理。

先决条件:连接到模型#

为了让提示流使用您部署的模型,您需要连接到它。有几种连接方式。

1. 终结点连接#

一旦关联到 AzureML 或 Azure AI Studio 工作区,开放模型 LLM 工具就可以使用该工作区上的终结点。

  1. 使用 AzureML 或 Azure AI Studio 工作区:如果您在基于网页的浏览器工作区中使用提示流,则该工作区上可用的联机终结点将自动显示。

  2. 使用 VScode 或 Code First:如果您在 VScode 或 Code First 产品之一中使用提示流,您将需要连接到工作区。开放模型 LLM 工具使用 azure.identity DefaultAzureCredential 客户端进行授权。一种方法是通过 设置环境变量凭据值

2. 自定义连接#

开放模型 LLM 工具使用 CustomConnection。提示流支持两种类型的连接

  1. 工作区连接 - 这些是存储在 Azure 机器学习工作区上作为机密的连接。虽然这些可以在许多地方使用,但它们通常在 Studio UI 中创建和维护。

  2. 本地连接 - 这些是存储在您机器本地的连接。这些连接在 Studio UX 中不可用,但可以与 VScode 扩展一起使用。

有关如何创建工作区或本地自定义连接的说明可以在此处找到。

需要设置的键是

  1. endpoint_url

    • 此值可以在之前创建的推理终结点中找到。

  2. endpoint_api_key

    • 确保将其设置为机密值。

    • 此值可以在之前创建的推理终结点中找到。

  3. model_family

    • 支持的值:LLAMA、DOLLY、GPT2 或 FALCON

    • 此值取决于您定位的部署类型。

运行工具:输入#

开放模型 LLM 工具有许多参数,其中一些是必需的。请参阅下表了解详细信息,您可以将其与上面的屏幕截图匹配以获得视觉清晰度。

名称

类型

描述

必填

api

字符串

这是 API 模式,将取决于使用的模型和选择的场景。支持的值:(Completion | Chat)

endpoint_name

字符串

部署了受支持模型的联机推理终结点的名称。优先于连接。

No

temperature

float

生成文本的随机性。默认为 1。

No

max_new_tokens

整数

在补全中生成的最大令牌数。默认为 500。

No

top_p

float

使用生成令牌中首选的概率。默认为 1。

No

model_kwargs

字典

此输入用于提供特定于所用模型的配置。例如,Llama-02 模型可能使用 {“temperature”:0.4}。默认值:{}

No

deployment_name

字符串

要在联机推理终结点上定位的部署名称。如果未传递值,将使用推理负载均衡器流量设置。

No

提示

字符串

语言模型将用于生成其响应的文本提示。

输出#

API

返回类型

描述

补全

字符串

一个预测补全的文本

聊天

字符串

对话中一个响应的文本

部署到联机终结点#

将包含开放模型 LLM 工具的流程部署到联机终结点时,需要额外一个步骤来设置权限。通过网页部署时,可以选择系统分配和用户分配的身份类型。无论哪种方式,使用 Azure 门户(或类似功能),将“读取者”作业职能角色添加到托管终结点的 Azure 机器学习工作区或 Ai Studio 项目中的身份。提示流部署可能需要刷新。