Partager via


plug-in ai_chat_completion (préversion)

S’applique à : ✅Microsoft FabricAzure 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

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