Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wichtig
Die Azure OpenAI-Erweiterung für Azure Functions befindet sich derzeit in der Vorschau.
Mit der Azure OpenAI-Eingabebindung zum Senden einer Nachricht an den Assistenten können Sie Prompts an Assistenten-Chatbots senden.
Informationen zu Einrichtungs- und Konfigurationsdetails der Azure OpenAI-Erweiterung finden Sie unter Azure OpenAI-Erweiterungen für Azure Functions. Weitere Informationen zu Azure OpenAI-Assistenten finden Sie unter API für Azure OpenAI-Assistenten.
Hinweis
Referenzen und Beispiele werden nur für das Node.js v4-Modell bereitgestellt.
Hinweis
Referenzen und Beispiele werden nur für das Python v2-Modell bereitgestellt.
Hinweis
Während beide C#-Prozessmodelle unterstützt werden, werden nur Isolierte Arbeitsmodellbeispiele bereitgestellt.
Beispiel
Go-Support ist derzeit nicht für diese Bindung verfügbar.
In diesem Beispiel wird der Erstellungsprozess veranschaulicht, bei dem die HTTP POST-Funktion Benutzerprompts an den Assistenten-Chatbot sendet. Die Antwort auf den Prompt wird in der HTTP-Antwort zurückgegeben.
/// <summary>
/// HTTP POST function that sends user prompts to the assistant chat bot.
/// </summary>
[Function(nameof(PostUserQuery))]
public static IActionResult PostUserQuery(
[HttpTrigger(AuthorizationLevel.Function, "post", Route = "assistants/{assistantId}")] HttpRequestData req,
string assistantId,
[AssistantPostInput("{assistantId}", "{Query.message}", ChatModel = "%CHAT_MODEL_DEPLOYMENT_NAME%", AIConnectionName = "AzureOpenAI", ChatStorageConnectionSetting = DefaultChatStorageConnectionSetting, CollectionName = DefaultCollectionName)] AssistantState state)
{
return new OkObjectResult(state.RecentMessages.Any() ? state.RecentMessages[state.RecentMessages.Count - 1].Content : "No response returned.");
}
In diesem Beispiel wird der Erstellungsprozess veranschaulicht, bei dem die HTTP POST-Funktion Benutzerprompts an den Assistenten-Chatbot sendet. Die Antwort auf den Prompt wird in der HTTP-Antwort zurückgegeben.
/*
* HTTP POST function that sends user prompts to the assistant chat bot.
*/
@FunctionName("PostUserResponse")
public HttpResponseMessage postUserResponse(
@HttpTrigger(
name = "req",
methods = {HttpMethod.POST},
authLevel = AuthorizationLevel.FUNCTION,
route = "assistants/{assistantId}")
HttpRequestMessage<Optional<String>> request,
@BindingName("assistantId") String assistantId,
@AssistantPost(name="newMessages", id = "{assistantId}", chatModel = "%CHAT_MODEL_DEPLOYMENT_NAME%", aiConnectionName = "AzureOpenAI", userMessage = "{Query.message}", chatStorageConnectionSetting = DEFAULT_CHATSTORAGE, collectionName = DEFAULT_COLLECTION) AssistantState state,
final ExecutionContext context) {
List<AssistantMessage> recentMessages = state.getRecentMessages();
String response = recentMessages.isEmpty() ? "No response returned." : recentMessages.get(recentMessages.size() - 1).getContent();
return request.createResponseBuilder(HttpStatus.OK)
.header("Content-Type", "application/json")
.body(response)
.build();
}
In diesem Beispiel wird der Erstellungsprozess veranschaulicht, bei dem die HTTP POST-Funktion Benutzerprompts an den Assistenten-Chatbot sendet. Die Antwort auf den Prompt wird in der HTTP-Antwort zurückgegeben.
const { app, input, output } = require("@azure/functions");
const assistantPostInput = input.generic({
type: 'assistantPost',
id: '{assistantId}',
chatModel: '%CHAT_MODEL_DEPLOYMENT_NAME%',
aiConnectionName: 'AzureOpenAI',
userMessage: '{Query.message}',
chatStorageConnectionSetting: CHAT_STORAGE_CONNECTION_SETTING,
collectionName: COLLECTION_NAME
})
app.http('PostUserResponse', {
methods: ['POST'],
route: 'assistants/{assistantId}',
authLevel: 'function',
extraInputs: [assistantPostInput],
handler: async (_, context) => {
const chatState = context.extraInputs.get(assistantPostInput)
const content = chatState.recentMessages[0].content
return {
status: 200,
body: content,
headers: {
'Content-Type': 'text/plain'
}
};
}
})
import { HttpRequest, InvocationContext, app, input, output } from "@azure/functions"
const assistantPostInput = input.generic({
type: 'assistantPost',
id: '{assistantId}',
chatModel: '%CHAT_MODEL_DEPLOYMENT_NAME%',
aiConnectionName: 'AzureOpenAI',
userMessage: '{Query.message}',
chatStorageConnectionSetting: CHAT_STORAGE_CONNECTION_SETTING,
collectionName: COLLECTION_NAME
})
app.http('PostUserResponse', {
methods: ['POST'],
route: 'assistants/{assistantId}',
authLevel: 'function',
extraInputs: [assistantPostInput],
handler: async (_, context) => {
const chatState: any = context.extraInputs.get(assistantPostInput)
const content = chatState.recentMessages[0].content
return {
status: 200,
body: content,
headers: {
'Content-Type': 'text/plain'
}
};
}
})
In diesem Beispiel wird der Erstellungsprozess veranschaulicht, bei dem die HTTP POST-Funktion Benutzerprompts an den Assistenten-Chatbot sendet. Die Antwort auf den Prompt wird in der HTTP-Antwort zurückgegeben.
Dies ist die function.json Datei für die Abfrage nach dem Benutzer:
{
"bindings": [
{
"authLevel": "function",
"type": "httpTrigger",
"direction": "in",
"name": "Request",
"route": "assistants/{assistantId}",
"methods": [
"post"
]
},
{
"type": "http",
"direction": "out",
"name": "Response"
},
{
"name": "State",
"type": "assistantPost",
"direction": "in",
"dataType": "string",
"id": "{assistantId}",
"userMessage": "{Query.message}",
"chatModel": "%CHAT_MODEL_DEPLOYMENT_NAME%",
"chatStorageConnectionSetting": "AzureWebJobsStorage",
"collectionName": "ChatState",
"aiConnectionName": "AzureOpenAI"
}
]
}
Weitere Informationen zu den Dateieigenschaften von function.json finden Sie im Abschnitt Konfiguration.
using namespace System.Net
param($Request, $TriggerMetadata, $State)
$recent_message_content = "No recent messages!"
if ($State.recentMessages.Count -gt 0) {
$recent_message_content = $State.recentMessages[0].content
}
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $recent_message_content
Headers = @{
"Content-Type" = "text/plain"
}
})
In diesem Beispiel wird der Erstellungsprozess veranschaulicht, bei dem die HTTP POST-Funktion Benutzerprompts an den Assistenten-Chatbot sendet. Die Antwort auf den Prompt wird in der HTTP-Antwort zurückgegeben.
@apis.function_name("PostUserQuery")
@apis.route(route="assistants/{assistantId}", methods=["POST"])
@apis.assistant_post_input(
arg_name="state",
id="{assistantId}",
user_message="{Query.message}",
chat_model="%CHAT_MODEL_DEPLOYMENT_NAME%",
ai_connection_name="AzureOpenAI",
chat_storage_connection_setting=DEFAULT_CHAT_STORAGE_SETTING,
collection_name=DEFAULT_CHAT_COLLECTION_NAME,
)
def post_user_response(req: func.HttpRequest, state: str) -> func.HttpResponse:
# Parse the JSON string into a dictionary
data = json.loads(state)
# Extract the content of the recentMessage
recent_message_content = data["recentMessages"][0]["content"]
return func.HttpResponse(
recent_message_content, status_code=200, mimetype="text/plain"
)
Attribute
Wenden Sie das Attribut PostUserQuery an, um eine Eingabebindung zum Senden einer Nachricht an den Assistenten zu definieren, die diese Parameter unterstützt:
| Parameter | Beschreibung |
|---|---|
| Id | Die ID des zu aktualisierenden Assistenten. |
| UserMessage | Ruft die Benutzernachricht für das Chatabschlussmodell ab, die als Zeichenfolge codiert ist, oder legt sie fest. |
| AIConnectionName | Optional. Dient zum Abrufen oder Festlegen des Namens des Konfigurationsabschnitts für AI-Dienstkonnektivitätseinstellungen. Für Azure OpenAI: Wenn angegeben, suchen Sie in diesem Konfigurationsabschnitt nach "Endpunkt" und "Key". Wenn sie nicht angegeben ist oder der Abschnitt nicht vorhanden ist, kehren Sie auf Umgebungsvariablen zurück: AZURE_OPENAI_ENDPOINT und AZURE_OPENAI_KEY. Für die vom Benutzer zugewiesene verwaltete Identitätsauthentifizierung ist diese Eigenschaft erforderlich. Legen Sie für openAI-Dienst (nicht azure) die OPENAI_API_KEY Umgebungsvariable fest. |
| ChatModel |
Optional. Dient zum Abrufen oder Festlegen der ID des Modells, das als Zeichenfolge verwendet werden soll, mit einem Standardwert von gpt-3.5-turbo. |
| Temperatur |
Optional. Ruft die zu verwendende Samplingtemperatur als Zeichenfolge zwischen 0 und .2 Höhere Werte (0.8) machen die Ausgabe zufälliger, während niedrigere Werte wie (0.2) die Ausgabe fokussierter und deterministisch gestalten. Sie sollten entweder Temperature oder TopP, aber nicht beide verwenden. |
| TopP |
Optional. Dient zum Abrufen oder Festlegen einer Alternative zur Probenahme mit Temperatur, die als Kernsampling bezeichnet wird, als Zeichenfolge. Bei dieser Samplingmethode berücksichtigt das Modell die Ergebnisse der Token mit top_p Wahrscheinlichkeitsmasse. Bedeutet also 0.1 , dass nur die Token aus den top 10% Wahrscheinlichkeitsmasse berücksichtigt werden. Sie sollten entweder Temperature oder TopP, aber nicht beide verwenden. |
| MaxTokens |
Optional. Dient zum Abrufen oder Festlegen der maximalen Anzahl von Token, die im Abschluss generiert werden sollen, als Zeichenfolge mit einem Standardwert von 100. Die Tokenanzahl Ihres Prompts plus max_tokens darf die Kontextlänge des Modells nicht überschreiten. Die meisten Modelle haben eine Kontextlänge von 2,048 Token (mit Ausnahme der neuesten Modelle, die 4096 unterstützen). |
| IsReasoningModel |
Optional. Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das Chatabschlussmodell ein Grundmodell ist. Diese Option ist experimentell und mit dem Begründungsmodell verknüpft, bis alle Modelle die Parität in den erwarteten Eigenschaften haben, mit einem Standardwert von false. |
Anmerkungen
Mit der Anmerkung PostUserQuery können Sie eine Eingabebindung zum Senden einer Nachricht an den Assistenten definieren, die diese Parameter unterstützt:
| Element | Beschreibung |
|---|---|
| Name | Der Name der Ausgabebindung. |
| id | Die ID des zu aktualisierenden Assistenten. |
| userMessage | Ruft die Benutzernachricht für das Chatabschlussmodell ab, die als Zeichenfolge codiert ist, oder legt sie fest. |
| aiConnectionName | Optional. Dient zum Abrufen oder Festlegen des Namens des Konfigurationsabschnitts für AI-Dienstkonnektivitätseinstellungen. Für Azure OpenAI: Wenn angegeben, suchen Sie in diesem Konfigurationsabschnitt nach "Endpunkt" und "Key". Wenn sie nicht angegeben ist oder der Abschnitt nicht vorhanden ist, kehren Sie auf Umgebungsvariablen zurück: AZURE_OPENAI_ENDPOINT und AZURE_OPENAI_KEY. Für die vom Benutzer zugewiesene verwaltete Identitätsauthentifizierung ist diese Eigenschaft erforderlich. Legen Sie für openAI-Dienst (nicht azure) die OPENAI_API_KEY Umgebungsvariable fest. |
| chatModel | Dient zum Abrufen oder Festlegen der ID des Modells, das als Zeichenfolge verwendet werden soll, mit einem Standardwert von gpt-3.5-turbo. |
| Temperatur |
Optional. Ruft die zu verwendende Samplingtemperatur als Zeichenfolge zwischen 0 und .2 Höhere Werte (0.8) machen die Ausgabe zufälliger, während niedrigere Werte wie (0.2) die Ausgabe fokussierter und deterministisch gestalten. Sie sollten entweder Temperature oder TopP, aber nicht beide verwenden. |
| topP |
Optional. Dient zum Abrufen oder Festlegen einer Alternative zur Probenahme mit Temperatur, die als Kernsampling bezeichnet wird, als Zeichenfolge. Bei dieser Samplingmethode berücksichtigt das Modell die Ergebnisse der Token mit top_p Wahrscheinlichkeitsmasse. Bedeutet also 0.1 , dass nur die Token aus den top 10% Wahrscheinlichkeitsmasse berücksichtigt werden. Sie sollten entweder Temperature oder TopP, aber nicht beide verwenden. |
| maxTokens |
Optional. Dient zum Abrufen oder Festlegen der maximalen Anzahl von Token, die im Abschluss generiert werden sollen, als Zeichenfolge mit einem Standardwert von 100. Die Tokenanzahl Ihres Prompts plus max_tokens darf die Kontextlänge des Modells nicht überschreiten. Die meisten Modelle haben eine Kontextlänge von 2,048 Token (mit Ausnahme der neuesten Modelle, die 4096 unterstützen). |
| isReasoningModel |
Optional. Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das Chatabschlussmodell ein Grundmodell ist. Diese Option ist experimentell und mit dem Begründungsmodell verknüpft, bis alle Modelle die Parität in den erwarteten Eigenschaften haben, mit einem Standardwert von false. |
Decorator-Elemente
Definieren Sie während der Vorschau die Ausgabebindung als Bindung generic_output_binding vom Typ postUserQuery, die diese Parameter unterstützt:
| Parameter | Beschreibung |
|---|---|
| arg_name | Der Name der Variablen, die den Bindungsparameter darstellt. |
| id | Die ID des zu aktualisierenden Assistenten. |
| user_message | Ruft die Benutzernachricht für das Chatabschlussmodell ab, die als Zeichenfolge codiert ist, oder legt sie fest. |
| ai_connection_name | Optional. Dient zum Abrufen oder Festlegen des Namens des Konfigurationsabschnitts für AI-Dienstkonnektivitätseinstellungen. Für Azure OpenAI: Wenn angegeben, suchen Sie in diesem Konfigurationsabschnitt nach "Endpunkt" und "Key". Wenn sie nicht angegeben ist oder der Abschnitt nicht vorhanden ist, kehren Sie auf Umgebungsvariablen zurück: AZURE_OPENAI_ENDPOINT und AZURE_OPENAI_KEY. Für die vom Benutzer zugewiesene verwaltete Identitätsauthentifizierung ist diese Eigenschaft erforderlich. Legen Sie für openAI-Dienst (nicht azure) die OPENAI_API_KEY Umgebungsvariable fest. |
| chat_model | Dient zum Abrufen oder Festlegen der ID des Modells, das als Zeichenfolge verwendet werden soll, mit einem Standardwert von gpt-3.5-turbo. |
| Temperatur |
Optional. Ruft die zu verwendende Samplingtemperatur als Zeichenfolge zwischen 0 und .2 Höhere Werte (0.8) machen die Ausgabe zufälliger, während niedrigere Werte wie (0.2) die Ausgabe fokussierter und deterministisch gestalten. Sie sollten entweder Temperature oder TopP, aber nicht beide verwenden. |
| top_p |
Optional. Dient zum Abrufen oder Festlegen einer Alternative zur Probenahme mit Temperatur, die als Kernsampling bezeichnet wird, als Zeichenfolge. Bei dieser Samplingmethode berücksichtigt das Modell die Ergebnisse der Token mit top_p Wahrscheinlichkeitsmasse. Bedeutet also 0.1 , dass nur die Token aus den top 10% Wahrscheinlichkeitsmasse berücksichtigt werden. Sie sollten entweder Temperature oder TopP, aber nicht beide verwenden. |
| max_tokens |
Optional. Dient zum Abrufen oder Festlegen der maximalen Anzahl von Token, die im Abschluss generiert werden sollen, als Zeichenfolge mit einem Standardwert von 100. Die Tokenanzahl Ihres Prompts plus max_tokens darf die Kontextlänge des Modells nicht überschreiten. Die meisten Modelle haben eine Kontextlänge von 2,048 Token (mit Ausnahme der neuesten Modelle, die 4096 unterstützen). |
| is_reasoning _model |
Optional. Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das Chatabschlussmodell ein Grundmodell ist. Diese Option ist experimentell und mit dem Begründungsmodell verknüpft, bis alle Modelle die Parität in den erwarteten Eigenschaften haben, mit einem Standardwert von false. |
Konfiguration
Die Bindung unterstützt diese Konfigurationseigenschaften, die Sie in der Datei „function.json“ festlegen.
| Eigenschaft | Beschreibung |
|---|---|
| Typ | Muss PostUserQuerylauten. |
| Richtung | Muss outlauten. |
| Name | Der Name der Ausgabebindung. |
| id | Die ID des zu aktualisierenden Assistenten. |
| userMessage | Ruft die Benutzernachricht für das Chatabschlussmodell ab, die als Zeichenfolge codiert ist, oder legt sie fest. |
| aiConnectionName | Optional. Dient zum Abrufen oder Festlegen des Namens des Konfigurationsabschnitts für AI-Dienstkonnektivitätseinstellungen. Für Azure OpenAI: Wenn angegeben, suchen Sie in diesem Konfigurationsabschnitt nach "Endpunkt" und "Key". Wenn sie nicht angegeben ist oder der Abschnitt nicht vorhanden ist, kehren Sie auf Umgebungsvariablen zurück: AZURE_OPENAI_ENDPOINT und AZURE_OPENAI_KEY. Für die vom Benutzer zugewiesene verwaltete Identitätsauthentifizierung ist diese Eigenschaft erforderlich. Legen Sie für openAI-Dienst (nicht azure) die OPENAI_API_KEY Umgebungsvariable fest. |
| chatModel | Dient zum Abrufen oder Festlegen der ID des Modells, das als Zeichenfolge verwendet werden soll, mit einem Standardwert von gpt-3.5-turbo. |
| Temperatur |
Optional. Ruft die zu verwendende Samplingtemperatur als Zeichenfolge zwischen 0 und .2 Höhere Werte (0.8) machen die Ausgabe zufälliger, während niedrigere Werte wie (0.2) die Ausgabe fokussierter und deterministisch gestalten. Sie sollten entweder Temperature oder TopP, aber nicht beide verwenden. |
| topP |
Optional. Dient zum Abrufen oder Festlegen einer Alternative zur Probenahme mit Temperatur, die als Kernsampling bezeichnet wird, als Zeichenfolge. Bei dieser Samplingmethode berücksichtigt das Modell die Ergebnisse der Token mit top_p Wahrscheinlichkeitsmasse. Bedeutet also 0.1 , dass nur die Token aus den top 10% Wahrscheinlichkeitsmasse berücksichtigt werden. Sie sollten entweder Temperature oder TopP, aber nicht beide verwenden. |
| maxTokens |
Optional. Dient zum Abrufen oder Festlegen der maximalen Anzahl von Token, die im Abschluss generiert werden sollen, als Zeichenfolge mit einem Standardwert von 100. Die Tokenanzahl Ihres Prompts plus max_tokens darf die Kontextlänge des Modells nicht überschreiten. Die meisten Modelle haben eine Kontextlänge von 2,048 Token (mit Ausnahme der neuesten Modelle, die 4096 unterstützen). |
| isReasoningModel |
Optional. Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das Chatabschlussmodell ein Grundmodell ist. Diese Option ist experimentell und mit dem Begründungsmodell verknüpft, bis alle Modelle die Parität in den erwarteten Eigenschaften haben, mit einem Standardwert von false. |
Konfiguration
Die Bindung unterstützt diese Eigenschaften, die in Ihrem Code definiert sind:
| Eigenschaft | Beschreibung |
|---|---|
| id | Die ID des zu aktualisierenden Assistenten. |
| userMessage | Ruft die Benutzernachricht für das Chatabschlussmodell ab, die als Zeichenfolge codiert ist, oder legt sie fest. |
| aiConnectionName | Optional. Dient zum Abrufen oder Festlegen des Namens des Konfigurationsabschnitts für AI-Dienstkonnektivitätseinstellungen. Für Azure OpenAI: Wenn angegeben, suchen Sie in diesem Konfigurationsabschnitt nach "Endpunkt" und "Key". Wenn sie nicht angegeben ist oder der Abschnitt nicht vorhanden ist, kehren Sie auf Umgebungsvariablen zurück: AZURE_OPENAI_ENDPOINT und AZURE_OPENAI_KEY. Für die vom Benutzer zugewiesene verwaltete Identitätsauthentifizierung ist diese Eigenschaft erforderlich. Legen Sie für openAI-Dienst (nicht azure) die OPENAI_API_KEY Umgebungsvariable fest. |
| chatModel | Dient zum Abrufen oder Festlegen der ID des Modells, das als Zeichenfolge verwendet werden soll, mit einem Standardwert von gpt-3.5-turbo. |
| Temperatur |
Optional. Ruft die zu verwendende Samplingtemperatur als Zeichenfolge zwischen 0 und .2 Höhere Werte (0.8) machen die Ausgabe zufälliger, während niedrigere Werte wie (0.2) die Ausgabe fokussierter und deterministisch gestalten. Sie sollten entweder Temperature oder TopP, aber nicht beide verwenden. |
| topP |
Optional. Dient zum Abrufen oder Festlegen einer Alternative zur Probenahme mit Temperatur, die als Kernsampling bezeichnet wird, als Zeichenfolge. Bei dieser Samplingmethode berücksichtigt das Modell die Ergebnisse der Token mit top_p Wahrscheinlichkeitsmasse. Bedeutet also 0.1 , dass nur die Token aus den top 10% Wahrscheinlichkeitsmasse berücksichtigt werden. Sie sollten entweder Temperature oder TopP, aber nicht beide verwenden. |
| maxTokens |
Optional. Dient zum Abrufen oder Festlegen der maximalen Anzahl von Token, die im Abschluss generiert werden sollen, als Zeichenfolge mit einem Standardwert von 100. Die Tokenanzahl Ihres Prompts plus max_tokens darf die Kontextlänge des Modells nicht überschreiten. Die meisten Modelle haben eine Kontextlänge von 2,048 Token (mit Ausnahme der neuesten Modelle, die 4096 unterstützen). |
| isReasoningModel |
Optional. Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das Chatabschlussmodell ein Grundmodell ist. Diese Option ist experimentell und mit dem Begründungsmodell verknüpft, bis alle Modelle die Parität in den erwarteten Eigenschaften haben, mit einem Standardwert von false. |
Verbrauch
Vollständige Beispiele finden Sie im Abschnitt Beispiele.
Verbindungen
Um die Azure OpenAI-Bindungserweiterung zu verwenden, muss man eine Verbindung zu einer OpenAI-Modelldefinition angeben. Stellen Sie die OpenAI-Modellverbindung in Ihren Bindings mit einem dieser Ansätze ein:
- Verwenden Sie die
AIConnectionNameBinding-Eigenschaft (bevorzugt für Azure OpenAI). - Setze
AZURE_OPENAI_ENDPOINTundAZURE_OPENAI_KEYin den App-Einstellungen (für Azure OpenAI). - Setze nur
Open_API_Keyin den App-Einstellungen (fürhttps://api.openai.com).
Die Art und Weise, wie Sie die Verbindung einstellen, hängt sowohl von der Modell-API als auch von der Authentifizierungsmethode ab, wie in der folgenden Tabelle angegeben:
| Authentifizierungs-/Modell-API | Azure OpenAI | OpenAI (https://api.openai.com) |
|---|---|---|
| Managed Identity-Verbindung | AIConnectionName |
Nicht unterstützt |
| Key Vault-Referenz | AZURE_OPENAI_ENDPOINTAZURE_OPENAI_KEY |
Open_API_Key |
| App-Konfigurationsreferenz | AZURE_OPENAI_ENDPOINTAZURE_OPENAI_KEY |
Open_API_Key |
| Gemeinsames Geheimnis | AZURE_OPENAI_ENDPOINTAZURE_OPENAI_KEY |
Open_API_Key |
Nutzen Sie verwaltete Identitätsbasierte Verbindungen und die Immobilie AIConnectionName .
Wenn Sie verwenden AIConnectionName, hängt der Wert dieser Eigenschaftseinstellung vom Verbindungstyp ab:
-
Managed Identity-Verbindung: Die
AIConnectionNameEigenschaft wird<CONNECTION_NAME_PREFIX>von einer Gruppe von Settings geteilt, die zusammen eine identitätsbasierte Verbindung zu Azure OpenAI definieren. Weitere Informationen finden Sie unter Identitätsverbindungen definieren. -
Key Vault-Referenz: Die
AIConnectionNameProperty-Einstellung liefert eine Azure Key Vault-Referenz auf den Standort, an dem der API-Schlüssel zentral verwaltet wird. Weitere Informationen finden Sie unter Define Key Vault connections. -
App Configuration Reference: Die
AIConnectionNameEigenschaftseinstellung liefert eine Azure App Configuration-Referenz, die einen API-Schlüssel oder eine Key Vault-Referenz zurückgibt. Weitere Informationen finden Sie unter Azure App Configuration im Artikel über Verbindungen. -
API-Schlüssel: Die
AIConnectionNameEigenschaftseinstellung wird direkt auf App-Einstellungen umgesetzt, die den Endpunkt und den Schlüssel enthalten. Da gemeinsame Schlüssel kompromittiert werden können, sollten Sie wenn möglich verwaltete Identitätsverbindungen verwenden. Weitere Informationen finden Sie unter Zusammenhänge definieren.
Um mehr über Bindungsverbindungen zu erfahren, siehe Verbindungen verwalten in Azure Functions.
Die OpenAI-Bindungen enthalten eine AIConnectionName Eigenschaft, mit der Sie die <ConnectionNamePrefix> für die Gruppe von App-Einstellungen festlegen können, die die Verbindung zu Azure OpenAI definieren:
| Einstellungsname | Beschreibung |
|---|---|
<CONNECTION_NAME_PREFIX>__endpoint |
Setzt das URI-Endpunkt des Azure OpenAI-Dienstes. Diese Einstellung ist immer erforderlich. |
<CONNECTION_NAME_PREFIX>__clientId |
Legt die bestimmte vom Benutzer zugewiesene Identität fest, die beim Abrufen eines Zugriffstokens verwendet werden soll. Erfordert, dass <CONNECTION_NAME_PREFIX>__credential auf managedidentity festgelegt wird. Die Eigenschaft akzeptiert eine Client-ID, die einer vom Benutzer zugewiesenen Identität entspricht, die der Anwendung zugeordnet ist. Es ist nicht möglich, sowohl eine Ressourcen-ID als auch eine Client-ID anzugeben. Wenn Sie diese Eigenschaft nicht spezifizieren, wird die systemzugewiesene Identität verwendet. Diese Eigenschaft wird in Szenarien für die lokale Entwicklung anders verwendet, in denen credential nicht festgelegt werden darf. |
<CONNECTION_NAME_PREFIX>__credential |
Definiert, wie ein access-Token für die Verbindung abgerufen wird. Verwenden Sie managedidentity für die Authentifizierung der verwalteten Identität. Dieser Wert ist nur gültig, wenn eine verwaltete Identität in der Hostingumgebung verfügbar ist. |
<CONNECTION_NAME_PREFIX>__managedIdentityResourceId |
Wenn credential auf gesetzt ist managedidentity, setzen Sie diese Eigenschaft so, dass sie die Ressourcen-Identifikator angibt, die beim Erlangen eines Tokens verwendet werden soll. Die Eigenschaft akzeptiert einen Ressourcenbezeichner, der der Ressourcen-ID der benutzerdefinierten verwalteten Identität entspricht. Es ist nicht möglich, sowohl eine Ressourcen-ID als auch eine Client-ID anzugeben. Wenn Sie keines von beiden angeben, wird die systemzugewiesene Identität verwendet. Diese Eigenschaft wird in Szenarien für die lokale Entwicklung anders verwendet, in denen credential nicht festgelegt werden darf. |
<CONNECTION_NAME_PREFIX>__key |
Setzt den gemeinsamen geheimen Schlüssel, der für den Zugriff auf den Endpunkt des Azure OpenAI-Dienstes erforderlich ist, mittels schlüsselbasierter Authentifizierung. Als Sicherheitsbest-Practice sollten Sie immer Microsoft Entra ID mit verwalteten Identitäten zur Authentifizierung verwenden. |
Betrachten Sie diese Managed Identity Connection-Einstellungen, wenn Sie die Eigenschaft AIConnectionName auf myAzureOpenAIsetzen:
myAzureOpenAI__endpoint=https://contoso.openai.azure.com/myAzureOpenAI__credential=managedidentitymyAzureOpenAI__clientId=aaaaaaaa-bbbb-cccc-1111-222222222222
Zur Laufzeit interpretiert der Host diese Einstellungen als eine einzige myAzureOpenAI Einstellung:
"myAzureOpenAI":
{
"endpoint": "https://contoso.openai.azure.com/",
"credential": "managedidentity",
"clientId": "aaaaaaaa-bbbb-cccc-1111-222222222222"
}
Wenn Sie verwaltete Identitäten verwenden, fügen Sie Ihre Identität unbedingt der Cognitive Services OpenAI User Rolle hinzu.
Beim lokalen Ausführen fügen Sie diese Einstellungen der local.settings.json Projektdatei hinzu. Weitere Informationen finden Sie unter "Lokale Entwicklung mit identitätsbasierten Verbindungen".
Weitere Informationen finden Sie unter Verwenden von Anwendungseinstellungen.