Dela via


Azure OpenAI-tillägg för Azure Functions

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:

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=managedidentity
  • myAzureOpenAI__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.