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.