Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de 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
U kunt de preview-extensie toevoegen door de volgende code toe te voegen aan of te vervangen in uw host.json
bestand, die specifiek is gericht op een preview-versie van de 4.x-bundel die de OpenAI-extensie bevat:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.*, 5.0.0)"
}
}
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 managedidentity op, 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=managedidentity
myAzureOpenAI__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.