你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

ai_chat_completion插件(预览版)

适用于:✅Microsoft FabricAzure 数据资源管理器

ai_chat_completion 插件支持使用语言模型生成聊天完成,支持与 AI 相关的方案,例如聊天 AI 和交互式系统。 该插件使用 Azure OpenAI 服务聊天终结点,可以使用托管标识或用户的标识(模拟)进行访问。

ai_chat_completion 插件支持使用语言模型生成聊天完成,支持与 AI 相关的方案,例如聊天 AI 和交互式系统。 该插件使用 Azure OpenAI 服务聊天终结点,可以使用用户的标识(模拟)进行访问。

先决条件

  • 使用托管标识访问 Azure OpenAI 服务时,请将 托管标识策略 配置为允许与服务通信。

语法

evaluate ai_chat_completion ( ChatConnectionString [, [,IncludeErrorMessages]])

详细了解语法约定

参数

名字 类型 必选 说明
聊天 dynamic ✔️ 到目前为止,由对话构成的消息数组。 该值可以是列引用或常量标量。
ConnectionString string ✔️ 格式<ModelDeploymentUri>;<AuthenticationMethod>的语言模型连接字符串;分别替换为 <ModelDeploymentUri><AuthenticationMethod> AI 模型部署 URI 和身份验证方法。
选项 dynamic 控制对聊天模型终结点的调用的选项。 请参阅选项
IncludeErrorMessages bool 指示是否在输出表中的新列中输出错误。 默认值:false

选项

下表描述了控制向聊天模型终结点发出请求的方式的选项。

名字 类型 说明
RetriesOnThrottling int 指定发生限制时重试尝试次数。 默认值:0
GlobalTimeout timespan 指定等待来自 AI 聊天模型的响应的最长时间。 默认值:null
ModelParameters dynamic 特定于 AI 聊天模型的参数。 可能的值:temperature、、top_p、、stopmax_tokensmax_completion_tokenspresence_penaltyfrequency_penalty、。 userseed 将忽略任何其他指定的模型参数。 默认值:null
ReturnSuccessfulOnly bool 指示是否仅返回已成功处理的项。 默认值:false如果 IncludeErrorMessages 参数设置为 true,则此选项始终设置为 false

配置标注策略

标注 azure_openai策略 允许外部调用 Azure AI 服务。

若要配置标注策略以授权 AI 模型终结点域:

.alter-merge cluster policy callout
```
[
  {
    "CalloutType": "azure_openai",
    "CalloutUriRegex": "https://[A-Za-z0-9-]{3,63}\.(?:openai\\.azure\\.com|cognitiveservices\\.azure\\.com|cognitive\\.microsoft\\.com|services\\.ai\\.azure\\.com)(?:/.*)?",
    "CanCall": true
  }
]
```

配置托管标识

使用托管标识访问 Azure OpenAI 服务时,必须配置 托管标识策略 ,以允许系统分配的托管标识向 Azure OpenAI 服务进行身份验证。

配置托管标识:

.alter-merge cluster policy managed_identity
```
[
  {
    "ObjectId": "system",
    "AllowedUsages": "AzureAI"
  }
]
```

退货

返回以下新的聊天完成列:

  • 包含聊天完成值的 _chat_completion 后缀的列。
  • 如果配置为返回错误,则为 _chat_completion_error 后缀的列,其中包含错误字符串;如果作成功,则留空。

插件根据输入类型返回不同的结果:

  • 列引用:返回一个或多个以引用列名称为前缀的其他列的记录。 例如,如果输入列名为 PromptData,则输出列 将命名为PromptData_chat_completion ,如果配置为返回错误, 则PromptData_chat_completion_error
  • 常量标量:返回包含不带前缀的其他列的单个记录。 列名称 _chat_completion ,如果配置为返回错误, _chat_completion_error

例子

以下示例使用 系统提示 将输入中所有后续聊天消息的上下文设置为 Azure OpenAI 聊天完成模型。

let connectionString = 'https://myaccount.openai.azure.com/openai/deployments/gpt4o/chat/completions?api-version=2024-06-01;managed_identity=system';
let messages = dynamic([{'role':'system', 'content': 'You are a KQL writing assistant'},{'role':'user', 'content': 'How can I restrict results to just 10 records?'}]);
evaluate ai_chat_completion(messages, connectionString);
let connectionString = 'https://myaccount.openai.azure.com/openai/deployments/gpt4o/chat/completions?api-version=2024-06-01;impersonate';
let messages = dynamic([{'role':'system', 'content': 'You are a KQL writing assistant'},{'role':'user', 'content': 'How can I restrict results to just 10 records?'}]);
evaluate ai_chat_completion(messages, connectionString);