你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
The large language model (LLM) tool in prompt flow enables you to use widely used large language models like OpenAI, Azure OpenAI in Azure AI Foundry Models, or any language model supported by the Azure AI model inference API for natural language processing.
提示流提供多个大型语言模型 API:
- Completion: OpenAI's completion models generate text based on provided prompts.
- Chat: OpenAI's chat models and the Azure AI chat models facilitate interactive conversations with text-based inputs and responses.
The Embeddings API isn't available in the LLM tool. Use the embedding tool to generate embeddings with OpenAI or Azure OpenAI.
Note
提示流中的 LLM 工具不支持推理模型(如 OpenAI o1 或 o3)。 出于推理模型集成,请使用 Python 工具直接调用模型 API。 有关详细信息,请参阅 从 Python 工具调用推理模型。
Prerequisites
创建 OpenAI 资源:
OpenAI:
- Sign up for an account on the OpenAI website.
- 登录并查找个人 API 密钥。
Azure OpenAI:
- Create Azure OpenAI resources by following these instructions. 在 Azure OpenAI 资源组名称中仅使用 ASCII 字符。 提示流不支持资源组名称中的非 ASCII 字符。
部署到标准部署的模型:
- 使用所需目录中的模型创建终结点, 并使用标准部署部署来部署该终结点。
- 若要使用部署到 Azure AI 模型推理 API 支持的标准部署的模型,例如 Mistral、Cohere、Meta Llama 或 Microsoft 系列模型(等等), 请在项目中与终结点建立连接。
Connections
在提示流中设置与预配资源的连接。
| 类型 | Name | API 密钥 | API type | API version |
|---|---|---|---|---|
| OpenAI | Required | Required | - | - |
| Azure OpenAI - API 密钥 | Required | Required | Required | Required |
| Azure OpenAI - Microsoft Entra ID | Required | - | - | Required |
| Serverless model | Required | Required | - | - |
Tip
- 若要为 Azure OpenAI 连接使用 Microsoft Entra ID 身份验证类型,请为用户或用户分配的托管标识分配
Cognitive Services OpenAI User或Cognitive Services OpenAI Contributor角色。 - 详细了解如何指定使用用户标识提交流运行。
- 详细了解 如何使用托管标识配置 Azure OpenAI。
Inputs
以下部分显示了各种输入。
Text completion
| Name | 类型 | Description | Required |
|---|---|---|---|
| 提示 | 字符串 | 语言模型的文本提示。 | Yes |
| model, deployment_name | 字符串 | 要使用的语言模型。 | Yes |
| max_tokens | 整数 | 完成时要生成的令牌的最大数目。 默认值为 16。 | No |
| temperature | float | 所生成文本的随机性。 默认值为 1。 | No |
| stop | list | 所生成文本的停止序列。 默认值为 null。 | No |
| suffix | 字符串 | 追加到完成末尾的文本。 | No |
| top_p | float | 使用所生成令牌中首选项的概率。 默认值为 1。 | No |
| logprobs | 整数 | 要生成的对数概率数。 默认值为 null。 | No |
| echo | boolean | 指示是否在响应中回显提示的值。 默认值为 false。 | No |
| presence_penalty | float | 用于控制模型重复短语的行为的值。 默认为 0。 | No |
| frequency_penalty | float | 用于控制模型生成罕见短语的行为的值。 默认为 0。 | No |
| best_of | 整数 | 要生成的最佳完成次数。 默认值为 1。 | No |
| logit_bias | 字典 | 语言模型的 Logit 偏差。 默认值为空字典。 | No |
Chat
| Name | 类型 | Description | Required |
|---|---|---|---|
| 提示 | 字符串 | 语言模型用于响应的文本提示。 | Yes |
| model, deployment_name | 字符串 | 要使用的语言模型。 如果模型部署到标准部署,则不需要此参数。 | Yes* |
| max_tokens | 整数 | 要在响应中生成的最大令牌数。 默认为 inf。 | No |
| temperature | float | 所生成文本的随机性。 默认值为 1。 | No |
| stop | list | 所生成文本的停止序列。 默认值为 null。 | No |
| top_p | float | 使用所生成令牌中首选项的概率。 默认值为 1。 | No |
| presence_penalty | float | 用于控制模型重复短语的行为的值。 默认为 0。 | No |
| frequency_penalty | float | 用于控制模型生成罕见短语的行为的值。 默认为 0。 | No |
| logit_bias | 字典 | 语言模型的 Logit 偏差。 默认值为空字典。 | No |
Outputs
| API | Return type | Description |
|---|---|---|
| Completion | 字符串 | 一个预测完成的文本 |
| Chat | 字符串 | 对话的一个响应的文本 |
使用 LLM 工具
- 设置并选择与 OpenAI 资源或标准部署的连接。
- 配置大型语言模型 API 及其参数。
- Prepare the prompt with guidance.