Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Viktigt!
Azure OpenAI-tillägget för Azure Functions är för närvarande i förhandsversion.
Azure OpenAI-tillägget för Azure Functions implementerar en uppsättning utlösare och bindningar som gör att du enkelt kan integrera funktioner och beteenden i Azure OpenAI i Foundry Models i dina funktionskodkörningar.
Azure Functions är en händelsedriven beräkningstjänst som tillhandahåller en uppsättning utlösare och bindningar för att enkelt ansluta till andra Azure-tjänster.
Med integreringen mellan Azure OpenAI och Functions kan du skapa funktioner som kan:
| Åtgärd | Utlösar-/bindningstyp |
|---|---|
| Använda en standardtextprompt för slutförande av innehåll | Indatabindning för Azure OpenAI-textkomplettering |
| Svara på en assistentbegäran om att anropa en funktion | Utlösare för Azure OpenAI-assistent |
| Skapa en assistent | Skapa utdatabindning i Azure OpenAI-assistenten |
| Skicka ett meddelande till en assistent | Azure OpenAI-assistent efter indatabindning |
| Hämta assistenthistorik | Frågeindatabindning för Azure OpenAI-assistent |
| Läsa text-inbäddningar | Azure OpenAI-inbäddningsindatabindning |
| Skriva till en vektordatabas | Azure OpenAI-inbäddningslagerutdatabindning |
| Läsa från en vektordatabas | Azure OpenAI-indatabindning för semantisk sökning |
Installera tillägget
Vilket NuGet-tilläggspaket som du installerar beror på den processbaserade eller isolerade arbetsprocessen i C#-läget som du använder i funktionsappen:
Lägg till Azure OpenAI-tillägget i projektet genom att installera NuGet-paketet Microsoft.Azure.Functions.Worker.Extensions.OpenAI , vilket du kan göra med .NET CLI:
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.OpenAI --prerelease
När du använder en vektordatabas för att lagra innehåll bör du också installera minst ett av dessa NuGet-paket:
- Azure AI Search: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.AzureAISearch
- Azure Cosmos DB for MongoDB vCore: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.CosmosDBSearch
- Azure Cosmos DB för NoSQL: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.CosmosDBSearch
- Azure Data Explorer: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.Kusto
Installera paket
För att kunna använda det här förhandsgranskningsbindningstillägget i din app måste du referera till ett paket med förhandsgranskningstillägg som innehåller det.
Lägg till eller ersätt följande kod i host.json filen, som specifikt riktar sig till den senaste förhandsversionen av 4.x-paketet:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.0.0, 5.0.0)"
}
}
Välj föregående länk för att kontrollera att den senaste versionen av förhandsversionen innehåller förhandsgranskningstillägget.
Ansluta till OpenAI
Om du vill använda Azure OpenAI-bindningstillägget måste du ange en anslutning till OpenAI. Den här anslutningen definieras med hjälp av programinställningar och AIConnectionName egenskapen för utlösaren eller bindningen. Du kan också använda miljövariabler för att definiera nyckelbaserade anslutningar.
Vi rekommenderar att du använder hanterade identitetsbaserade anslutningar och egenskapen AIConnectionName .
OpenAI-bindningarna har en AIConnectionName egenskap som du kan använda för att ange för den <ConnectionNamePrefix> här gruppen med appinställningar som definierar anslutningen till Azure OpenAI:
| Inställningsnamn | beskrivning |
|---|---|
<CONNECTION_NAME_PREFIX>__endpoint |
Anger URI-slutpunkten för Azure OpenAI i Foundry Models. Den här inställningen krävs alltid. |
<CONNECTION_NAME_PREFIX>__clientId |
Anger den specifika användartilldelade identiteten som ska användas när du hämtar en åtkomsttoken. Kräver som <CONNECTION_NAME_PREFIX>__credential är inställt på managedidentity. Egenskapen accepterar ett klient-ID som motsvarar en användartilldelad identitet som tilldelats programmet. Det är ogiltigt att ange både ett resurs-ID och ett klient-ID. Om det inte anges används den systemtilldelade identiteten. Den här egenskapen används på olika sätt i lokala utvecklingsscenarier, när credential bör inte anges. |
<CONNECTION_NAME_PREFIX>__credential |
Definierar hur en åtkomsttoken hämtas för anslutningen. Används managedidentity för hanterad identitetsautentisering. Det här värdet är endast giltigt när en hanterad identitet är tillgänglig i värdmiljön. |
<CONNECTION_NAME_PREFIX>__managedIdentityResourceId |
När credential är inställt på managedidentitykan den här egenskapen anges för att ange den resursidentifierare som ska användas när du hämtar en token. Egenskapen accepterar en resursidentifierare som motsvarar resurs-ID:t för den användardefinierade hanterade identiteten. Det är ogiltigt att ange både ett resurs-ID och ett klient-ID. Om ingen av dem anges används den systemtilldelade identiteten. Den här egenskapen används på olika sätt i lokala utvecklingsscenarier, när credential bör inte anges. |
<CONNECTION_NAME_PREFIX>__key |
Anger den delade hemlighetsnyckel som krävs för att få åtkomst till slutpunkten för Azure OpenAI med hjälp av nyckelbaserad autentisering. Som bästa säkerhet bör du alltid använda Microsoft Entra-ID med hanterade identiteter för autentisering. |
Tänk på de här anslutningsinställningarna för hanterad identitet när egenskapen sedan AIConnectionName är inställd på myAzureOpenAI:
myAzureOpenAI__endpoint=https://contoso.openai.azure.com/myAzureOpenAI__credential=managedidentitymyAzureOpenAI__clientId=aaaaaaaa-bbbb-cccc-1111-222222222222
Vid körning tolkas de här inställningarna kollektivt av värden som en enda myAzureOpenAI inställning som den här:
"myAzureOpenAI":
{
"endpoint": "https://contoso.openai.azure.com/",
"credential": "managedidentity",
"clientId": "aaaaaaaa-bbbb-cccc-1111-222222222222"
}
När du använder hanterade identiteter måste du lägga till din identitet i Cognitive Services OpenAI-användarrollen .
När du kör lokalt måste du lägga till de här inställningarna i local.settings.json-projektfilen . Mer information finns i Lokal utveckling med identitetsbaserade anslutningar.
Mer information finns i Arbeta med programinställningar.