Compartilhar via


Associação de entrada de consulta do assistente do OpenAI do Azure para Azure Functions

Importante

Atualmente, a extensão do OpenAI do Azure para Azure Functions está em versão prévia.

A associação de entrada de consulta do assistente do Azure OpenAI permite que você integre consultas de API de Assistentes em suas execuções de código.

Para obter informações sobre os detalhes de instalação e configuração da extensão do OpenAI do Azure, confira Extensões do OpenAI do Azure para Azure Functions. Para saber mais sobre os assistentes do OpenAI do Azure, consulte API de Assistentes do OpenAI do Azure.

Observação

Referências e exemplos só são fornecidos para o modelo do Node.js v4.

Observação

Referências e exemplos só são fornecidos para o modelo do Python v2.

Observação

Embora haja suporte para ambos os modelos de processo C#, apenas exemplos de modelo de trabalho isolados são fornecidos.

Exemplo

Este exemplo demonstra o processo de criação, em que a função HTTP GET que consulta o histórico de conversa do chatbot assistente. A resposta ao prompt é retornada na resposta 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);
    }
}

Este exemplo demonstra o processo de criação, em que a função HTTP GET que consulta o histórico de conversa do chatbot assistente. A resposta ao prompt é retornada na resposta 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();    
}

Ainda não há exemplos disponíveis.

Este exemplo demonstra o processo de criação, em que a função HTTP GET que consulta o histórico de conversa do chatbot assistente. A resposta ao prompt é retornada na resposta 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'],

Este exemplo demonstra o processo de criação, em que a função HTTP GET que consulta o histórico de conversa do chatbot assistente. A resposta ao prompt é retornada na resposta HTTP.

Aqui está o arquivo function.json para Obter estado de bate-papo:

{
  "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"
    }
  ]
}

Para obter mais informações sobre as propriedades do arquivo function.json, consulte a seção Configuração.

using namespace System.Net

param($Request, $TriggerMetadata, $State)

Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
    StatusCode = [HttpStatusCode]::OK
    Body       = $State
    Headers    = @{
        "Content-Type" = "application/json"
    }
})

Este exemplo demonstra o processo de criação, em que a função HTTP GET que consulta o histórico de conversa do chatbot assistente. A resposta ao prompt é retornada na resposta HTTP.

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


@apis.function_name("GetChatState")

Atributos

Aplique o atributo AssistantQuery para definir uma associação de entrada de consulta do assistente, que dá suporte a esses parâmetros:

Parâmetro Descrição
Id Obtém a ID do assistente para consulta.
TimeStampUtc Opcional. Obtém ou define o carimbo de data/hora da mensagem mais antiga do histórico de chat a ser buscado. O carimbo de data/hora deve estar no formato ISO 8601 – por exemplo, 2023-08-01T00:00:00Z.

Anotações

A anotação assistantQuery permite que você defina uma associação de entrada de consulta do assistente, que dá suporte a estes parâmetros:

Element Descrição
name Obtém ou define o nome da associação de entrada.
id Obtém a ID do assistente para consulta.
timeStampUtc Opcional. Obtém ou define o carimbo de data/hora da mensagem mais antiga do histórico de chat a ser buscado. O carimbo de data/hora deve estar no formato ISO 8601 – por exemplo, 2023-08-01T00:00:00Z.

Decoradores

Durante a versão prévia, defina a associação de entrada como uma associação generic_input_binding do tipo assistantQuery, que dá suporte a estes parâmetros:

Parâmetro Descrição
arg_name O nome da variável que representa o parâmetro de associação.
id Obtém a ID do assistente para consulta.
time_stamp_utc Opcional. Obtém ou define o carimbo de data/hora da mensagem mais antiga do histórico de chat a ser buscado. O carimbo de data/hora deve estar no formato ISO 8601 – por exemplo, 2023-08-01T00:00:00Z.

Configuração

A associação dá suporte a essas propriedades de configuração definidas no arquivo function.json.

Propriedade Descrição
tipo Deve ser assistantQuery.
direction Deve ser in.
name O nome da associação de entrada.
id Obtém a ID do assistente para consulta.
timeStampUtc Opcional. Obtém ou define o carimbo de data/hora da mensagem mais antiga do histórico de chat a ser buscado. O carimbo de data/hora deve estar no formato ISO 8601 – por exemplo, 2023-08-01T00:00:00Z.

Configuração

A associação dá suporte a estas propriedades, que são definidas no código:

Propriedade Descrição
id Obtém a ID do assistente para consulta.
timeStampUtc Opcional. Obtém ou define o carimbo de data/hora da mensagem mais antiga do histórico de chat a ser buscado. O carimbo de data/hora deve estar no formato ISO 8601 – por exemplo, 2023-08-01T00:00:00Z.

Uso

Consulte a Seção de exemplo para obter exemplos completos.