Поделиться через


подключаемый модуль ai_chat_completion (предварительная версия)

Применимо: ✅Microsoft FabricAzure Data Explorer

Подключаемый ai_chat_completion модуль позволяет создавать завершения чата с помощью языковых моделей, поддерживая сценарии, связанные с ИИ, такие как диалоговый ИИ и интерактивные системы. Подключаемый модуль использует конечную точку чата Azure OpenAI и может быть доступ к ней с помощью управляемого удостоверения или удостоверения пользователя (олицетворение).

Подключаемый ai_chat_completion модуль позволяет создавать завершения чата с помощью языковых моделей, поддерживая сценарии, связанные с ИИ, такие как диалоговый ИИ и интерактивные системы. Подключаемый модуль использует конечную точку чата Azure OpenAI и может быть доступ к ней с помощью удостоверения пользователя (олицетворение).

Предпосылки

Синтаксис

evaluate ai_chat_completion ( Чат, ConnectionString [,Параметры [,IncludeErrorMessages]])

Дополнительные сведения о соглашениях синтаксиса.

Параметры

Имя Тип Обязательно Описание
Чат dynamic ✔️ Массив сообщений, составляющих беседу до сих пор. Это значение может быть ссылкой на столбец или скалярным константой.
Строка подключения string ✔️ Строка подключения для языковой модели в формате<ModelDeploymentUri>;<AuthenticationMethod>; замените <ModelDeploymentUri> и <AuthenticationMethod> URI модели ИИ и метод проверки подлинности соответственно.
Параметры dynamic Параметры, управляющие вызовами конечной точки модели чата. См. Параметры.
IncludeErrorMessages (IncludeErrorMessages) bool Указывает, следует ли выводить ошибки в новом столбце в выходной таблице. Значение по умолчанию: false.

Опции

В следующей таблице описываются параметры, управляющие способом выполнения запросов к конечной точке модели чата.

Имя Тип Описание
RetriesOnThrottling int Указывает количество попыток повторных попыток при регулировании. Значение по умолчанию: 0.
GlobalTimeout timespan Указывает максимальное время ожидания ответа из модели чата ИИ. Значение по умолчанию: null.
ModelParameters dynamic Параметры, относящиеся к модели чата ИИ. Возможные значения: temperature, top_p, stop; max_tokensmax_completion_tokenspresence_penaltyfrequency_penaltyuserseed Любые другие указанные параметры модели игнорируются. Значение по умолчанию: null.
ReturnSuccessfulOnly bool Указывает, следует ли возвращать только успешно обработанные элементы. Значение по умолчанию: false. Если для параметра IncludeErrorMessages задано trueзначение , этот параметр всегда имеет значение false.

Настройка политики выноски

Политика azure_openaiвыноски позволяет выполнять внешние вызовы к службам ИИ Azure.

Чтобы настроить политику выноски для авторизации домена конечной точки модели ИИ:

.alter-merge cluster policy callout
```
[
  {
    "CalloutType": "azure_openai",
    "CalloutUriRegex": "https://[A-Za-z0-9\\-]{3,63}\\.openai\\.azure\\.com/.*",
    "CanCall": true
  }
]
```

Настройка управляемого удостоверения

При использовании управляемого удостоверения для доступа к Службе Azure OpenAI необходимо настроить политику управляемых удостоверений , назначаемую системой, для проверки подлинности в Службе OpenAI Azure.

Чтобы настроить управляемое удостоверение, выполните следующие действия.

.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);