Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
Rozšíření Azure OpenAI pro Azure Functions je aktuálně ve verzi Preview.
Vstupní vazba dotazu pomocníka Azure OpenAI umožňuje integrovat dotazy rozhraní API asistentů do provádění kódu.
Informace o nastavení a konfiguraci rozšíření Azure OpenAI najdete v tématu Rozšíření Azure OpenAI pro Azure Functions. Další informace o asistentech Azure OpenAI najdete v tématu Rozhraní API pomocníků Azure OpenAI.
Poznámka:
Odkazy a příklady jsou k dispozici pouze pro model Node.js v4.
Poznámka:
Odkazy a příklady jsou k dispozici pouze pro model Pythonu v2.
Poznámka:
I když jsou podporovány oba modely procesu jazyka C#, jsou k dispozici pouze příklady izolovaného modelu pracovního procesu .
Příklad
Tento příklad ukazuje proces vytvoření, kdy funkce HTTP GET, která dotazuje historii konverzací chatovacího robota asistenta. Odpověď na výzvu se vrátí v odpovědi HTTP.
/// <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);
}
Tento příklad ukazuje proces vytvoření, kdy funkce HTTP GET, která dotazuje historii konverzací chatovacího robota asistenta. Odpověď na výzvu se vrátí v odpovědi HTTP.
/*
* 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();
}
Tento příklad ukazuje proces vytvoření, kdy funkce HTTP GET, která dotazuje historii konverzací chatovacího robota asistenta. Odpověď na výzvu se vrátí v odpovědi HTTP.
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 }
}
})
Tento příklad ukazuje proces vytvoření, kdy funkce HTTP GET, která dotazuje historii konverzací chatovacího robota asistenta. Odpověď na výzvu se vrátí v odpovědi HTTP.
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 }
}
})
Tento příklad ukazuje proces vytvoření, kdy funkce HTTP GET, která dotazuje historii konverzací chatovacího robota asistenta. Odpověď na výzvu se vrátí v odpovědi HTTP.
Tady je soubor function.json pro získání stavu chatu:
{
"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"
}
]
}
Další informace o function.json vlastnosti souboru naleznete v části Konfigurace .
using namespace System.Net
param($Request, $TriggerMetadata, $State)
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $State
Headers = @{
"Content-Type" = "application/json"
}
})
Tento příklad ukazuje proces vytvoření, kdy funkce HTTP GET, která dotazuje historii konverzací chatovacího robota asistenta. Odpověď na výzvu se vrátí v odpovědi HTTP.
@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")
Atributy
Pomocí atributu AssistantQuery definujte vstupní vazbu dotazu asistenta, která podporuje tyto parametry:
| Parametr | Popis |
|---|---|
| Id | Získá ID asistenta k dotazování. |
| Časové razítko UTC | Volitelné. Získá nebo nastaví časové razítko nejstarší zprávy v historii chatu k načtení. Časové razítko by mělo být ve formátu ISO 8601 – například 2023-08-01T00:00:00Z. |
Poznámky
Poznámka assistantQuery umožňuje definovat vstupní vazbu dotazu asistenta, která podporuje tyto parametry:
| Element (Prvek) | Popis |
|---|---|
| Jméno | Získá nebo nastaví název vstupní vazby. |
| id | Získá ID asistenta k dotazování. |
| časové razítko utc | Volitelné. Získá nebo nastaví časové razítko nejstarší zprávy v historii chatu k načtení. Časové razítko by mělo být ve formátu ISO 8601 – například 2023-08-01T00:00:00Z. |
Dekoratéry
Během náhledu definujte vstupní vazbu jako generic_input_binding vazbu typu assistantQuery, která podporuje tyto parametry:
| Parametr | Popis |
|---|---|
| arg_name | Název proměnné, která představuje parametr vazby. |
| id | Získá ID asistenta k dotazování. |
| time_stamp_utc | Volitelné. Získá nebo nastaví časové razítko nejstarší zprávy v historii chatu k načtení. Časové razítko by mělo být ve formátu ISO 8601 – například 2023-08-01T00:00:00Z. |
Konfigurace
Vazba podporuje tyto vlastnosti konfigurace, které jste nastavili v souboru function.json.
| Vlastnost | Popis |
|---|---|
| typ | Musí být assistantQuery. |
| směr | Musí být in. |
| Jméno | Název vstupní vazby. |
| id | Získá ID asistenta k dotazování. |
| časové razítko utc | Volitelné. Získá nebo nastaví časové razítko nejstarší zprávy v historii chatu k načtení. Časové razítko by mělo být ve formátu ISO 8601 – například 2023-08-01T00:00:00Z. |
Konfigurace
Vazba podporuje tyto vlastnosti, které jsou definovány v kódu:
| Vlastnost | Popis |
|---|---|
| id | Získá ID asistenta k dotazování. |
| časové razítko utc | Volitelné. Získá nebo nastaví časové razítko nejstarší zprávy v historii chatu k načtení. Časové razítko by mělo být ve formátu ISO 8601 – například 2023-08-01T00:00:00Z. |
Využití
Kompletní příklady najdete v části Příklad.