Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
L'estensione OpenAI di Azure per Funzioni di Azure è attualmente in anteprima.
L'associazione di input delle query dell'assistente Azure OpenAI consente di integrare le query dell'API degli Assistenti nelle esecuzioni di codice.
Per informazioni sull'installazione e la configurazione dell'estensione OpenAI di Azure, vedere Estensioni OpenAI di Azure per Funzioni di Azure. Per altre informazioni sugli assistenti OpenAI di Azure, vedere API Assistenti OpenAI di Azure.
Nota
I riferimenti e gli esempi vengono forniti solo per il modello Node.js v4.
Nota
I riferimenti e gli esempi vengono forniti solo per il modello Python v2.
Nota
Anche se sono supportati entrambi i modelli di processo C#, vengono forniti solo esempi di modelli di lavoro isolati.
Esempio
Questo esempio illustra il processo di creazione, in cui la funzione HTTP GET che esegue una query sulla cronologia delle conversazioni del chatbot assistente. La risposta alla richiesta viene restituita nella risposta 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);
}
Questo esempio illustra il processo di creazione, in cui la funzione HTTP GET che esegue una query sulla cronologia delle conversazioni del chatbot assistente. La risposta alla richiesta viene restituita nella risposta 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();
}
Questo esempio illustra il processo di creazione, in cui la funzione HTTP GET che esegue una query sulla cronologia delle conversazioni del chatbot assistente. La risposta alla richiesta viene restituita nella risposta 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 }
}
})
Questo esempio illustra il processo di creazione, in cui la funzione HTTP GET che esegue una query sulla cronologia delle conversazioni del chatbot assistente. La risposta alla richiesta viene restituita nella risposta 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 }
}
})
Questo esempio illustra il processo di creazione, in cui la funzione HTTP GET che esegue una query sulla cronologia delle conversazioni del chatbot assistente. La risposta alla richiesta viene restituita nella risposta HTTP.
Ecco il file function.json per Get Chat State:
{
"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"
}
]
}
Per altre informazioni sulle proprietà dei file function.json, vedere la sezione configurazione.
using namespace System.Net
param($Request, $TriggerMetadata, $State)
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $State
Headers = @{
"Content-Type" = "application/json"
}
})
Questo esempio illustra il processo di creazione, in cui la funzione HTTP GET che esegue una query sulla cronologia delle conversazioni del chatbot assistente. La risposta alla richiesta viene restituita nella risposta 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")
Attributi
Applicare l'attributo AssistantQuery per definire un'associazione assistente di input di query, che supporta questi parametri:
| Parametro | Descrizione |
|---|---|
| id | Ottiene l'ID dell'assistente da eseguire per la query. |
| TimeStampUtc | Facoltativo. Ottiene o imposta il timestamp del primo messaggio nella cronologia delle chat da recuperare. Il timestamp deve essere in formato ISO 8601, ad esempio 2023-08-01T00:00:00Z. |
Annotazioni
L'annotazione assistantQuery consente di definire un'associazione input di query assistente, che supporta questi parametri:
| Elemento | Descrizione |
|---|---|
| nome | Ottiene o imposta il nome del binding di input. |
| ID | Ottiene l'ID dell'assistente da eseguire per la query. |
| timeStampUtc | Facoltativo. Ottiene o imposta il timestamp del primo messaggio nella cronologia delle chat da recuperare. Il timestamp deve essere in formato ISO 8601, ad esempio 2023-08-01T00:00:00Z. |
Elementi Decorator
Durante l'anteprima, definire l'associazione di input come associazione generic_input_binding di tipo assistantQuery, che supporta questi parametri:
| Parametro | Descrizione |
|---|---|
| arg_name | Nome della variabile che rappresenta il parametro di associazione. |
| ID | Ottiene l'ID dell'assistente da eseguire per la query. |
| time_stamp_utc | Facoltativo. Ottiene o imposta il timestamp del primo messaggio nella cronologia delle chat da recuperare. Il timestamp deve essere in formato ISO 8601, ad esempio 2023-08-01T00:00:00Z. |
Impostazione
L'associazione supporta queste proprietà di configurazione impostate nel file function.json.
| Proprietà | Descrizione |
|---|---|
| tipo | Deve essere assistantQuery. |
| direzione | Deve essere in. |
| nome | Nome dell'associazione di input. |
| ID | Ottiene l'ID dell'assistente da eseguire per la query. |
| timeStampUtc | Facoltativo. Ottiene o imposta il timestamp del primo messaggio nella cronologia delle chat da recuperare. Il timestamp deve essere in formato ISO 8601, ad esempio 2023-08-01T00:00:00Z. |
Impostazione
Il binding supporta queste proprietà, definite nel codice:
| Proprietà | Descrizione |
|---|---|
| ID | Ottiene l'ID dell'assistente da eseguire per la query. |
| timeStampUtc | Facoltativo. Ottiene o imposta il timestamp del primo messaggio nella cronologia delle chat da recuperare. Il timestamp deve essere in formato ISO 8601, ad esempio 2023-08-01T00:00:00Z. |
Utilizzo
Per esempi completi, vedere la sezione di esempio.