Azure OpenAI Semantic Search Input Binding voor Azure Functions

Belangrijk

De Azure OpenAI-extensie voor Azure Functions is momenteel in preview.

Met de semantische zoekinvoerbinding van Azure OpenAI kunt u semantische zoekopdrachten gebruiken voor uw insluitingen.

Zie Azure OpenAI-extensies voor Azure Functions voor informatie over de installatie en configuratie van de Azure OpenAI-extensie. Zie Semantische rangschikking in Azure AI Zoeken voor meer informatie over semantische rangschikking in Azure AI Zoeken.

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 ziet u hoe u een semantische zoekopdracht uitvoert op een bestand.

[Function("PromptFile")]
public static IActionResult PromptFile(
    [HttpTrigger(AuthorizationLevel.Function, "post")] SemanticSearchRequest unused,
    [SemanticSearchInput("AISearchEndpoint", "openai-index", Query = "{prompt}", ChatModel = "%CHAT_MODEL_DEPLOYMENT_NAME%", EmbeddingsModel = "%EMBEDDING_MODEL_DEPLOYMENT_NAME%", AIConnectionName = "AzureOpenAI")] SemanticSearchContext result)
{
    return new ContentResult { Content = result.Response, ContentType = "text/plain" };
}

In dit voorbeeld ziet u hoe u een semantische zoekopdracht uitvoert op een bestand.

@FunctionName("PromptFile")
public HttpResponseMessage promptFile(
    @HttpTrigger(
        name = "req", 
        methods = {HttpMethod.POST},
        authLevel = AuthorizationLevel.FUNCTION)
        HttpRequestMessage<SemanticSearchRequest> request,
    @SemanticSearch(name = "search", searchConnectionName = "AISearchEndpoint", collection = "openai-index", query = "{prompt}", chatModel = "%CHAT_MODEL_DEPLOYMENT_NAME%", embeddingsModel = "%EMBEDDING_MODEL_DEPLOYMENT_NAME%", isReasoningModel = false, aiConnectionName = "AzureOpenAI" ) String semanticSearchContext,
    final ExecutionContext context) {
        String response = new JSONObject(semanticSearchContext).getString("Response");
        return request.createResponseBuilder(HttpStatus.OK)
        .header("Content-Type", "application/json")
        .body(response)
        .build();        
}
public class SemanticSearchRequest {
    public String prompt;
    public String getPrompt() {
        return prompt;
    }
    public void setPrompt(String prompt) {
        this.prompt = prompt;
    }        
}

In dit voorbeeld ziet u hoe u een semantische zoekopdracht uitvoert op een bestand.

const semanticSearchInput = input.generic({
    type: "semanticSearch",
    searchConnectionName: "AISearchEndpoint",
    collection: "openai-index",
    query: "{prompt}",
    chatModel: "%CHAT_MODEL_DEPLOYMENT_NAME%",
    embeddingsModel: "%EMBEDDING_MODEL_DEPLOYMENT_NAME%",
    aiConnectionName: 'AzureOpenAI',
});

app.http('PromptFile', {
    methods: ['POST'],
    authLevel: 'function',
    extraInputs: [semanticSearchInput],
    handler: async (_request, context) => {
        var responseBody = context.extraInputs.get(semanticSearchInput)

        return { status: 200, body: responseBody.Response.trim() }
    }
});
const semanticSearchInput = input.generic({
    type: "semanticSearch",
    searchConnectionName: "AISearchEndpoint",
    collection: "openai-index",
    query: "{prompt}",
    chatModel: "%CHAT_MODEL_DEPLOYMENT_NAME%",
    aiConnectionName: 'AzureOpenAI',
    embeddingsModel: "%EMBEDDING_MODEL_DEPLOYMENT_NAME%"
});

app.http('PromptFile', {
    methods: ['POST'],
    authLevel: 'function',
    extraInputs: [semanticSearchInput],
    handler: async (_request, context) => {
        var responseBody: any = context.extraInputs.get(semanticSearchInput)

        return { status: 200, body: responseBody.Response.trim() }
    }
});

In dit voorbeeld ziet u hoe u een semantische zoekopdracht uitvoert op een bestand.

Dit is het function.json-bestand om een bestand te vragen:

{
  "bindings": [
    {
      "authLevel": "function",
      "type": "httpTrigger",
      "direction": "in",
      "name": "Request",
      "methods": [
        "post"
      ]
    },
    {
      "type": "http",
      "direction": "out",
      "name": "Response"
    },
    {
      "name": "SemanticSearchInput",
      "type": "semanticSearch",
      "direction": "in",
      "searchConnectionName": "AISearchEndpoint",
      "collection": "openai-index",
      "query": "{prompt}",
      "chatModel": "%CHAT_MODEL_DEPLOYMENT_NAME%",
      "embeddingsModel": "%EMBEDDING_MODEL_DEPLOYMENT_NAME%",
      "aiConnectionName": "AzureOpenAI"
    }
  ]
}

Zie de sectie Configuratie voor meer informatie over function.json bestandseigenschappen.

using namespace System.Net

param($Request, $TriggerMetadata, $SemanticSearchInput)

Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
        StatusCode = [HttpStatusCode]::OK
        Body       = $SemanticSearchInput.Response
    })

In dit voorbeeld ziet u hoe u een semantische zoekopdracht uitvoert op een bestand.

@app.function_name("PromptFile")
@app.route(methods=["POST"])
@app.semantic_search_input(
    arg_name="result",
    search_connection_name="AISearchEndpoint",
    collection="openai-index",
    query="{prompt}",
    embeddings_model="%EMBEDDING_MODEL_DEPLOYMENT_NAME%",
    ai_connection_name="AzureOpenAI",
    chat_model="%CHAT_MODEL_DEPLOYMENT_NAME%",
)
def prompt_file(req: func.HttpRequest, result: str) -> func.HttpResponse:
    result_json = json.loads(result)
    response_json = {
        "content": result_json.get("Response"),
        "content_type": "text/plain",
    }
    return func.HttpResponse(
        json.dumps(response_json), status_code=200, mimetype="application/json"
    )

Kenmerken

Pas het SemanticSearchInput kenmerk toe om een semantische zoekinvoerbinding te definiëren, die ondersteuning biedt voor deze parameters:

Kenmerk Beschrijving
SearchConnectionName De naam van een app-instelling of omgevingsvariabele die de verbindingsreeks waarde bevat. Deze eigenschap ondersteunt bindingexpressies.
verzameling De naam van de verzameling of tabel of index die u wilt zoeken. Deze eigenschap ondersteunt bindingexpressies.
Vraag De semantische querytekst die moet worden gebruikt voor zoeken. Deze eigenschap ondersteunt bindingexpressies.
EmbeddingsModel Optioneel. De id van het model dat moet worden gebruikt voor insluitingen. De standaardwaarde is text-embedding-3-small. Deze eigenschap ondersteunt bindingexpressies.
ChatModel Optioneel. Hiermee wordt de naam van het grote taalmodel opgehaald of ingesteld om aan te roepen voor chatantwoorden. De standaardwaarde is gpt-3.5-turbo. Deze eigenschap ondersteunt bindingexpressies.
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.
SystemPrompt Optioneel. Hiermee wordt de systeemprompt opgevraagd of ingesteld voor het vragen om het grote taalmodel. De systeemprompt wordt toegevoegd met kennis die wordt opgehaald als gevolg van de Query. De gecombineerde prompt wordt verzonden naar de OpenAI Chat-API. Deze eigenschap ondersteunt bindingexpressies.
MaxKnowledgeCount Optioneel. Hiermee haalt of stelt u het aantal kennisitems in dat SystemPromptmoet worden ingevoerd.
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

SemanticSearchInput Met de aantekening kunt u een semantische zoekinvoerbinding definiëren, die deze parameters ondersteunt:

Onderdeel Beschrijving
naam Hiermee haalt u de naam van de invoerbinding op of stelt u deze in.
searchConnectionName De naam van een app-instelling of omgevingsvariabele die de verbindingsreeks waarde bevat. Deze eigenschap ondersteunt bindingexpressies.
verzameling De naam van de verzameling of tabel of index die u wilt zoeken. Deze eigenschap ondersteunt bindingexpressies.
vraag De semantische querytekst die moet worden gebruikt voor zoeken. Deze eigenschap ondersteunt bindingexpressies.
embeddingsModel Optioneel. De id van het model dat moet worden gebruikt voor insluitingen. De standaardwaarde is text-embedding-3-small. Deze eigenschap ondersteunt bindingexpressies.
chatModel Optioneel. Hiermee wordt de naam van het grote taalmodel opgehaald of ingesteld om aan te roepen voor chatantwoorden. De standaardwaarde is gpt-3.5-turbo. Deze eigenschap ondersteunt bindingexpressies.
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.
systemPrompt Optioneel. Hiermee wordt de systeemprompt opgevraagd of ingesteld voor het vragen om het grote taalmodel. De systeemprompt wordt toegevoegd met kennis die wordt opgehaald als gevolg van de Query. De gecombineerde prompt wordt verzonden naar de OpenAI Chat-API. Deze eigenschap ondersteunt bindingexpressies.
maxKnowledgeCount Optioneel. Hiermee haalt of stelt u het aantal kennisitems in dat SystemPromptmoet worden ingevoerd.
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 semanticSearch, die ondersteuning biedt voor deze parameters:

Kenmerk Beschrijving
arg_name De naam van de variabele die de bindingsparameter vertegenwoordigt.
search_connection_name De naam van een app-instelling of omgevingsvariabele die de verbindingsreeks waarde bevat. Deze eigenschap ondersteunt bindingexpressies.
verzameling De naam van de verzameling of tabel of index die u wilt zoeken. Deze eigenschap ondersteunt bindingexpressies.
vraag De semantische querytekst die moet worden gebruikt voor zoeken. Deze eigenschap ondersteunt bindingexpressies.
embeddings_model Optioneel. De id van het model dat moet worden gebruikt voor insluitingen. De standaardwaarde is text-embedding-3-small. Deze eigenschap ondersteunt bindingexpressies.
chat_model Optioneel. Hiermee wordt de naam van het grote taalmodel opgehaald of ingesteld om aan te roepen voor chatantwoorden. De standaardwaarde is gpt-3.5-turbo. Deze eigenschap ondersteunt bindingexpressies.
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.
system_prompt Optioneel. Hiermee wordt de systeemprompt opgevraagd of ingesteld voor het vragen om het grote taalmodel. De systeemprompt wordt toegevoegd met kennis die wordt opgehaald als gevolg van de Query. De gecombineerde prompt wordt verzonden naar de OpenAI Chat-API. Deze eigenschap ondersteunt bindingexpressies.
max_knowledge_count Optioneel. Hiermee haalt of stelt u het aantal kennisitems in dat SystemPromptmoet worden ingevoerd.
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 semanticSearchzijn.
richting Moet inzijn.
naam De naam van de invoerbinding.
searchConnectionName Hiermee haalt u de naam op van een app-instelling of omgevingsvariabele die een verbindingsreekswaarde bevat. Deze eigenschap ondersteunt bindingexpressies.
verzameling De naam van de verzameling of tabel of index die u wilt zoeken. Deze eigenschap ondersteunt bindingexpressies.
vraag De semantische querytekst die moet worden gebruikt voor zoeken. Deze eigenschap ondersteunt bindingexpressies.
embeddingsModel Optioneel. De id van het model dat moet worden gebruikt voor insluitingen. De standaardwaarde is text-embedding-3-small. Deze eigenschap ondersteunt bindingexpressies.
chatModel Optioneel. Hiermee wordt de naam van het grote taalmodel opgehaald of ingesteld om aan te roepen voor chatantwoorden. De standaardwaarde is gpt-3.5-turbo. Deze eigenschap ondersteunt bindingexpressies.
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.
systemPrompt Optioneel. Hiermee wordt de systeemprompt opgevraagd of ingesteld voor het vragen om het grote taalmodel. De systeemprompt wordt toegevoegd met kennis die wordt opgehaald als gevolg van de Query. De gecombineerde prompt wordt verzonden naar de OpenAI Chat-API. Deze eigenschap ondersteunt bindingexpressies.
maxKnowledgeCount Optioneel. Hiermee haalt of stelt u het aantal kennisitems in dat SystemPromptmoet worden ingevoerd.
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
searchConnectionName De naam van een app-instelling of omgevingsvariabele die de verbindingsreeks waarde bevat. Deze eigenschap ondersteunt bindingexpressies.
verzameling De naam van de verzameling of tabel of index die u wilt zoeken. Deze eigenschap ondersteunt bindingexpressies.
vraag De semantische querytekst die moet worden gebruikt voor zoeken. Deze eigenschap ondersteunt bindingexpressies.
embeddingsModel Optioneel. De id van het model dat moet worden gebruikt voor insluitingen. De standaardwaarde is text-embedding-3-small. Deze eigenschap ondersteunt bindingexpressies.
chatModel Optioneel. Hiermee wordt de naam van het grote taalmodel opgehaald of ingesteld om aan te roepen voor chatantwoorden. De standaardwaarde is gpt-3.5-turbo. Deze eigenschap ondersteunt bindingexpressies.
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.
systemPrompt Optioneel. Hiermee wordt de systeemprompt opgevraagd of ingesteld voor het vragen om het grote taalmodel. De systeemprompt wordt toegevoegd met kennis die wordt opgehaald als gevolg van de Query. De gecombineerde prompt wordt verzonden naar de OpenAI Chat-API. Deze eigenschap ondersteunt bindingexpressies.
maxKnowledgeCount Optioneel. Hiermee haalt of stelt u het aantal kennisitems in dat SystemPromptmoet worden ingevoerd.
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 AIConnectionName binding-eigenschap (voorkeur voor Azure OpenAI).
  • Instellen AZURE_OPENAI_ENDPOINT en AZURE_OPENAI_KEY in de app-instellingen (voor Azure OpenAI).
  • Stel alleen Open_API_Key in de app-instellingen in (voor https://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_ENDPOINT
AZURE_OPENAI_KEY
Open_API_Key
App-configuratiereferentie AZURE_OPENAI_ENDPOINT
AZURE_OPENAI_KEY
Open_API_Key
Gedeeld geheim AZURE_OPENAI_ENDPOINT
AZURE_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 AIConnectionName eigenschap 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 AIConnectionName property-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 AIConnectionName property-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 AIConnectionName property-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=managedidentity
  • myAzureOpenAI__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.