Kommentar
Å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-sökning: Microsoft.Azure. Functions.Worker.Extensions.OpenAI.AzureAISearch
- Azure DocumentDB: 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
Du kan lägga till förhandsvisningstillägget genom att lägga till eller ersätta följande kod i din host.json fil, som specifikt riktar sig till en förhandsversion av 4.x-paketet som innehåller OpenAI-tillägget:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.*, 5.0.0)"
}
}
Go stöds för närvarande inte för denna funktion.
Connections
För att använda Azure OpenAI-bindningstillägget måste du specificera en anslutning till en OpenAI-modelldefinition. Ställ in OpenAI-modellanslutningen i dina bindningar med en av dessa metoder:
- Använd bindningsegenskapen
AIConnectionName(föredragen för Azure OpenAI). - Sätt
AZURE_OPENAI_ENDPOINTochAZURE_OPENAI_KEYi app-inställningar (för Azure OpenAI). - Ställ in endast
Open_API_Keyi app-inställningarna (förhttps://api.openai.com).
Hur du ställer in anslutningen beror både på modellens API och autentiseringsmetoden, vilket indikeras i följande tabell:
| Autentisering/Modell-API | Azure OpenAI | OpenAI (https://api.openai.com) |
|---|---|---|
| Hanterad identitetsanslutning | AIConnectionName |
Stöds ej |
| Key Vault-referens | AZURE_OPENAI_ENDPOINTAZURE_OPENAI_KEY |
Open_API_Key |
| Appkonfigurationsreferens | AZURE_OPENAI_ENDPOINTAZURE_OPENAI_KEY |
Open_API_Key |
| Delad hemlighet | AZURE_OPENAI_ENDPOINTAZURE_OPENAI_KEY |
Open_API_Key |
Använd hanterade identitetsbaserade kontakter och AIConnectionName egendomen.
När du använder AIConnectionName, beror värdet på denna egenskapsinställning på typen av anslutning:
-
Managed identity-anslutning: Egenskapen
AIConnectionName<CONNECTION_NAME_PREFIX>delas av en grupp inställningar som tillsammans definierar en identitetsbaserad anslutning till Azure OpenAI. För mer information, se Definiera identitetskopplingar. -
Key Vault-referens: Egenskapsinställningen
AIConnectionNamereturnerar en Azure Key Vault-referens till platsen där API-nyckeln underhålls centralt. För mer information, se Definiera Key Vault-anslutningar. -
App Configuration Reference: Egenskapsinställningen
AIConnectionNamereturnerar en Azure App Configuration-referens som returnerar en API-nyckel eller en Key Vault-referens. För mer information, se Azure App Configuration i artikeln om anslutningar. -
API-nyckel: Egenskapsinställningen
AIConnectionNamelöses till appinställningar som innehåller endpoint och nyckel direkt. Eftersom delade nycklar kan komprometteras, använd hanterade identitetsanslutningar när det är möjligt. För mer information, se Definiera kopplingar.
För att lära dig mer om bindningsanslutningar, se Hantera anslutningar i Azure Functions.
OpenAI-bindningarna inkluderar en AIConnectionName egenskap som du kan använda för att specificera för <ConnectionNamePrefix> gruppen av appinställningar som definierar anslutningen till Azure OpenAI:
| Inställningsnamn | beskrivning |
|---|---|
<CONNECTION_NAME_PREFIX>__endpoint |
Sätter URI-endpoint för Azure OpenAI-tjänsten. 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 du inte specificerar denna egenskap 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 satt till managedidentity, ställ in denna egenskap för att specificera resursidentifieraren som ska användas vid erhållning av 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 du inte specificerar någon av dem används den system-tilldelade 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 |
Sätter den delade hemliga nyckeln som krävs för att komma åt slutpunkten för Azure OpenAI-tjänsten genom att använda nyckelbaserad autentisering. Som säkerhetspraxis, använd alltid Microsoft Entra ID med hanterade identiteter för autentisering. |
Överväg dessa inställningar för managed identity connection när du sätter egenskapen AIConnectionName till myAzureOpenAI:
myAzureOpenAI__endpoint=https://contoso.openai.azure.com/myAzureOpenAI__credential=managedidentitymyAzureOpenAI__clientId=aaaaaaaa-bbbb-cccc-1111-222222222222
Vid körning tolkar värden dessa inställningar som en enda myAzureOpenAI inställning:
"myAzureOpenAI":
{
"endpoint": "https://contoso.openai.azure.com/",
"credential": "managedidentity",
"clientId": "aaaaaaaa-bbbb-cccc-1111-222222222222"
}
När du använder hanterade identiteter, se till att lägga till din identitet i rollen Cognitive Services OpenAI User .
När du kör lokalt, lägg till dessa inställningar i local.settings.json projektfilen. Mer information finns i Lokal utveckling med identitetsbaserade anslutningar.
Mer information finns i Arbeta med programinställningar.