Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Viktigt!
Azure OpenAI-tillägget för Azure Functions är för närvarande i förhandsversion.
Med frågeindatabindningen för Azure OpenAI-assistenten kan du integrera API-frågor för assistenter i dina kodkörningar.
Information om konfiguration och konfigurationsinformation för Azure OpenAI-tillägget finns i Azure OpenAI-tillägg för Azure Functions. Mer information om Azure OpenAI-assistenter finns i API för Azure OpenAI Assistants.
Kommentar
Referenser och exempel tillhandahålls endast för modellen Node.js v4.
Kommentar
Referenser och exempel tillhandahålls endast för Python v2-modellen.
Kommentar
Båda C#-processmodellerna stöds, men endast exempel på isolerade arbetsmodeller tillhandahålls.
Exempel
Det här exemplet visar skapandeprocessen, där funktionen HTTP GET som frågar konversationshistoriken för chattroboten för assistenten. Svaret på uppmaningen returneras i HTTP-svaret.
/// <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);
}
Det här exemplet visar skapandeprocessen, där funktionen HTTP GET som frågar konversationshistoriken för chattroboten för assistenten. Svaret på uppmaningen returneras i HTTP-svaret.
/*
* 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();
}
Det här exemplet visar skapandeprocessen, där funktionen HTTP GET som frågar konversationshistoriken för chattroboten för assistenten. Svaret på uppmaningen returneras i HTTP-svaret.
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 }
}
})
Det här exemplet visar skapandeprocessen, där funktionen HTTP GET som frågar konversationshistoriken för chattroboten för assistenten. Svaret på uppmaningen returneras i HTTP-svaret.
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 }
}
})
Det här exemplet visar skapandeprocessen, där funktionen HTTP GET som frågar konversationshistoriken för chattroboten för assistenten. Svaret på uppmaningen returneras i HTTP-svaret.
Här är function.json-filen för Hämta chatttillstånd:
{
"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"
}
]
}
Mer information om function.json filegenskaper finns i avsnittet 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"
}
})
Det här exemplet visar skapandeprocessen, där funktionen HTTP GET som frågar konversationshistoriken för chattroboten för assistenten. Svaret på uppmaningen returneras i HTTP-svaret.
@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")
Attribut
AssistantQuery Använd attributet för att definiera en assisterande frågeindatabindning, som stöder följande parametrar:
| Parameter | Beskrivning |
|---|---|
| ID | Hämtar ID:t för assistenten att fråga. |
| TimeStampUtc | Valfritt. Hämtar eller anger tidsstämpeln för det tidigaste meddelandet i chatthistoriken som ska hämtas. Tidsstämpeln ska vara i ISO 8601-format – till exempel 2023-08-01T00:00:00Z. |
Kommentarer
Med anteckningen assistantQuery kan du definiera en assisterande frågeindatabindning som stöder följande parametrar:
| Komponent | Beskrivning |
|---|---|
| Namn | Hämtar eller anger namnet på indatabindningen. |
| ID | Hämtar ID:t för assistenten att fråga. |
| timeStampUtc | Valfritt. Hämtar eller anger tidsstämpeln för det tidigaste meddelandet i chatthistoriken som ska hämtas. Tidsstämpeln ska vara i ISO 8601-format – till exempel 2023-08-01T00:00:00Z. |
Dekoratörer
Under förhandsversionen definierar du indatabindningen som en generic_input_binding bindning av typen assistantQuery, som stöder följande parametrar:
| Parameter | Beskrivning |
|---|---|
| arg_name | Namnet på variabeln som representerar bindningsparametern. |
| ID | Hämtar ID:t för assistenten att fråga. |
| time_stamp_utc | Valfritt. Hämtar eller anger tidsstämpeln för det tidigaste meddelandet i chatthistoriken som ska hämtas. Tidsstämpeln ska vara i ISO 8601-format – till exempel 2023-08-01T00:00:00Z. |
Konfiguration
Bindningen stöder de konfigurationsegenskaper som du anger i filen function.json.
| Fastighet | Beskrivning |
|---|---|
| typ | Måste vara assistantQuery. |
| riktning | Måste vara in. |
| Namn | Namnet på indatabindningen. |
| ID | Hämtar ID:t för assistenten att fråga. |
| timeStampUtc | Valfritt. Hämtar eller anger tidsstämpeln för det tidigaste meddelandet i chatthistoriken som ska hämtas. Tidsstämpeln ska vara i ISO 8601-format – till exempel 2023-08-01T00:00:00Z. |
Konfiguration
Bindningen stöder dessa egenskaper, som definieras i koden:
| Fastighet | Beskrivning |
|---|---|
| ID | Hämtar ID:t för assistenten att fråga. |
| timeStampUtc | Valfritt. Hämtar eller anger tidsstämpeln för det tidigaste meddelandet i chatthistoriken som ska hämtas. Tidsstämpeln ska vara i ISO 8601-format – till exempel 2023-08-01T00:00:00Z. |
Förbrukning
Se avsnittet Exempel för fullständiga exempel.