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.