Condividi tramite


Associazione di input di query per l’assistente di Azure OpenAI per Funzioni di Azure

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.

    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);
    }
}

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.

                "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();    
}

Gli esempi non sono ancora disponibili.

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 chatBotQueryInput = input.generic({
    type: 'assistantQuery',
    id: '{assistantId}',
    timestampUtc: '{Query.timestampUTC}',
    chatStorageConnectionSetting: CHAT_STORAGE_CONNECTION_SETTING,
    collectionName: COLLECTION_NAME
})
app.http('GetChatState', {
    methods: ['GET'],

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.

    recent_message_content = data['recentMessages'][0]['content']
    return func.HttpResponse(recent_message_content, status_code=200, mimetype="text/plain")


@apis.function_name("GetChatState")

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
name 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
type Deve essere assistantQuery.
direction Deve essere in.
name 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.