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.
Med indatabindningen för Azure OpenAI-textkomplettering kan du ta med API:erna för slutförande av resultattext i dina kodkörningar. Du kan definiera bindningen för att använda båda fördefinierade prompterna med parametrar eller skicka en hel fråga.
Information om konfiguration och konfigurationsinformation för Azure OpenAI-tillägget finns i Azure OpenAI-tillägg för Azure Functions. Mer information om Azure OpenAI-slutföranden finns i Lär dig hur du genererar eller manipulerar text.
Anmärkning
Referenser och exempel tillhandahålls endast för modellen Node.js v4.
Anmärkning
Referenser och exempel tillhandahålls endast för Python v2-modellen.
Anmärkning
Båda C#-processmodellerna stöds, men endast exempel på isolerade arbetsmodeller tillhandahålls.
Exempel
Go-stöd finns för närvarande inte tillgängligt för denna bindning.
Det här exemplet visar mallmönstret , där FUNKTIONEN HTTP-utlösare tar en name parameter och bäddar in den i en textprompt, som sedan skickas till API:et för Azure OpenAI-slutförande av tillägget. Svaret på uppmaningen returneras i HTTP-svaret.
[Function(nameof(WhoIs))]
public static IActionResult WhoIs(
[HttpTrigger(AuthorizationLevel.Function, Route = "whois/{name}")] HttpRequestData req,
[TextCompletionInput("Who is {name}?", ChatModel = "%CHAT_MODEL_DEPLOYMENT_NAME%", AIConnectionName = "AzureOpenAI")] TextCompletionResponse response)
{
return new OkObjectResult(response.Content);
}
Det här exemplet tar en fråga som indata, skickar den direkt till API:et för slutföranden och returnerar svaret som utdata.
[Function(nameof(GenericCompletion))]
public static IActionResult GenericCompletion(
[HttpTrigger(AuthorizationLevel.Function, "post")] HttpRequestData req,
[TextCompletionInput("{Prompt}", ChatModel = "%CHAT_MODEL_DEPLOYMENT_NAME%", AIConnectionName = "AzureOpenAI")] TextCompletionResponse response,
ILogger log)
{
string text = response.Content;
return new OkObjectResult(text);
}
Det här exemplet visar mallmönstret , där FUNKTIONEN HTTP-utlösare tar en name parameter och bäddar in den i en textprompt, som sedan skickas till API:et för Azure OpenAI-slutförande av tillägget. Svaret på uppmaningen returneras i HTTP-svaret.
@FunctionName("WhoIs")
public HttpResponseMessage whoIs(
@HttpTrigger(
name = "req",
methods = {HttpMethod.GET},
authLevel = AuthorizationLevel.FUNCTION,
route = "whois/{name}")
HttpRequestMessage<Optional<String>> request,
@BindingName("name") String name,
@TextCompletion(prompt = "Who is {name}?", chatModel = "%CHAT_MODEL_DEPLOYMENT_NAME%", name = "response", isReasoningModel = false, aiConnectionName = "AzureOpenAI") TextCompletionResponse response,
final ExecutionContext context) {
return request.createResponseBuilder(HttpStatus.OK)
.header("Content-Type", "application/json")
.body(response.getContent())
.build();
}
Det här exemplet tar en fråga som indata, skickar den direkt till API:et för slutföranden och returnerar svaret som utdata.
@FunctionName("GenericCompletion")
public HttpResponseMessage genericCompletion(
@HttpTrigger(
name = "req",
methods = {HttpMethod.POST},
authLevel = AuthorizationLevel.FUNCTION)
HttpRequestMessage<Optional<String>> request,
@TextCompletion(prompt = "{prompt}", chatModel = "%CHAT_MODEL_DEPLOYMENT_NAME%", name = "response", isReasoningModel = false, aiConnectionName = "AzureOpenAI") TextCompletionResponse response,
final ExecutionContext context) {
return request.createResponseBuilder(HttpStatus.OK)
.header("Content-Type", "application/json")
.body(response.getContent())
.build();
}
Det här exemplet visar mallmönstret , där FUNKTIONEN HTTP-utlösare tar en name parameter och bäddar in den i en textprompt, som sedan skickas till API:et för Azure OpenAI-slutförande av tillägget. Svaret på uppmaningen returneras i HTTP-svaret.
const { app, input } = require("@azure/functions");
// This OpenAI completion input requires a {name} binding value.
const openAICompletionInput = input.generic({
prompt: 'Who is {name}?',
maxTokens: '100',
type: 'textCompletion',
chatModel: '%CHAT_MODEL_DEPLOYMENT_NAME%',
aiConnectionName: 'AzureOpenAI'
})
app.http('whois', {
methods: ['GET'],
route: 'whois/{name}',
authLevel: 'function',
extraInputs: [openAICompletionInput],
handler: async (_request, context) => {
var response = context.extraInputs.get(openAICompletionInput)
return { body: response.content.trim() }
}
});
Det här exemplet visar mallmönstret , där FUNKTIONEN HTTP-utlösare tar en name parameter och bäddar in den i en textprompt, som sedan skickas till API:et för Azure OpenAI-slutförande av tillägget. Svaret på uppmaningen returneras i HTTP-svaret.
import { app, input } from "@azure/functions";
// This OpenAI completion input requires a {name} binding value.
const openAICompletionInput = input.generic({
prompt: 'Who is {name}?',
maxTokens: '100',
type: 'textCompletion',
chatModel: '%CHAT_MODEL_DEPLOYMENT_NAME%',
aiConnectionName: 'AzureOpenAI'
})
app.http('whois', {
methods: ['GET'],
route: 'whois/{name}',
authLevel: 'function',
extraInputs: [openAICompletionInput],
handler: async (_request, context) => {
var response: any = context.extraInputs.get(openAICompletionInput)
return { body: response.content.trim() }
}
});
Det här exemplet visar mallmönstret , där FUNKTIONEN HTTP-utlösare tar en name parameter och bäddar in den i en textprompt, som sedan skickas till API:et för Azure OpenAI-slutförande av tillägget. Svaret på uppmaningen returneras i HTTP-svaret.
Här är filen function.json för TextCompletionResponse:
{
"bindings": [
{
"authLevel": "function",
"type": "httpTrigger",
"direction": "in",
"name": "Request",
"route": "whois/{name}",
"methods": [
"get"
]
},
{
"type": "http",
"direction": "out",
"name": "Response"
},
{
"type": "textCompletion",
"direction": "in",
"name": "TextCompletionResponse",
"prompt": "Who is {name}?",
"maxTokens": "100",
"chatModel": "%CHAT_MODEL_DEPLOYMENT_NAME%",
"aiConnectionName": "AzureOpenAI"
}
]
}
Mer information om function.json filegenskaper finns i avsnittet Konfiguration .
Koden returnerar helt enkelt texten från slutförande-API:et som svar:
using namespace System.Net
param($Request, $TriggerMetadata, $TextCompletionResponse)
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $TextCompletionResponse.Content
})
Det här exemplet visar mallmönstret , där FUNKTIONEN HTTP-utlösare tar en name parameter och bäddar in den i en textprompt, som sedan skickas till API:et för Azure OpenAI-slutförande av tillägget. Svaret på uppmaningen returneras i HTTP-svaret.
@app.route(route="whois/{name}", methods=["GET"])
@app.text_completion_input(
arg_name="response",
prompt="Who is {name}?",
max_tokens="100",
chat_model="%CHAT_MODEL_DEPLOYMENT_NAME%",
ai_connection_name="AzureOpenAI",
)
def whois(req: func.HttpRequest, response: str) -> func.HttpResponse:
response_json = json.loads(response)
return func.HttpResponse(response_json["content"], status_code=200)
Det här exemplet tar en fråga som indata, skickar den direkt till API:et för slutföranden och returnerar svaret som utdata.
@app.route(route="genericcompletion", methods=["POST"])
@app.text_completion_input(
arg_name="response",
prompt="{Prompt}",
chat_model="%CHAT_MODEL_DEPLOYMENT_NAME%",
ai_connection_name="AzureOpenAI",
)
def genericcompletion(
req: func.HttpRequest,
response: str
) -> func.HttpResponse:
response_json = json.loads(response)
return func.HttpResponse(response_json["content"], status_code=200)
Egenskaper
Det specifika attribut som du använder för att definiera en indatabindning för textslut beror på C#-processläget.
I den isolerade arbetsmodellen använder du TextCompletionInput för att definiera en indatabindning för textslut.
Attributet stöder följande parametrar:
| Parameter | Beskrivning |
|---|---|
| Snabb | Hämtar eller ställer in uppmaningen att generera slutföranden för, kodade som en sträng. |
| AIConnectionName | Valfritt. Hämtar eller anger namnet på konfigurationsavsnittet för anslutningsinställningar för AI-tjänsten. För Azure OpenAI: Om det anges söker du efter värdena "Slutpunkt" och "Nyckel" i det här konfigurationsavsnittet. Om det inte anges eller om avsnittet inte finns återgår du till miljövariabler: AZURE_OPENAI_ENDPOINT och AZURE_OPENAI_KEY. För användartilldelad hanterad identitetsautentisering krävs den här egenskapen. För OpenAI-tjänsten (icke-Azure) anger du miljövariabeln OPENAI_API_KEY. |
| ChatModel |
Valfritt. Hämtar eller anger ID för modellen som ska användas som en sträng, med standardvärdet gpt-3.5-turbo. |
| Temperatur |
Valfritt. Hämtar eller ställer in samplingstemperaturen som ska användas, som en sträng mellan 0 och 2. Högre värden (0.8) gör utdata mer slumpmässiga, medan lägre värden som (0.2) gör utdata mer fokuserade och deterministiska. Du bör använda antingen Temperature eller TopP, men inte båda. |
| TopP |
Valfritt. Hämtar eller anger ett alternativ till sampling med temperatur, som kallas kärnsampling, som en sträng. I den här samplingsmetoden tar modellen hänsyn till resultatet av token med top_p sannolikhetsmassa. Det 0.1 innebär att endast de token som består av de 10 främsta% sannolikhetsmassan beaktas. Du bör använda antingen Temperature eller TopP, men inte båda. |
| MaxTokens |
Valfritt. Hämtar eller anger det maximala antalet token som ska genereras i slutförandet, som en sträng med standardvärdet 100. Tokenantalet för din fråga plus max_tokens får inte överskrida modellens kontextlängd. De flesta modeller har en kontextlängd på 2 048 token (förutom de senaste modellerna, som stöder 4096). |
| IsReasoningModel |
Valfritt. Hämtar eller anger ett värde som anger om chattens slutförandemodell är en resonemangsmodell. Det här alternativet är experimentellt och associerat med resonemangsmodellen tills alla modeller har paritet i de förväntade egenskaperna, med standardvärdet false. |
Anteckningar
Med anteckningen TextCompletion kan du definiera en indatabindning för text som stöder följande parametrar:
| Komponent | Beskrivning |
|---|---|
| Namn | Hämtar eller anger namnet på indatabindningen. |
| uppmaning | Hämtar eller ställer in uppmaningen att generera slutföranden för, kodade som en sträng. |
| aiConnectionName | Valfritt. Hämtar eller anger namnet på konfigurationsavsnittet för anslutningsinställningar för AI-tjänsten. För Azure OpenAI: Om det anges söker du efter värdena "Slutpunkt" och "Nyckel" i det här konfigurationsavsnittet. Om det inte anges eller om avsnittet inte finns återgår du till miljövariabler: AZURE_OPENAI_ENDPOINT och AZURE_OPENAI_KEY. För användartilldelad hanterad identitetsautentisering krävs den här egenskapen. För OpenAI-tjänsten (icke-Azure) anger du miljövariabeln OPENAI_API_KEY. |
| chatModel | Hämtar eller anger ID för modellen som ska användas som en sträng, med standardvärdet gpt-3.5-turbo. |
| temperatur |
Valfritt. Hämtar eller ställer in samplingstemperaturen som ska användas, som en sträng mellan 0 och 2. Högre värden (0.8) gör utdata mer slumpmässiga, medan lägre värden som (0.2) gör utdata mer fokuserade och deterministiska. Du bör använda antingen Temperature eller TopP, men inte båda. |
| topP |
Valfritt. Hämtar eller anger ett alternativ till sampling med temperatur, som kallas kärnsampling, som en sträng. I den här samplingsmetoden tar modellen hänsyn till resultatet av token med top_p sannolikhetsmassa. Det 0.1 innebär att endast de token som består av de 10 främsta% sannolikhetsmassan beaktas. Du bör använda antingen Temperature eller TopP, men inte båda. |
| maxTokens |
Valfritt. Hämtar eller anger det maximala antalet token som ska genereras i slutförandet, som en sträng med standardvärdet 100. Tokenantalet för din fråga plus max_tokens får inte överskrida modellens kontextlängd. De flesta modeller har en kontextlängd på 2 048 token (förutom de senaste modellerna, som stöder 4096). |
| isReasoningModel |
Valfritt. Hämtar eller anger ett värde som anger om chattens slutförandemodell är en resonemangsmodell. Det här alternativet är experimentellt och associerat med resonemangsmodellen tills alla modeller har paritet i de förväntade egenskaperna, med standardvärdet false. |
Dekoratörer
Under förhandsversionen definierar du indatabindningen som en generic_input_binding bindning av typen textCompletion, som stöder följande parametrar:
| Parameter | Beskrivning |
|---|---|
| arg_name | Namnet på variabeln som representerar bindningsparametern. |
| uppmaning | Hämtar eller ställer in uppmaningen att generera slutföranden för, kodade som en sträng. |
| ai_connection_name | Valfritt. Hämtar eller anger namnet på konfigurationsavsnittet för anslutningsinställningar för AI-tjänsten. För Azure OpenAI: Om det anges söker du efter värdena "Slutpunkt" och "Nyckel" i det här konfigurationsavsnittet. Om det inte anges eller om avsnittet inte finns återgår du till miljövariabler: AZURE_OPENAI_ENDPOINT och AZURE_OPENAI_KEY. För användartilldelad hanterad identitetsautentisering krävs den här egenskapen. För OpenAI-tjänsten (icke-Azure) anger du miljövariabeln OPENAI_API_KEY. |
| chat_model | Hämtar eller anger ID för modellen som ska användas som en sträng, med standardvärdet gpt-3.5-turbo. |
| temperatur |
Valfritt. Hämtar eller ställer in samplingstemperaturen som ska användas, som en sträng mellan 0 och 2. Högre värden (0.8) gör utdata mer slumpmässiga, medan lägre värden som (0.2) gör utdata mer fokuserade och deterministiska. Du bör använda antingen Temperature eller TopP, men inte båda. |
| top_p |
Valfritt. Hämtar eller anger ett alternativ till sampling med temperatur, som kallas kärnsampling, som en sträng. I den här samplingsmetoden tar modellen hänsyn till resultatet av token med top_p sannolikhetsmassa. Det 0.1 innebär att endast de token som består av de 10 främsta% sannolikhetsmassan beaktas. Du bör använda antingen Temperature eller TopP, men inte båda. |
| max_tokens |
Valfritt. Hämtar eller anger det maximala antalet token som ska genereras i slutförandet, som en sträng med standardvärdet 100. Tokenantalet för din fråga plus max_tokens får inte överskrida modellens kontextlängd. De flesta modeller har en kontextlängd på 2 048 token (förutom de senaste modellerna, som stöder 4096). |
| is_reasoning _model |
Valfritt. Hämtar eller anger ett värde som anger om chattens slutförandemodell är en resonemangsmodell. Det här alternativet är experimentellt och associerat med resonemangsmodellen tills alla modeller har paritet i de förväntade egenskaperna, med standardvärdet false. |
Konfiguration
Bindningen stöder de konfigurationsegenskaper som du anger i filen function.json.
| Fastighet | Beskrivning |
|---|---|
| typ | Måste vara textCompletion. |
| riktning | Måste vara in. |
| Namn | Namnet på indatabindningen. |
| uppmaning | Hämtar eller ställer in uppmaningen att generera slutföranden för, kodade som en sträng. |
| aiConnectionName | Valfritt. Hämtar eller anger namnet på konfigurationsavsnittet för anslutningsinställningar för AI-tjänsten. För Azure OpenAI: Om det anges söker du efter värdena "Slutpunkt" och "Nyckel" i det här konfigurationsavsnittet. Om det inte anges eller om avsnittet inte finns återgår du till miljövariabler: AZURE_OPENAI_ENDPOINT och AZURE_OPENAI_KEY. För användartilldelad hanterad identitetsautentisering krävs den här egenskapen. För OpenAI-tjänsten (icke-Azure) anger du miljövariabeln OPENAI_API_KEY. |
| chatModel | Hämtar eller anger ID för modellen som ska användas som en sträng, med standardvärdet gpt-3.5-turbo. |
| temperatur |
Valfritt. Hämtar eller ställer in samplingstemperaturen som ska användas, som en sträng mellan 0 och 2. Högre värden (0.8) gör utdata mer slumpmässiga, medan lägre värden som (0.2) gör utdata mer fokuserade och deterministiska. Du bör använda antingen Temperature eller TopP, men inte båda. |
| topP |
Valfritt. Hämtar eller anger ett alternativ till sampling med temperatur, som kallas kärnsampling, som en sträng. I den här samplingsmetoden tar modellen hänsyn till resultatet av token med top_p sannolikhetsmassa. Det 0.1 innebär att endast de token som består av de 10 främsta% sannolikhetsmassan beaktas. Du bör använda antingen Temperature eller TopP, men inte båda. |
| maxTokens |
Valfritt. Hämtar eller anger det maximala antalet token som ska genereras i slutförandet, som en sträng med standardvärdet 100. Tokenantalet för din fråga plus max_tokens får inte överskrida modellens kontextlängd. De flesta modeller har en kontextlängd på 2 048 token (förutom de senaste modellerna, som stöder 4096). |
| isReasoningModel |
Valfritt. Hämtar eller anger ett värde som anger om chattens slutförandemodell är en resonemangsmodell. Det här alternativet är experimentellt och associerat med resonemangsmodellen tills alla modeller har paritet i de förväntade egenskaperna, med standardvärdet false. |
Konfiguration
Bindningen stöder dessa egenskaper, som definieras i koden:
| Fastighet | Beskrivning |
|---|---|
| uppmaning | Hämtar eller ställer in uppmaningen att generera slutföranden för, kodade som en sträng. |
| aiConnectionName | Valfritt. Hämtar eller anger namnet på konfigurationsavsnittet för anslutningsinställningar för AI-tjänsten. För Azure OpenAI: Om det anges söker du efter värdena "Slutpunkt" och "Nyckel" i det här konfigurationsavsnittet. Om det inte anges eller om avsnittet inte finns återgår du till miljövariabler: AZURE_OPENAI_ENDPOINT och AZURE_OPENAI_KEY. För användartilldelad hanterad identitetsautentisering krävs den här egenskapen. För OpenAI-tjänsten (icke-Azure) anger du miljövariabeln OPENAI_API_KEY. |
| chatModel | Hämtar eller anger ID för modellen som ska användas som en sträng, med standardvärdet gpt-3.5-turbo. |
| temperatur |
Valfritt. Hämtar eller ställer in samplingstemperaturen som ska användas, som en sträng mellan 0 och 2. Högre värden (0.8) gör utdata mer slumpmässiga, medan lägre värden som (0.2) gör utdata mer fokuserade och deterministiska. Du bör använda antingen Temperature eller TopP, men inte båda. |
| topP |
Valfritt. Hämtar eller anger ett alternativ till sampling med temperatur, som kallas kärnsampling, som en sträng. I den här samplingsmetoden tar modellen hänsyn till resultatet av token med top_p sannolikhetsmassa. Det 0.1 innebär att endast de token som består av de 10 främsta% sannolikhetsmassan beaktas. Du bör använda antingen Temperature eller TopP, men inte båda. |
| maxTokens |
Valfritt. Hämtar eller anger det maximala antalet token som ska genereras i slutförandet, som en sträng med standardvärdet 100. Tokenantalet för din fråga plus max_tokens får inte överskrida modellens kontextlängd. De flesta modeller har en kontextlängd på 2 048 token (förutom de senaste modellerna, som stöder 4096). |
| isReasoningModel |
Valfritt. Hämtar eller anger ett värde som anger om chattens slutförandemodell är en resonemangsmodell. Det här alternativet är experimentellt och associerat med resonemangsmodellen tills alla modeller har paritet i de förväntade egenskaperna, med standardvärdet false. |
Användning
Se avsnittet Exempel för fullständiga exempel.
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 access token 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.