Abfrageeingabebindung des Azure OpenAI-Assistenten für Azure Functions
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.
public static async Task<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.
"Ask for clarification if a user request is ambiguous.";
AssistantCreateRequest assistantCreateRequest = new AssistantCreateRequest(assistantId, instructions);
assistantCreateRequest.setChatStorageConnectionSetting(DEFAULT_CHATSTORAGE);
assistantCreateRequest.setCollectionName(DEFAULT_COLLECTION);
message.setValue(assistantCreateRequest);
JSONObject response = new JSONObject();
response.put("assistantId", assistantId);
return request.createResponseBuilder(HttpStatus.CREATED)
.header("Content-Type", "application/json")
.body(response.toString())
.build();
}
Beispiele sind noch nicht verfügbar.
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 chatBotQueryInput = input.generic({
type: 'assistantQuery',
id: '{assistantId}',
timestampUtc: '{Query.timestampUTC}',
chatStorageConnectionSetting: CHAT_STORAGE_CONNECTION_SETTING,
collectionName: COLLECTION_NAME
})
app.http('GetChatState', {
methods: ['GET'],
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.
recent_message_content = data['recentMessages'][0]['content']
return func.HttpResponse(recent_message_content, status_code=200, mimetype="text/plain")
@apis.function_name("GetChatState")
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. |
TimeStampUtc | 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. |
timeStampUtc | 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 des Dataflows |
---|---|
type | Muss assistantQuery lauten. |
direction | Muss in lauten. |
name | Der Name der Eingabebindung. |
id | Ruft die ID des Assistenten ab, der abgefragt werden soll. |
timeStampUtc | 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. |
timeStampUtc | 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.