Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer
El ai_chat_completion complemento permite generar finalizaciones de chat mediante modelos de lenguaje, que admiten escenarios relacionados con la inteligencia artificial, como la inteligencia artificial conversacional y los sistemas interactivos. El complemento usa el en el punto de conexión de chat del servicio OpenAI de Azure y se puede acceder a él mediante una identidad administrada o la identidad del usuario (suplantación).
El ai_chat_completion complemento permite generar finalizaciones de chat mediante modelos de lenguaje, que admiten escenarios relacionados con la inteligencia artificial, como la inteligencia artificial conversacional y los sistemas interactivos. El complemento usa el en el punto de conexión de chat del servicio OpenAI de Azure y se puede acceder a él mediante la identidad del usuario (suplantación).
Prerrequisitos
- Un servicio De Azure OpenAI configurado con al menos el rol (usuario openAI de Cognitive Services) asignado a la identidad que se usa.
- Directiva de llamada configurada para permitir llamadas a servicios de INTELIGENCIA ARTIFICIAL.
- Al usar la identidad administrada para acceder al servicio Azure OpenAI, configure la directiva de identidad administrada para permitir la comunicación con el servicio.
Sintaxis
evaluate
ai_chat_completion
(
Chat, ConnectionString [,Opciones [,IncludeErrorMessages]])
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| Charlar | dynamic |
✔️ | Matriz de mensajes que componen la conversación hasta ahora. El valor puede ser una referencia de columna o un escalar constante. |
| connectionString | string |
✔️ | El cadena de conexión para el modelo de lenguaje con el formato <ModelDeploymentUri>;<AuthenticationMethod>; reemplace <ModelDeploymentUri> y <AuthenticationMethod> por el URI de implementación del modelo de IA y el método de autenticación respectivamente. |
| Opciones | dynamic |
Las opciones que controlan las llamadas al punto de conexión del modelo de chat. Vea Opciones. | |
| IncludeErrorMessages | bool |
Indica si se van a generar errores en una nueva columna de la tabla de salida. Valor predeterminado: false. |
Opciones
En la tabla siguiente se describen las opciones que controlan la forma en que se realizan las solicitudes al punto de conexión del modelo de chat.
| Nombre | Tipo | Descripción |
|---|---|---|
RetriesOnThrottling |
int |
Especifica el número de reintentos cuando se produce la limitación. Valor predeterminado: 0. |
GlobalTimeout |
timespan |
Especifica el tiempo máximo para esperar una respuesta del modelo de chat de IA. Valor predeterminado: null. |
ModelParameters |
dynamic |
Parámetros específicos del modelo de chat de IA. Valores posibles: temperature, top_p, stop, max_tokens, max_completion_tokenspresence_penalty, frequency_penalty, , userseed. Se omiten los demás parámetros de modelo especificados. Valor predeterminado: null. |
ReturnSuccessfulOnly |
bool |
Indica si se devuelven solo los elementos procesados correctamente. Valor predeterminado: false. Si el parámetro IncludeErrorMessages está establecido en true, esta opción siempre se establece falseen . |
Configuración de la directiva de llamada
La azure_openaidirectiva de llamada habilita las llamadas externas a los servicios de Azure AI.
Para configurar la directiva de llamada para autorizar el dominio de punto de conexión del modelo de IA:
.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
}
]
```
Configuración de la identidad administrada
Al usar la identidad administrada para acceder al servicio Azure OpenAI, debe configurar la directiva de identidad administrada para permitir que la identidad administrada asignada por el sistema se autentique en el servicio Azure OpenAI.
Para configurar la identidad administrada:
.alter-merge cluster policy managed_identity
```
[
{
"ObjectId": "system",
"AllowedUsages": "AzureAI"
}
]
```
Devoluciones
Devuelve las siguientes columnas de finalización de chat nuevas:
- Columna con el sufijo _chat_completion que contiene los valores de finalización del chat.
- Si está configurado para devolver errores, una columna con el sufijo _chat_completion_error , que contiene cadenas de error o se deja vacía si la operación se realiza correctamente.
Dependiendo del tipo de entrada, el complemento devuelve resultados diferentes:
- Referencia de columna: devuelve uno o varios registros con columnas adicionales prefijos por el nombre de columna de referencia. Por ejemplo, si la columna de entrada se denomina PromptData, las columnas de salida se denominan PromptData_chat_completion y, si están configuradas para devolver errores, PromptData_chat_completion_error.
- Escalar constante: devuelve un único registro con columnas adicionales que no tienen el prefijo. Los nombres de columna se _chat_completion y, si están configurados para devolver errores, _chat_completion_error.
Ejemplos
En el ejemplo siguiente se usa un símbolo del sistema para establecer el contexto de todos los mensajes de chat posteriores de la entrada en el modelo de finalización del chat de Azure OpenAI.
- Identidad administrada
- de suplantación
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);