Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : ✅Microsoft Fabric✅Azure Data Explorer
Le ai_chat_completion plug-in permet de générer des achèvements de conversation à l’aide de modèles de langage, prenant en charge des scénarios liés à l’IA, tels que l’IA conversationnelle et les systèmes interactifs. Le plug-in utilise le point de terminaison de conversation azure OpenAI Service et est accessible à l’aide d’une identité managée ou de l’identité de l’utilisateur (emprunt d’identité).
Le ai_chat_completion plug-in permet de générer des achèvements de conversation à l’aide de modèles de langage, prenant en charge des scénarios liés à l’IA, tels que l’IA conversationnelle et les systèmes interactifs. Le plug-in utilise le point de terminaison de conversation azure OpenAI Service et est accessible à l’aide de l’identité de l’utilisateur (emprunt d’identité).
Conditions préalables
- Un service Azure OpenAI configuré avec au moins le rôle (Utilisateur OpenAI Cognitive Services) affecté à l’identité utilisée.
- Stratégie de légende configurée pour autoriser les appels aux services IA.
- Lorsque vous utilisez l’identité managée pour accéder au service Azure OpenAI, configurez la stratégie d’identité managée pour autoriser la communication avec le service.
Syntaxe
evaluate
ai_chat_completion
(
chat, ConnectionString [,options [,IncludeErrorMessages]])
En savoir plus sur les conventions de syntaxe .
Paramètres
| Nom | Catégorie | Obligatoire | Descriptif |
|---|---|---|---|
| Bavarder | dynamic |
✔️ | Tableau de messages comprenant la conversation jusqu’à présent. La valeur peut être une référence de colonne ou une scalaire constante. |
| connectionString | string |
✔️ | Les chaîne de connexion pour le modèle de langage au format <ModelDeploymentUri>;<AuthenticationMethod>; remplacez <ModelDeploymentUri> et <AuthenticationMethod> par l’URI de déploiement du modèle IA et la méthode d’authentification respectivement. |
| Options | dynamic |
Options qui contrôlent les appels au point de terminaison du modèle de conversation. Consultez Options. | |
| IncludeErrorMessages | bool |
Indique s’il faut générer des erreurs dans une nouvelle colonne de la table de sortie. Valeur par défaut : false. |
Paramètres
Le tableau suivant décrit les options qui contrôlent la façon dont les demandes sont adressées au point de terminaison du modèle de conversation.
| Nom | Catégorie | Descriptif |
|---|---|---|
RetriesOnThrottling |
int |
Spécifie le nombre de nouvelles tentatives lors de la limitation. Valeur par défaut : 0. |
GlobalTimeout |
timespan |
Spécifie le temps maximal d’attente d’une réponse du modèle de conversation IA. Valeur par défaut : null. |
ModelParameters |
dynamic |
Paramètres spécifiques au modèle de conversation IA. Valeurs possibles : temperature, top_pstopmax_tokensmax_completion_tokenspresence_penaltyfrequency_penaltyuser, . seed Tous les autres paramètres de modèle spécifiés sont ignorés. Valeur par défaut : null. |
ReturnSuccessfulOnly |
bool |
Indique s’il faut retourner uniquement les éléments traités avec succès. Valeur par défaut : false. Si le paramètre IncludeErrorMessages est défini truesur , cette option est toujours définie sur false. |
Configurer la stratégie de légende
La azure_openaistratégie de légende active les appels externes aux services Azure AI.
Pour configurer la stratégie de légende pour autoriser le domaine de point de terminaison du modèle 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
}
]
```
Configurer l’identité managée
Lorsque vous utilisez l’identité managée pour accéder au service Azure OpenAI, vous devez configurer la stratégie d’identité managée pour permettre à l’identité managée affectée par le système de s’authentifier auprès d’Azure OpenAI Service.
Pour configurer l’identité managée :
.alter-merge cluster policy managed_identity
```
[
{
"ObjectId": "system",
"AllowedUsages": "AzureAI"
}
]
```
Retours
Retourne les nouvelles colonnes de saisie semi-automatique de conversation suivantes :
- Colonne avec le suffixe _chat_completion qui contient les valeurs d’achèvement de conversation.
- S’il est configuré pour retourner des erreurs, une colonne avec le suffixe _chat_completion_error , qui contient des chaînes d’erreur ou est laissée vide si l’opération réussit.
Selon le type d’entrée, le plug-in retourne des résultats différents :
- Référence de colonne : retourne un ou plusieurs enregistrements avec des colonnes supplémentaires précédées du nom de colonne de référence. Par exemple, si la colonne d’entrée est nommée PromptData, les colonnes de sortie sont nommées PromptData_chat_completion et, si elles sont configurées pour retourner des erreurs, PromptData_chat_completion_error.
- Scalaire constante : retourne un enregistrement unique avec des colonnes supplémentaires qui ne sont pas préfixées. Les noms de colonnes sont _chat_completion et, s’ils sont configurés pour retourner des erreurs, _chat_completion_error.
Exemples
L’exemple suivant utilise une invite système pour définir le contexte de tous les messages de conversation suivants dans l’entrée du modèle d’achèvement de conversation 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);