开放模型 LLM#
介绍#
开放模型 LLM 工具能够利用各种开放模型和基础模型,例如 Falcon 和 Llama 2,在 Azure ML 提示流中进行自然语言处理。
以下是它在 Visual Studio Code 提示流扩展中运行时的样子。在此示例中,该工具用于调用 LlaMa-2 聊天终结点并询问“CI 是什么?”。
此提示流工具支持两种不同的 LLM API 类型
聊天:如上例所示。聊天 API 类型有助于使用基于文本的输入和响应进行交互式对话。
补全:补全 API 类型用于根据提供的提示输入生成单个响应文本补全。
快速概述:如何使用开放模型 LLM 工具?#
从 AzureML 模型目录中选择一个模型并进行部署。
连接到模型部署。
配置开放模型 LLM 工具设置。
根据指导准备提示。
运行流程。
先决条件:模型部署#
从 Azure 机器学习模型目录中选择适合您场景的模型。
使用“部署”按钮将模型部署到 AzureML 联机推理终结点。2.1. 使用按量付费部署选项之一。
更详细的说明可以在这里找到 将基础模型部署到终结点进行推理。
先决条件:连接到模型#
为了让提示流使用您部署的模型,您需要连接到它。有几种连接方式。
1. 终结点连接#
一旦关联到 AzureML 或 Azure AI Studio 工作区,开放模型 LLM 工具就可以使用该工作区上的终结点。
使用 AzureML 或 Azure AI Studio 工作区:如果您在基于网页的浏览器工作区中使用提示流,则该工作区上可用的联机终结点将自动显示。
使用 VScode 或 Code First:如果您在 VScode 或 Code First 产品之一中使用提示流,您将需要连接到工作区。开放模型 LLM 工具使用 azure.identity DefaultAzureCredential 客户端进行授权。一种方法是通过 设置环境变量凭据值。
2. 自定义连接#
开放模型 LLM 工具使用 CustomConnection。提示流支持两种类型的连接
工作区连接 - 这些是存储在 Azure 机器学习工作区上作为机密的连接。虽然这些可以在许多地方使用,但它们通常在 Studio UI 中创建和维护。
本地连接 - 这些是存储在您机器本地的连接。这些连接在 Studio UX 中不可用,但可以与 VScode 扩展一起使用。
有关如何创建工作区或本地自定义连接的说明可以在此处找到。
需要设置的键是
endpoint_url
此值可以在之前创建的推理终结点中找到。
endpoint_api_key
确保将其设置为机密值。
此值可以在之前创建的推理终结点中找到。
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 项目中的身份。提示流部署可能需要刷新。