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 Abfrageeingabebindung des Azure OpenAI-Assistenten können Sie Assistenten-API-Abfragen in Ihre Codeausführungen integrieren.
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
In diesem Beispiel wird der Erstellungsprozess veranschaulicht, bei dem die HTTP GET-Funktion den Unterhaltungsverlauf des Assistenten-Chatbots abfragt. Die Antwort auf den Prompt wird in der HTTP-Antwort zurückgegeben.
/// <summary>
/// HTTP GET function that queries the conversation history of the assistant chat bot.
/// </summary>
[Function(nameof(GetChatState))]
public static IActionResult GetChatState(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "assistants/{assistantId}")] HttpRequestData req,
string assistantId,
[AssistantQueryInput("{assistantId}", TimestampUtc = "{Query.timestampUTC}", ChatStorageConnectionSetting = DefaultChatStorageConnectionSetting, CollectionName = DefaultCollectionName)] AssistantState state)
{
return new OkObjectResult(state);
}
In diesem Beispiel wird der Erstellungsprozess veranschaulicht, bei dem die HTTP GET-Funktion den Unterhaltungsverlauf des Assistenten-Chatbots abfragt. Die Antwort auf den Prompt wird in der HTTP-Antwort zurückgegeben.
/*
* HTTP GET function that queries the conversation history of the assistant chat bot.
*/
@FunctionName("GetChatState")
public HttpResponseMessage getChatState(
@HttpTrigger(
name = "req",
methods = {HttpMethod.GET},
authLevel = AuthorizationLevel.ANONYMOUS,
route = "assistants/{assistantId}")
HttpRequestMessage<Optional<String>> request,
@BindingName("assistantId") String assistantId,
@AssistantQuery(name = "AssistantState", id = "{assistantId}", timestampUtc = "{Query.timestampUTC}", chatStorageConnectionSetting = DEFAULT_CHATSTORAGE, collectionName = DEFAULT_COLLECTION) AssistantState state,
final ExecutionContext context) {
return request.createResponseBuilder(HttpStatus.OK)
.header("Content-Type", "application/json")
.body(state)
.build();
}
In diesem Beispiel wird der Erstellungsprozess veranschaulicht, bei dem die HTTP GET-Funktion den Unterhaltungsverlauf des Assistenten-Chatbots abfragt. Die Antwort auf den Prompt wird in der HTTP-Antwort zurückgegeben.
const { app, input, output } = require("@azure/functions");
const chatBotQueryInput = input.generic({
type: 'assistantQuery',
id: '{assistantId}',
timestampUtc: '{Query.timestampUTC}',
chatStorageConnectionSetting: CHAT_STORAGE_CONNECTION_SETTING,
collectionName: COLLECTION_NAME
})
app.http('GetChatState', {
methods: ['GET'],
route: 'assistants/{assistantId}',
authLevel: 'anonymous',
extraInputs: [chatBotQueryInput],
handler: async (_, context) => {
const state = context.extraInputs.get(chatBotQueryInput)
return { status: 200, jsonBody: state }
}
})
In diesem Beispiel wird der Erstellungsprozess veranschaulicht, bei dem die HTTP GET-Funktion den Unterhaltungsverlauf des Assistenten-Chatbots abfragt. Die Antwort auf den Prompt wird in der HTTP-Antwort zurückgegeben.
import { HttpRequest, InvocationContext, app, input, output } from "@azure/functions"
const chatBotQueryInput = input.generic({
type: 'assistantQuery',
id: '{assistantId}',
timestampUtc: '{Query.timestampUTC}',
chatStorageConnectionSetting: CHAT_STORAGE_CONNECTION_SETTING,
collectionName: COLLECTION_NAME
})
app.http('GetChatState', {
methods: ['GET'],
route: 'assistants/{assistantId}',
authLevel: 'anonymous',
extraInputs: [chatBotQueryInput],
handler: async (_, context) => {
const state: any = context.extraInputs.get(chatBotQueryInput)
return { status: 200, jsonBody: state }
}
})
In diesem Beispiel wird der Erstellungsprozess veranschaulicht, bei dem die HTTP GET-Funktion den Unterhaltungsverlauf des Assistenten-Chatbots abfragt. Die Antwort auf den Prompt wird in der HTTP-Antwort zurückgegeben.
Dies ist die function.json Datei für "Chatstatus abrufen":
{
"bindings": [
{
"authLevel": "function",
"type": "httpTrigger",
"direction": "in",
"name": "Request",
"route": "assistants/{assistantId}",
"methods": [
"get"
]
},
{
"type": "http",
"direction": "out",
"name": "Response"
},
{
"name": "State",
"type": "assistantQuery",
"direction": "in",
"dataType": "string",
"id": "{assistantId}",
"timestampUtc": "{Query.timestampUTC}",
"chatStorageConnectionSetting": "AzureWebJobsStorage",
"collectionName": "ChatState"
}
]
}
Weitere Informationen zu den Dateieigenschaften von function.json finden Sie im Abschnitt Konfiguration.
using namespace System.Net
param($Request, $TriggerMetadata, $State)
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $State
Headers = @{
"Content-Type" = "application/json"
}
})
In diesem Beispiel wird der Erstellungsprozess veranschaulicht, bei dem die HTTP GET-Funktion den Unterhaltungsverlauf des Assistenten-Chatbots abfragt. Die Antwort auf den Prompt wird in der HTTP-Antwort zurückgegeben.
@apis.function_name("GetChatState")
@apis.route(route="assistants/{assistantId}", methods=["GET"])
@apis.assistant_query_input(
arg_name="state",
id="{assistantId}",
timestamp_utc="{Query.timestampUTC}",
chat_storage_connection_setting=DEFAULT_CHAT_STORAGE_SETTING,
collection_name=DEFAULT_CHAT_COLLECTION_NAME,
)
def get_chat_state(req: func.HttpRequest, state: str) -> func.HttpResponse:
return func.HttpResponse(state, status_code=200, mimetype="application/json")
Attribute
Wenden Sie das Attribut AssistantQuery an, um eine Abfrageeingabebindung für den Assistenten zu definieren, die diese Parameter unterstützt:
| Parameter | Beschreibung |
|---|---|
| Id | Ruft die ID des Assistenten ab, der abgefragt werden soll. |
| ZeitstempelUtc | Optional. Ruft den Zeitstempel der frühesten Nachricht im Chatverlauf ab, die abgerufen werden soll, oder legt diesen Zeitstempel fest. Der Zeitstempel muss im ISO 8601-Format vorliegen, z. B. 2023-08-01T00:00:00Z. |
Anmerkungen
Mit der Anmerkung assistantQuery können Sie eine Abfrageeingabebindung für den Assistenten definieren, die diese Parameter unterstützt:
| Element | Beschreibung |
|---|---|
| Name | Ruft den Namen der Eingabebindung ab oder legt ihn fest. |
| id | Ruft die ID des Assistenten ab, der abgefragt werden soll. |
| ZeitstempelUtc | Optional. Ruft den Zeitstempel der frühesten Nachricht im Chatverlauf ab, die abgerufen werden soll, oder legt diesen Zeitstempel fest. Der Zeitstempel muss im ISO 8601-Format vorliegen, z. B. 2023-08-01T00:00:00Z. |
Decorator-Elemente
Definieren Sie während der Vorschau die Eingabebindung als generic_input_binding-Bindung vom Typ assistantQuery, die diese Parameter unterstützt:
| Parameter | Beschreibung |
|---|---|
| arg_name | Der Name der Variablen, die den Bindungsparameter darstellt. |
| id | Ruft die ID des Assistenten ab, der abgefragt werden soll. |
| time_stamp_utc | Optional. Ruft den Zeitstempel der frühesten Nachricht im Chatverlauf ab, die abgerufen werden soll, oder legt diesen Zeitstempel fest. Der Zeitstempel muss im ISO 8601-Format vorliegen, z. B. 2023-08-01T00:00:00Z. |
Konfiguration
Die Bindung unterstützt diese Konfigurationseigenschaften, die Sie in der Datei „function.json“ festlegen.
| Eigenschaft | Beschreibung |
|---|---|
| Typ | Muss assistantQuerylauten. |
| Richtung | Muss inlauten. |
| Name | Der Name der Eingabebindung. |
| id | Ruft die ID des Assistenten ab, der abgefragt werden soll. |
| ZeitstempelUtc | Optional. Ruft den Zeitstempel der frühesten Nachricht im Chatverlauf ab, die abgerufen werden soll, oder legt diesen Zeitstempel fest. Der Zeitstempel muss im ISO 8601-Format vorliegen, z. B. 2023-08-01T00:00:00Z. |
Konfiguration
Die Bindung unterstützt diese Eigenschaften, die in Ihrem Code definiert sind:
| Eigenschaft | Beschreibung |
|---|---|
| id | Ruft die ID des Assistenten ab, der abgefragt werden soll. |
| ZeitstempelUtc | Optional. Ruft den Zeitstempel der frühesten Nachricht im Chatverlauf ab, die abgerufen werden soll, oder legt diesen Zeitstempel fest. Der Zeitstempel muss im ISO 8601-Format vorliegen, z. B. 2023-08-01T00:00:00Z. |
Verbrauch
Vollständige Beispiele finden Sie im Abschnitt Beispiele.