Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Belangrijk
De Azure OpenAI-extensie voor Azure Functions is momenteel in preview.
De Azure OpenAI-extensie voor Azure Functions implementeert een set triggers en bindingen waarmee u eenvoudig functies en gedrag van Azure OpenAI in Foundry-modellen kunt integreren in de uitvoering van uw functiecode.
Azure Functions is een gebeurtenisgestuurde rekenservice die een set triggers en bindingen biedt om eenvoudig verbinding te maken met andere Azure-services.
Met de integratie tussen Azure OpenAI en Functions kunt u functies bouwen die het volgende kunnen doen:
| Actie | Type trigger/binding |
|---|---|
| Een standaardtekstprompt gebruiken voor voltooiing van inhoud | Invoerbinding voor voltooiing van Azure OpenAI-tekst |
| Reageren op een assistentaanvraag om een functie aan te roepen | Azure OpenAI-assistenttrigger |
| Een assistent maken | Azure OpenAI-assistent: uitvoerbinding maken |
| Een assistent een bericht sturen | Azure OpenAI-assistent na invoerbinding |
| Assistentgeschiedenis ophalen | Queryinvoerbinding voor Azure OpenAI-assistent |
| Tekst insluitingen lezen | Invoerbinding voor Azure OpenAI-insluitingen |
| Schrijven naar een vectordatabase | Uitvoerbinding voor Azure OpenAI-insluitingen opslaan |
| Lezen uit een vectordatabase | Azure OpenAI semantische zoekinvoerbinding |
De extensie installeren
Het NuGet-extensiepakket dat u installeert, is afhankelijk van de C#-modus in-proces of geïsoleerd werkproces dat u gebruikt in uw functie-app:
Voeg de Azure OpenAI-extensie toe aan uw project door het NuGet-pakket Microsoft.Azure.Functions.Worker.Extensions.OpenAI te installeren. Dit kunt u doen met behulp van de .NET CLI:
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.OpenAI --prerelease
Wanneer u een vectordatabase gebruikt voor het opslaan van inhoud, moet u ook ten minste een van deze NuGet-pakketten installeren:
- Azure AI Search: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.AzureAISearch
- Azure Cosmos DB voor MongoDB vCore: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.CosmosDBSearch
- Azure Cosmos DB voor NoSQL: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.CosmosDBSearch
- Azure Data Explorer: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.Kusto
Bundel installeren
Als u deze preview-bindingsextensie in uw app wilt kunnen gebruiken, moet u verwijzen naar een preview-extensiebundel die deze bevat.
Voeg de volgende code toe aan of vervang deze in uw host.json bestand, die specifiek is gericht op de nieuwste preview-versie van de 4.x-bundel:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.0.0, 5.0.0)"
}
}
Selecteer de vorige koppeling om te controleren of de nieuwste preview-bundelversie de preview-extensie bevat.
Verbinding maken met OpenAI
Als u de Azure OpenAI-bindingsextensie wilt gebruiken, moet u een verbinding met OpenAI opgeven. Deze verbinding wordt gedefinieerd met toepassingsinstellingen en de AIConnectionName eigenschap van de trigger of binding. U kunt ook omgevingsvariabelen gebruiken om verbindingen op basis van sleutels te definiëren.
U wordt aangeraden beheerde identiteitsverbindingen en de AIConnectionName eigenschap te gebruiken.
De OpenAI-bindingen hebben een AIConnectionName eigenschap die u kunt gebruiken om de <ConnectionNamePrefix> voor deze groep app-instellingen op te geven waarmee de verbinding met Azure OpenAI wordt gedefinieerd:
| Naam instelling | Beschrijving |
|---|---|
<CONNECTION_NAME_PREFIX>__endpoint |
Hiermee stelt u het URI-eindpunt van de Azure OpenAI in Foundry-modellen in. Deze instelling is altijd vereist. |
<CONNECTION_NAME_PREFIX>__clientId |
Hiermee stelt u de specifieke door de gebruiker toegewezen identiteit in die moet worden gebruikt bij het verkrijgen van een toegangstoken. Vereist dat deze <CONNECTION_NAME_PREFIX>__credential is ingesteld op managedidentity. De eigenschap accepteert een client-id die overeenkomt met een door de gebruiker toegewezen identiteit die aan de toepassing is toegewezen. Het is ongeldig om zowel een resource-id als een client-id op te geven. Als dit niet is opgegeven, wordt de door het systeem toegewezen identiteit gebruikt. Deze eigenschap wordt anders gebruikt in lokale ontwikkelscenario's, wanneer credential deze niet moeten worden ingesteld. |
<CONNECTION_NAME_PREFIX>__credential |
Hiermee definieert u hoe een toegangstoken wordt verkregen voor de verbinding. Gebruiken managedidentity voor verificatie van beheerde identiteiten. Deze waarde is alleen geldig wanneer een beheerde identiteit beschikbaar is in de hostingomgeving. |
<CONNECTION_NAME_PREFIX>__managedIdentityResourceId |
Wanneer credential deze eigenschap is ingesteld managedidentityop, kan deze eigenschap worden ingesteld om de resource-id op te geven die moet worden gebruikt bij het verkrijgen van een token. De eigenschap accepteert een resource-id die overeenkomt met de resource-id van de door de gebruiker gedefinieerde beheerde identiteit. Het is ongeldig om zowel een resource-id als een client-id op te geven. Als er geen van beide zijn opgegeven, wordt de door het systeem toegewezen identiteit gebruikt. Deze eigenschap wordt anders gebruikt in lokale ontwikkelscenario's, wanneer credential deze niet moeten worden ingesteld. |
<CONNECTION_NAME_PREFIX>__key |
Hiermee stelt u de gedeelde geheime sleutel in die is vereist voor toegang tot het eindpunt van Azure OpenAI met behulp van verificatie op basis van sleutels. Als best practice voor beveiliging moet u altijd Microsoft Entra ID gebruiken met beheerde identiteiten voor verificatie. |
Houd rekening met deze verbindingsinstellingen voor beheerde identiteiten wanneer de AIConnectionName eigenschap is ingesteld op myAzureOpenAI:
myAzureOpenAI__endpoint=https://contoso.openai.azure.com/myAzureOpenAI__credential=managedidentitymyAzureOpenAI__clientId=aaaaaaaa-bbbb-cccc-1111-222222222222
Tijdens runtime worden deze instellingen gezamenlijk door de host geïnterpreteerd als één myAzureOpenAI instelling als volgt:
"myAzureOpenAI":
{
"endpoint": "https://contoso.openai.azure.com/",
"credential": "managedidentity",
"clientId": "aaaaaaaa-bbbb-cccc-1111-222222222222"
}
Wanneer u beheerde identiteiten gebruikt, moet u uw identiteit toevoegen aan de gebruikersrol Cognitive Services OpenAI .
Wanneer u lokaal werkt, moet u deze instellingen toevoegen aan het local.settings.json projectbestand. Zie Lokale ontwikkeling met op identiteit gebaseerde verbindingen voor meer informatie.
Zie Werken met toepassingsinstellingen voor meer informatie.