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.
Met de invoerbinding voor tekstvoltooiing van Azure OpenAI kunt u de voltooiings-API's voor resultatentekst overbrengen naar uw code-uitvoeringen. U kunt de binding definiëren om beide vooraf gedefinieerde prompts met parameters te gebruiken of een volledige prompt door te geven.
Zie Azure OpenAI-extensies voor Azure Functions voor informatie over de installatie en configuratie van de Azure OpenAI-extensie. Zie Meer informatie over het genereren of bewerken van tekst voor meer informatie over azure OpenAI-voltooiingen.
Opmerking
Verwijzingen en voorbeelden worden alleen verstrekt voor het Node.js v4-model.
Opmerking
Verwijzingen en voorbeelden worden alleen verstrekt voor het Python v2-model.
Opmerking
Hoewel beide C#-procesmodellen worden ondersteund, worden alleen geïsoleerde werkrolmodelvoorbeelden gegeven.
Voorbeeld
Go-ondersteuning is momenteel niet beschikbaar voor deze binding.
In dit voorbeeld wordt het sjabloonpatroon gedemonstreerd , waarbij de HTTP-triggerfunctie een name parameter gebruikt en deze insluit in een tekstprompt, die vervolgens wordt verzonden naar de Voltooiings-API van Azure OpenAI door de extensie. Het antwoord op de prompt wordt geretourneerd in het HTTP-antwoord.
[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);
}
In dit voorbeeld wordt een prompt als invoer gebruikt, wordt deze rechtstreeks naar de voltooiings-API verzonden en wordt het antwoord als uitvoer geretourneerd.
[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);
}
In dit voorbeeld wordt het sjabloonpatroon gedemonstreerd , waarbij de HTTP-triggerfunctie een name parameter gebruikt en deze insluit in een tekstprompt, die vervolgens wordt verzonden naar de Voltooiings-API van Azure OpenAI door de extensie. Het antwoord op de prompt wordt geretourneerd in het HTTP-antwoord.
@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();
}
In dit voorbeeld wordt een prompt als invoer gebruikt, wordt deze rechtstreeks naar de voltooiings-API verzonden en wordt het antwoord als uitvoer geretourneerd.
@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();
}
In dit voorbeeld wordt het sjabloonpatroon gedemonstreerd , waarbij de HTTP-triggerfunctie een name parameter gebruikt en deze insluit in een tekstprompt, die vervolgens wordt verzonden naar de Voltooiings-API van Azure OpenAI door de extensie. Het antwoord op de prompt wordt geretourneerd in het HTTP-antwoord.
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() }
}
});
In dit voorbeeld wordt het sjabloonpatroon gedemonstreerd , waarbij de HTTP-triggerfunctie een name parameter gebruikt en deze insluit in een tekstprompt, die vervolgens wordt verzonden naar de Voltooiings-API van Azure OpenAI door de extensie. Het antwoord op de prompt wordt geretourneerd in het HTTP-antwoord.
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() }
}
});
In dit voorbeeld wordt het sjabloonpatroon gedemonstreerd , waarbij de HTTP-triggerfunctie een name parameter gebruikt en deze insluit in een tekstprompt, die vervolgens wordt verzonden naar de Voltooiings-API van Azure OpenAI door de extensie. Het antwoord op de prompt wordt geretourneerd in het HTTP-antwoord.
Dit is het function.json-bestand voor 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"
}
]
}
Zie de sectie Configuratie voor meer informatie over function.json bestandseigenschappen.
De code retourneert gewoon de tekst van de voltooiings-API als het antwoord:
using namespace System.Net
param($Request, $TriggerMetadata, $TextCompletionResponse)
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $TextCompletionResponse.Content
})
In dit voorbeeld wordt het sjabloonpatroon gedemonstreerd , waarbij de HTTP-triggerfunctie een name parameter gebruikt en deze insluit in een tekstprompt, die vervolgens wordt verzonden naar de Voltooiings-API van Azure OpenAI door de extensie. Het antwoord op de prompt wordt geretourneerd in het HTTP-antwoord.
@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)
In dit voorbeeld wordt een prompt als invoer gebruikt, wordt deze rechtstreeks naar de voltooiings-API verzonden en wordt het antwoord als uitvoer geretourneerd.
@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)
Kenmerken
Het specifieke kenmerk dat u toepast om een invoerbinding voor tekstvoltooiing te definiëren, is afhankelijk van de C#-procesmodus.
Pas in het geïsoleerde werkrolmodel toe TextCompletionInput om een invoerbinding voor tekstvoltooiing te definiëren.
Het kenmerk ondersteunt deze parameters:
| Kenmerk | Beschrijving |
|---|---|
| Prompt | Hiermee wordt de prompt opgehaald of ingesteld voor het genereren van voltooiingen voor, gecodeerd als een tekenreeks. |
| AIConnectionName | Optioneel. Hiermee haalt u de naam van de configuratiesectie op voor connectiviteitsinstellingen voor AI-services. Voor Azure OpenAI: Als dit is opgegeven, zoekt u in deze configuratiesectie naar de waarden 'Eindpunt' en 'Sleutel'. Als deze niet is opgegeven of de sectie niet bestaat, valt u terug op omgevingsvariabelen: AZURE_OPENAI_ENDPOINT en AZURE_OPENAI_KEY. Voor door de gebruiker toegewezen beheerde identiteitverificatie is deze eigenschap vereist. Stel voor openAI-service (niet-Azure) de omgevingsvariabele OPENAI_API_KEY in. |
| ChatModel |
Optioneel. Hiermee wordt de id van het model opgehaald of ingesteld voor gebruik als een tekenreeks, met een standaardwaarde van gpt-3.5-turbo. |
| Temperatuur |
Optioneel. Hiermee wordt de steekproeftemperatuur opgehaald of ingesteld voor gebruik als tekenreeks tussen 0 en 2. Hogere waarden (0.8) maken de uitvoer willekeuriger, terwijl lagere waarden zoals (0.2) uitvoer meer gericht en deterministisch maken. U moet een van Temperature beide gebruiken of TopP, maar niet beide. |
| TopP |
Optioneel. Hiermee wordt een alternatief voor steekproeven met temperatuur, zogenaamde kernsampling, opgehaald of ingesteld als een tekenreeks. In deze steekproefmethode houdt het model rekening met de resultaten van de tokens met top_p waarschijnlijkheidsmassa. Dit betekent dat 0.1 alleen de tokens die de top 10% kansdichtheid omvatten, worden beschouwd. U moet een van Temperature beide gebruiken of TopP, maar niet beide. |
| MaxTokens |
Optioneel. Hiermee haalt of stelt u het maximum aantal tokens op dat moet worden gegenereerd in de voltooiing, als een tekenreeks met een standaardwaarde.100 Het tokenaantal van uw prompt plus max_tokens kan de contextlengte van het model niet overschrijden. De meeste modellen hebben een contextlengte van 2048 tokens (met uitzondering van de nieuwste modellen, die 4096 ondersteunen). |
| IsReasoningModel |
Optioneel. Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het voltooiingsmodel van de chat een redeneringsmodel is. Deze optie is experimenteel en gekoppeld aan het redeneringsmodel totdat alle modellen pariteit hebben in de verwachte eigenschappen, met een standaardwaarde van false. |
Aantekeningen
Met de TextCompletion aantekening kunt u een invoerbinding voor tekstvoltooiing definiëren, die ondersteuning biedt voor deze parameters:
| Onderdeel | Beschrijving |
|---|---|
| naam | Hiermee haalt u de naam van de invoerbinding op of stelt u deze in. |
| prompt | Hiermee wordt de prompt opgehaald of ingesteld voor het genereren van voltooiingen voor, gecodeerd als een tekenreeks. |
| aiConnectionName | Optioneel. Hiermee haalt u de naam van de configuratiesectie op voor connectiviteitsinstellingen voor AI-services. Voor Azure OpenAI: Als dit is opgegeven, zoekt u in deze configuratiesectie naar de waarden 'Eindpunt' en 'Sleutel'. Als deze niet is opgegeven of de sectie niet bestaat, valt u terug op omgevingsvariabelen: AZURE_OPENAI_ENDPOINT en AZURE_OPENAI_KEY. Voor door de gebruiker toegewezen beheerde identiteitverificatie is deze eigenschap vereist. Stel voor openAI-service (niet-Azure) de omgevingsvariabele OPENAI_API_KEY in. |
| chatModel | Hiermee wordt de id van het model opgehaald of ingesteld voor gebruik als een tekenreeks, met een standaardwaarde van gpt-3.5-turbo. |
| temperatuur |
Optioneel. Hiermee wordt de steekproeftemperatuur opgehaald of ingesteld voor gebruik als tekenreeks tussen 0 en 2. Hogere waarden (0.8) maken de uitvoer willekeuriger, terwijl lagere waarden zoals (0.2) uitvoer meer gericht en deterministisch maken. U moet een van Temperature beide gebruiken of TopP, maar niet beide. |
| topP |
Optioneel. Hiermee wordt een alternatief voor steekproeven met temperatuur, zogenaamde kernsampling, opgehaald of ingesteld als een tekenreeks. In deze steekproefmethode houdt het model rekening met de resultaten van de tokens met top_p waarschijnlijkheidsmassa. Dit betekent dat 0.1 alleen de tokens die de top 10% kansdichtheid omvatten, worden beschouwd. U moet een van Temperature beide gebruiken of TopP, maar niet beide. |
| maxTokens |
Optioneel. Hiermee haalt of stelt u het maximum aantal tokens op dat moet worden gegenereerd in de voltooiing, als een tekenreeks met een standaardwaarde.100 Het tokenaantal van uw prompt plus max_tokens kan de contextlengte van het model niet overschrijden. De meeste modellen hebben een contextlengte van 2048 tokens (met uitzondering van de nieuwste modellen, die 4096 ondersteunen). |
| isReasoningModel |
Optioneel. Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het voltooiingsmodel van de chat een redeneringsmodel is. Deze optie is experimenteel en gekoppeld aan het redeneringsmodel totdat alle modellen pariteit hebben in de verwachte eigenschappen, met een standaardwaarde van false. |
Decorateurs
Definieer tijdens de preview de invoerbinding als een generic_input_binding binding van het type textCompletion, die ondersteuning biedt voor deze parameters:
| Kenmerk | Beschrijving |
|---|---|
| arg_name | De naam van de variabele die de bindingsparameter vertegenwoordigt. |
| prompt | Hiermee wordt de prompt opgehaald of ingesteld voor het genereren van voltooiingen voor, gecodeerd als een tekenreeks. |
| ai_connection_name | Optioneel. Hiermee haalt u de naam van de configuratiesectie op voor connectiviteitsinstellingen voor AI-services. Voor Azure OpenAI: Als dit is opgegeven, zoekt u in deze configuratiesectie naar de waarden 'Eindpunt' en 'Sleutel'. Als deze niet is opgegeven of de sectie niet bestaat, valt u terug op omgevingsvariabelen: AZURE_OPENAI_ENDPOINT en AZURE_OPENAI_KEY. Voor door de gebruiker toegewezen beheerde identiteitverificatie is deze eigenschap vereist. Stel voor openAI-service (niet-Azure) de omgevingsvariabele OPENAI_API_KEY in. |
| chat_model | Hiermee wordt de id van het model opgehaald of ingesteld voor gebruik als een tekenreeks, met een standaardwaarde van gpt-3.5-turbo. |
| temperatuur |
Optioneel. Hiermee wordt de steekproeftemperatuur opgehaald of ingesteld voor gebruik als tekenreeks tussen 0 en 2. Hogere waarden (0.8) maken de uitvoer willekeuriger, terwijl lagere waarden zoals (0.2) uitvoer meer gericht en deterministisch maken. U moet een van Temperature beide gebruiken of TopP, maar niet beide. |
| top_p |
Optioneel. Hiermee wordt een alternatief voor steekproeven met temperatuur, zogenaamde kernsampling, opgehaald of ingesteld als een tekenreeks. In deze steekproefmethode houdt het model rekening met de resultaten van de tokens met top_p waarschijnlijkheidsmassa. Dit betekent dat 0.1 alleen de tokens die de top 10% kansdichtheid omvatten, worden beschouwd. U moet een van Temperature beide gebruiken of TopP, maar niet beide. |
| max_tokens |
Optioneel. Hiermee haalt of stelt u het maximum aantal tokens op dat moet worden gegenereerd in de voltooiing, als een tekenreeks met een standaardwaarde.100 Het tokenaantal van uw prompt plus max_tokens kan de contextlengte van het model niet overschrijden. De meeste modellen hebben een contextlengte van 2048 tokens (met uitzondering van de nieuwste modellen, die 4096 ondersteunen). |
| is_reasoning _model |
Optioneel. Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het voltooiingsmodel van de chat een redeneringsmodel is. Deze optie is experimenteel en gekoppeld aan het redeneringsmodel totdat alle modellen pariteit hebben in de verwachte eigenschappen, met een standaardwaarde van false. |
Configuratie
De binding ondersteunt deze configuratie-eigenschappen die u in het function.json-bestand hebt ingesteld.
| Vastgoed | Beschrijving |
|---|---|
| soort | Moet textCompletionzijn. |
| richting | Moet inzijn. |
| naam | De naam van de invoerbinding. |
| prompt | Hiermee wordt de prompt opgehaald of ingesteld voor het genereren van voltooiingen voor, gecodeerd als een tekenreeks. |
| aiConnectionName | Optioneel. Hiermee haalt u de naam van de configuratiesectie op voor connectiviteitsinstellingen voor AI-services. Voor Azure OpenAI: Als dit is opgegeven, zoekt u in deze configuratiesectie naar de waarden 'Eindpunt' en 'Sleutel'. Als deze niet is opgegeven of de sectie niet bestaat, valt u terug op omgevingsvariabelen: AZURE_OPENAI_ENDPOINT en AZURE_OPENAI_KEY. Voor door de gebruiker toegewezen beheerde identiteitverificatie is deze eigenschap vereist. Stel voor openAI-service (niet-Azure) de omgevingsvariabele OPENAI_API_KEY in. |
| chatModel | Hiermee wordt de id van het model opgehaald of ingesteld voor gebruik als een tekenreeks, met een standaardwaarde van gpt-3.5-turbo. |
| temperatuur |
Optioneel. Hiermee wordt de steekproeftemperatuur opgehaald of ingesteld voor gebruik als tekenreeks tussen 0 en 2. Hogere waarden (0.8) maken de uitvoer willekeuriger, terwijl lagere waarden zoals (0.2) uitvoer meer gericht en deterministisch maken. U moet een van Temperature beide gebruiken of TopP, maar niet beide. |
| topP |
Optioneel. Hiermee wordt een alternatief voor steekproeven met temperatuur, zogenaamde kernsampling, opgehaald of ingesteld als een tekenreeks. In deze steekproefmethode houdt het model rekening met de resultaten van de tokens met top_p waarschijnlijkheidsmassa. Dit betekent dat 0.1 alleen de tokens die de top 10% kansdichtheid omvatten, worden beschouwd. U moet een van Temperature beide gebruiken of TopP, maar niet beide. |
| maxTokens |
Optioneel. Hiermee haalt of stelt u het maximum aantal tokens op dat moet worden gegenereerd in de voltooiing, als een tekenreeks met een standaardwaarde.100 Het tokenaantal van uw prompt plus max_tokens kan de contextlengte van het model niet overschrijden. De meeste modellen hebben een contextlengte van 2048 tokens (met uitzondering van de nieuwste modellen, die 4096 ondersteunen). |
| isReasoningModel |
Optioneel. Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het voltooiingsmodel van de chat een redeneringsmodel is. Deze optie is experimenteel en gekoppeld aan het redeneringsmodel totdat alle modellen pariteit hebben in de verwachte eigenschappen, met een standaardwaarde van false. |
Configuratie
De binding ondersteunt deze eigenschappen, die zijn gedefinieerd in uw code:
| Vastgoed | Beschrijving |
|---|---|
| prompt | Hiermee wordt de prompt opgehaald of ingesteld voor het genereren van voltooiingen voor, gecodeerd als een tekenreeks. |
| aiConnectionName | Optioneel. Hiermee haalt u de naam van de configuratiesectie op voor connectiviteitsinstellingen voor AI-services. Voor Azure OpenAI: Als dit is opgegeven, zoekt u in deze configuratiesectie naar de waarden 'Eindpunt' en 'Sleutel'. Als deze niet is opgegeven of de sectie niet bestaat, valt u terug op omgevingsvariabelen: AZURE_OPENAI_ENDPOINT en AZURE_OPENAI_KEY. Voor door de gebruiker toegewezen beheerde identiteitverificatie is deze eigenschap vereist. Stel voor openAI-service (niet-Azure) de omgevingsvariabele OPENAI_API_KEY in. |
| chatModel | Hiermee wordt de id van het model opgehaald of ingesteld voor gebruik als een tekenreeks, met een standaardwaarde van gpt-3.5-turbo. |
| temperatuur |
Optioneel. Hiermee wordt de steekproeftemperatuur opgehaald of ingesteld voor gebruik als tekenreeks tussen 0 en 2. Hogere waarden (0.8) maken de uitvoer willekeuriger, terwijl lagere waarden zoals (0.2) uitvoer meer gericht en deterministisch maken. U moet een van Temperature beide gebruiken of TopP, maar niet beide. |
| topP |
Optioneel. Hiermee wordt een alternatief voor steekproeven met temperatuur, zogenaamde kernsampling, opgehaald of ingesteld als een tekenreeks. In deze steekproefmethode houdt het model rekening met de resultaten van de tokens met top_p waarschijnlijkheidsmassa. Dit betekent dat 0.1 alleen de tokens die de top 10% kansdichtheid omvatten, worden beschouwd. U moet een van Temperature beide gebruiken of TopP, maar niet beide. |
| maxTokens |
Optioneel. Hiermee haalt of stelt u het maximum aantal tokens op dat moet worden gegenereerd in de voltooiing, als een tekenreeks met een standaardwaarde.100 Het tokenaantal van uw prompt plus max_tokens kan de contextlengte van het model niet overschrijden. De meeste modellen hebben een contextlengte van 2048 tokens (met uitzondering van de nieuwste modellen, die 4096 ondersteunen). |
| isReasoningModel |
Optioneel. Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het voltooiingsmodel van de chat een redeneringsmodel is. Deze optie is experimenteel en gekoppeld aan het redeneringsmodel totdat alle modellen pariteit hebben in de verwachte eigenschappen, met een standaardwaarde van false. |
Gebruik
Zie de sectie Voorbeeld voor volledige voorbeelden.
Connections
Om de Azure OpenAI-bindingsextensie te gebruiken, moet je een verbinding specificeren met een OpenAI-modeldefinitie. Stel de OpenAI-modelverbinding in je bindings in met een van deze benaderingen:
- Gebruik de
AIConnectionNamebinding-eigenschap (voorkeur voor Azure OpenAI). - Instellen
AZURE_OPENAI_ENDPOINTenAZURE_OPENAI_KEYin de app-instellingen (voor Azure OpenAI). - Stel alleen
Open_API_Keyin de app-instellingen in (voorhttps://api.openai.com).
De manier waarop je de verbinding instelt hangt af van zowel de model-API als de authenticatiemethode, zoals aangegeven in de volgende tabel:
| Authenticatie/Model API | Azure OpenAI | OpenAI (https://api.openai.com) |
|---|---|---|
| Beheerde identiteitsverbinding | AIConnectionName |
Niet ondersteund |
| Key Vault-referentie | AZURE_OPENAI_ENDPOINTAZURE_OPENAI_KEY |
Open_API_Key |
| App-configuratiereferentie | AZURE_OPENAI_ENDPOINTAZURE_OPENAI_KEY |
Open_API_Key |
| Gedeeld geheim | AZURE_OPENAI_ENDPOINTAZURE_OPENAI_KEY |
Open_API_Key |
Gebruik beheerde identiteitsgebaseerde verbindingen en het eigendom AIConnectionName .
Wanneer je gebruikt AIConnectionName, hangt de waarde van deze eigenschapsinstelling af van het type verbinding:
-
Managed identity-verbinding: De
AIConnectionNameeigenschap wordt<CONNECTION_NAME_PREFIX>gedeeld door een groep instellingen die samen een identiteitsgebaseerde verbinding met Azure OpenAI definiëren. Voor meer informatie, zie Definieer identiteitsverbindingen. -
Key Vault-referentie: De
AIConnectionNameproperty-instelling geeft een Azure Key Vault-referentie terug naar de locatie waar de API-sleutel centraal wordt onderhouden. Voor meer informatie, zie Define Key Vault-verbindingen. -
App Configuration reference: De
AIConnectionNameproperty-instelling geeft een Azure App Configuration-referentie terug die een API-sleutel of een Key Vault-referentie teruggeeft. Voor meer informatie, zie Azure App Configuration in het artikel over verbindingen. -
API-sleutel: De
AIConnectionNameproperty-instelling wordt direct omgezet naar app-instellingen die het eindpunt en de sleutel bevatten. Omdat gedeelde sleutels gecompromitteerd kunnen worden, gebruik waar mogelijk beheerde identiteitsverbindingen. Voor meer informatie, zie Verbindingen definiëren.
Voor meer informatie over bindingsverbindingen, zie Verbindingen beheren in Azure Functions.
De OpenAI-bindings bevatten een AIConnectionName eigenschap die je kunt gebruiken om de <ConnectionNamePrefix> voor de groep app-instellingen te specificeren die de verbinding met Azure OpenAI definiëren:
| Instellingsnaam | Beschrijving |
|---|---|
<CONNECTION_NAME_PREFIX>__endpoint |
Zet het URI-eindpunt van de Azure OpenAI-service. 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 je deze eigenschap niet specificeert, wordt de 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 access token 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 is gezet op managedidentity, stel deze eigenschap in om de resource Identifier te specificeren die gebruikt moet worden 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 je geen van beide specificeert, 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 |
Stelt de gedeelde geheime sleutel in die nodig is om toegang te krijgen tot het eindpunt van de Azure OpenAI-dienst door gebruik te maken van sleutelgebaseerde authenticatie. Als beveiligingsbest practice gebruik je altijd Microsoft Entra ID met beheerde identiteiten voor authenticatie. |
Overweeg deze managed identity-verbindingsinstellingen wanneer je de AIConnectionName eigenschap instelt op myAzureOpenAI:
myAzureOpenAI__endpoint=https://contoso.openai.azure.com/myAzureOpenAI__credential=managedidentitymyAzureOpenAI__clientId=aaaaaaaa-bbbb-cccc-1111-222222222222
Tijdens runtime interpreteert de host deze instellingen als één enkele myAzureOpenAI instelling:
"myAzureOpenAI":
{
"endpoint": "https://contoso.openai.azure.com/",
"credential": "managedidentity",
"clientId": "aaaaaaaa-bbbb-cccc-1111-222222222222"
}
Wanneer je managed identitys gebruikt, voeg je dan je identiteit toe aan de Cognitive Services OpenAI User rol.
Voeg deze instellingen bij lokaal uitvoeren toe aan het local.settings.json projectbestand. Zie Lokale ontwikkeling met op identiteit gebaseerde verbindingen voor meer informatie.
Zie Werken met toepassingsinstellingen voor meer informatie.