Partilhar via


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

Importante

A extensão do Azure OpenAI para o Azure Functions está atualmente em visualização.

A vinculação de entrada de consulta do assistente OpenAI do Azure permite integrar consultas de API de Assistentes em suas execuções de código.

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

Nota

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

Nota

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

Nota

Embora ambos os modelos de processo C# sejam suportados, apenas exemplos de modelos de trabalho isolados são fornecidos.

Exemplo

Este exemplo demonstra o processo de criação, onde a função HTTP GET que consulta o histórico de conversas do bot de chat 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, onde a função HTTP GET que consulta o histórico de conversas do bot de chat 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();    
}

Os exemplos ainda não estão disponíveis.

Este exemplo demonstra o processo de criação, onde a função HTTP GET que consulta o histórico de conversas do bot de chat 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, onde a função HTTP GET que consulta o histórico de conversas do bot de chat 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 function.json propriedades do arquivo, 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, onde a função HTTP GET que consulta o histórico de conversas do bot de chat 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 AssistantQuery atributo para definir uma associação de entrada de consulta assistente, que suporta estes parâmetros:

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

Anotações

A assistantQuery anotação permite definir uma associação de entrada de consulta assistente, que suporta estes parâmetros:

Elemento Description
Designação Obtém ou define o nome da ligação de entrada.
id Obtém a ID do assistente a consultar.
timeStampUtc Opcional. Obtém ou define o carimbo de data/hora da mensagem mais antiga no histórico de bate-papo a ser buscado. O carimbo de data/hora deve estar no formato ISO 8601 - por exemplo, 2023-08-01T00:00:00Z.

Decoradores

Durante a visualização, defina a ligação de entrada como uma generic_input_binding associação do tipo assistantQuery, que suporta estes parâmetros:

Parâmetro Description
arg_name O nome da variável que representa o parâmetro de ligação.
id Obtém a ID do assistente a consultar.
time_stamp_utc Opcional. Obtém ou define o carimbo de data/hora da mensagem mais antiga no histórico de bate-papo 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 suporta essas propriedades de configuração definidas no arquivo function.json.

Property Descrição
type Deve ser assistantQuery.
direção Deve ser in.
Designação O nome da ligação de entrada.
id Obtém a ID do assistente a consultar.
timeStampUtc Opcional. Obtém ou define o carimbo de data/hora da mensagem mais antiga no histórico de bate-papo 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 suporta estas propriedades, que são definidas no seu código:

Property Description
id Obtém a ID do assistente a consultar.
timeStampUtc Opcional. Obtém ou define o carimbo de data/hora da mensagem mais antiga no histórico de bate-papo a ser buscado. O carimbo de data/hora deve estar no formato ISO 8601 - por exemplo, 2023-08-01T00:00:00Z.

Utilização

Consulte a seção Exemplo para obter exemplos completos.