Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Important
L’extension Azure OpenAI pour Azure Functions est actuellement en préversion.
L’extension Azure OpenAI pour Azure Functions implémente un ensemble de déclencheurs et de liaisons qui vous permettent d’intégrer facilement des fonctionnalités et des comportements d’Azure OpenAI dans les modèles Foundry dans vos exécutions de code de fonction.
Azure Functions est un service de calcul basé sur les événements qui fournit un ensemble de déclencheurs et de liaisons pour se connecter facilement à d’autres services Azure.
Avec l’intégration entre Azure OpenAI et Functions, vous pouvez créer des fonctions capables de :
| Action | Type de déclencheur/liaison |
|---|---|
| Utiliser une invite de texte standard pour une saisie semi-automatique du contenu | Liaison des entrées de saisie semi-automatique de texte Azure OpenAI |
| Répondre à la requête d’un assistant pour appeler une fonction | Déclencheur de l’Assistant Azure OpenAI |
| Créer un assistant | Liaison de création de sorties de l’assistant Azure OpenAI |
| Envoyer un message à un assistant | Liaison post-entrée de l’Assistant Azure OpenAI |
| Obtenir l’historique de l’assistant | Liaison d’entrée de requête de l’assistant Azure OpenAI |
| Lire des incorporations de texte | Liaison d’entrée d’incorporation Azure OpenAI |
| Écrire dans une base de données vectorielle | Liaison de sortie de magasin d’incorporations Azure OpenAI |
| Lire à partir d’une base de données vectorielle | Liaison d’entrée de recherche sémantique Azure OpenAI |
Installer l’extension
Le package NuGet d’extension que vous installez dépend du mode C# in-process ou processus worker isolé que vous utilisez dans votre application de fonction :
Ajoutez l’extension Azure OpenAI à votre projet en installant le package NuGet Microsoft.Azure.Functions.Worker.Extensions.OpenAI. Vous pouvez l’effectuer à l’aide de l’interface CLI .NET :
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.OpenAI --prerelease
Lorsque vous utilisez une base de données vectorielle pour stocker du contenu, vous devez également installer au moins l’un des packages NuGet suivants :
- Recherche Azure AI : Microsoft.Azure.Functions.Worker.Extensions.OpenAI.AzureAISearch
- Azure Cosmos DB pour MongoDB vCore : Microsoft.Azure.Functions.Worker.Extensions.OpenAI.CosmosDBSearch
- Azure Cosmos DB pour NoSQL : Microsoft.Azure.Functions.Worker.Extensions.OpenAI.CosmosDBSearch
- Azure Data Explorer : Microsoft.Azure.Functions.Worker.Extensions.OpenAI.Kusto
Installer le bundle
Pour pouvoir utiliser cette extension de liaison en préversion dans votre application, vous devez référencer un bundle d’extensions en préversion qui l’inclut.
Ajoutez ou remplacez le code suivant dans votre host.json fichier, qui cible spécifiquement la dernière préversion de l’offre groupée 4.x :
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.0.0, 5.0.0)"
}
}
Sélectionnez le lien précédent pour vérifier que la dernière version de l’offre groupée en préversion contient l’extension d’aperçu.
Connexion à OpenAI
Pour utiliser l’extension de liaison Azure OpenAI, vous devez spécifier une connexion à OpenAI. Cette connexion est définie à l’aide des paramètres d’application et de la AIConnectionName propriété du déclencheur ou de la liaison. Vous pouvez également utiliser des variables d’environnement pour définir des connexions basées sur des clés.
Nous vous recommandons d’utiliser des connexions basées sur des identités managées et la AIConnectionName propriété.
Les liaisons OpenAI ont une AIConnectionName propriété que vous pouvez utiliser pour spécifier le <ConnectionNamePrefix> groupe de paramètres d’application qui définissent la connexion à Azure OpenAI :
| Nom du paramètre | Descriptif |
|---|---|
<CONNECTION_NAME_PREFIX>__endpoint |
Définit le point de terminaison d’URI d’Azure OpenAI dans les modèles Foundry. Ce paramètre est toujours requis. |
<CONNECTION_NAME_PREFIX>__clientId |
Définit l’identité affectée par l’utilisateur spécifique à utiliser lors de l’obtention d’un jeton d’accès. Exige que <CONNECTION_NAME_PREFIX>__credential soit défini sur managedidentity. La propriété accepte un ID client correspondant à une identité attribuée par l’utilisateur affectée à l’application. Il incorrect de spécifier à la fois un ID de la ressource et un ID client. Par défaut, l’identité affectée par le système est utilisée. Cette propriété est utilisée différemment dans des scénarios de développement local lorsque credential ne doit pas être défini. |
<CONNECTION_NAME_PREFIX>__credential |
Définit la façon dont un jeton d’accès est obtenu pour la connexion. Utiliser managedidentity pour l’authentification d’identité managée. Cette valeur n’est valide que lorsqu’une identité managée est disponible dans l’environnement d’hébergement. |
<CONNECTION_NAME_PREFIX>__managedIdentityResourceId |
Lorsque credential a pour valeur managedidentity, cette propriété permet de spécifier l’identifiant de la ressource à utiliser lors de l’obtention d’un jeton. La propriété accepte un identifiant de ressource correspondant à l’ID de la ressource de l’identité managée définie par l’utilisateur. Il n’est pas correct de spécifier à la fois un ID de la ressource et un ID client. Si aucun des deux n’est spécifié, l’identifiant attribué par le système est utilisé. Cette propriété est utilisée différemment dans des scénarios de développement local lorsque credential ne doit pas être défini. |
<CONNECTION_NAME_PREFIX>__key |
Définit la clé secrète partagée requise pour accéder au point de terminaison d’Azure OpenAI à l’aide de l’authentification basée sur des clés. En guise de bonne pratique de sécurité, vous devez toujours utiliser l’ID Microsoft Entra avec des identités managées pour l’authentification. |
Tenez compte de ces paramètres de connexion d’identité managée quand la AIConnectionName propriété est définie sur myAzureOpenAI:
myAzureOpenAI__endpoint=https://contoso.openai.azure.com/myAzureOpenAI__credential=managedidentitymyAzureOpenAI__clientId=aaaaaaaa-bbbb-cccc-1111-222222222222
Au moment de l’exécution, ces paramètres sont interprétés collectivement par l’hôte comme un paramètre unique myAzureOpenAI comme suit :
"myAzureOpenAI":
{
"endpoint": "https://contoso.openai.azure.com/",
"credential": "managedidentity",
"clientId": "aaaaaaaa-bbbb-cccc-1111-222222222222"
}
Lorsque vous utilisez des identités managées, veillez à ajouter votre identité au rôle d’utilisateur OpenAI Cognitive Services .
Lors de l’exécution locale, vous devez ajouter ces paramètres au fichier projet local.settings.json . Pour plus d’informations, consultez Développement local avec des connexions basées sur des identités.
Pour plus d’informations, consultez Utiliser des paramètres d’application.