- 1 Introdução
- 2 Oculte as seções que não serão utilizadas
- 3 Vamos definir as mensagens de sistema
- 4 Clique em "Adicionar mensagem"
- 5 Definindo uma mensagem capaz de informar as horas
- 6 Clique aqui
- 7 Clique aqui
- 8 Clique em "Iniciar Debug"
- 9 Digite uma mensagem de teste
- 10 Mande uma mensagem perguntando as horas
- 11 Confira a mensagem
- 12 Clique "Adicionar mensagem"
- 13 Definindo a mensagem de fuso horário
- 14 Clique aqui
- 15 Clique aqui
- 16 Pergunte novamente que horas são
- 17 Pergunte as horas
- 18 Confira a resposta do agente
- 19 Crie uma nova função
- 20 Defina o nome da função
- 21 Defina o nome da função
- 22 Defina a descrição da função
- 23 Defina a descrição da função
- 24 Defina os parâmetros
- 25 Clique em "Adicionar parâmetro"
- 26 Defina o nome do parâmetro
- 27 Preencha o nome do parâmetro
- 28 Defina aqui o tipo do parâmetro
- 29 Clique em "string"
- 30 Defina aqui a descrição do parâmetro
- 31 Preencha a descrição
- 32 Clique em "Obrigatório"
- 33 Marque o parâmetro cidade como obrigatório
- 34 Clique em "Salvar"
- 35 Definindo as ações
- 36 Clique em "Adicionar ação"
- 37 Defina uma condição
- 38 Defina a condição como true
- 39 Defina o tipo da ação
- 40 Clique em "Requisição HTTP"
- 41 Defina o método HTTP
- 42 Clique em "GET"
- 43 Defina a URL da requisição
- 44 Usaremos a API WTTR.IN
- 45 Como utilizar o valor do parâmetro
- 46 Clique em "Salvar"
- 47 Agora precisamos definir a saída da função
- 48 Defina a saída da função
- 49 Definindo a nossa saída
- 50 Use a função getAction para pegar o resultado de uma ação
- 51 Use a função JSON.stringify para serializar a resposta da requisição
- 52 Clique em "Executar Completion após o retorno da função?"
- 53 Habilite a opção
- 54 Salve a nova função
- 55 Clique aqui
- 56 Pergunte ao agente quais são suas funcionalidades
- 57 Veja a resposta do agente
- 58 Pedindo a previsão do tempo de Campinas
- 59 Confira a chamada de função
- 60 Confira a previsão do tempo da cidade
Neste guia, você aprenderá a configurar um agente OpenAI capaz de chamar funções e executar requisições HTTP.
1 Introdução #
Vamos criar um agente com uma função que pega a previsão do tempo de uma cidade. Esse guia funciona para qualquer agente OpenAI: ChatGPT, DeepSeek e Gemini. Você precisa ter um agente já configurado com a chave de API da respectiva plataforma.
2 Oculte as seções que não serão utilizadas #
Vamos começar ocultando as seções de configuração que não vamos utilizar. Oculte “Opções gerais” e “Configurações”
3 Vamos definir as mensagens de sistema #
O primeiro passo vai ser definir as mensagens de sistema. Elas são as instruções de como o modelo deve responder. Criaremos duas mensagens: uma informando ao agente que horas são e outra definindo o fuso horário.
4 Clique em “Adicionar mensagem” #
A primeira mensagem de sistema que vamos definir é a da hora atual.
5 Definindo uma mensagem capaz de informar as horas #
Aqui vamos digitar um pouco de código: É uma linguagem chamada SpEL. Vamos usar a função moment.format() para gerar a hora dinamicamente.
6 Clique aqui #
Vamos testar, sem definir o fuso horário, pra ver se a mensagem de sistema está funcionando. Clique no ícone verde na parte superior da tela para salvar.
8 Clique em “Iniciar Debug” #
Inicie o modo de depuração do agente clicando no botão “Iniciar Debug”
9 Digite uma mensagem de teste #
Envie a mensagem de teste, vamos perguntar pro agente que horas são.
11 Confira a mensagem #
O agente nos respondeu com a hora correta, porém no fuso horário de Greenwich. Isso nos mostra que a mensagem de sistema está funcionando, só falta definir o fuso horário correto.
13 Definindo a mensagem de fuso horário #
Vamos definir que o fuso horário do interlocutor é o horário de Brasília.
19 Crie uma nova função #
Agora vamos pra parte que criamos a função que pega a previsão do tempo de uma cidade. Clique em “Adicionar função”.
20 Defina o nome da função #
Defina o nome da função. O nome é importante, o modelo leva em consideração o nome da função na hora de decidir se vai chamar ela ou não.
22 Defina a descrição da função #
A descrição é tão importante quanto o nome, e também é levada em consideração pelo modelo. Escreva uma descrição que defina bem o que a sua função faz.
24 Defina os parâmetros #
Agora vamos definir os parâmetros dessa nossa função. Aqui você define como os parâmetros devem ser, e o modelo vai chamar a função com os parâmetros que ele julgar coerente, porém seguindo as suas definições. No nosso caso, criaremos apenas um parâmetro obrigatório, chamado “cidade” do tipo “string”.
27 Preencha o nome do parâmetro #
No nosso caso, colocaremos “cidade”. Vai ser o nome da cidade que a previsão do tempo será consultada.
30 Defina aqui a descrição do parâmetro #
Aqui você digita a descrição do parâmetro, assim como a descrição da função, ele deve definir bem qual a finalidade desse parâmetro, o modelo irá usar essa descrição na hora de definir o valor desse parâmetro na chamada da função.
31 Preencha a descrição #
Vamos definir a descrição desse parâmetro como: “Nome da cidade da qual a previsão do tempo será consultada”.
32 Clique em “Obrigatório” #
Essa função não pode ser chamada sem o valor desse parâmetro, então devemos marcar o campo obrigatório.
35 Definindo as ações #
No momento ja temos uma função com nome, descrição e parâmetros. Porém, ela ainda não faz nada. E para que a função realmente faça alguma coisa precisamos definir as ações. No nosso caso, criaremos uma ação que consulta uma API pública de previsão do tempo.
37 Defina uma condição #
As ações podem ser ou não executadas, e isso é decidido em tempo de execução calculando o valor do campo “Condição” da ação.
38 Defina a condição como true #
No nosso caso, nossa ação sempre deverá ser executada, então colocaremos ‘true’ no campo condição
39 Defina o tipo da ação #
Aqui você define o tipo da ação. Temos várias opções, mas usaremos apenas a “Requisição HTTP”
44 Usaremos a API WTTR.IN #
Usaremos uma API pública chamada “WTTR.IN” para consultar a previsão do tempo de uma cidade.
45 Como utilizar o valor do parâmetro #
Note como utilizamos o valor do parâmetro dentro da URL da API. Esse valor é gerado pelo modelo OpenAI e é baseado nas definições de parâmetros que fizemos anteriormente e na conversa com o usuário
47 Agora precisamos definir a saída da função #
Precisamos agora definir a saída da função: Nossa função já é chamada corretamente e já executa a requisição HTTP. Porém não da uma resposta em forma de mensagem ao usuário.
48 Defina a saída da função #
Nesse campo definimos a saída da função, o conteúdo desse campo será “embutido” na conversa que o usuário estiver tendo com o modelo.
49 Definindo a nossa saída #
No nosso caso, vamos pegar a resposta HTTP da primeira ação executada nessa função. Como essa resposta é um JSON, precisamos serializar.
50 Use a função getAction para pegar o resultado de uma ação #
Aqui usamos a função “getAction” para pegar o resultado da ação da requisição HTTP.
51 Use a função JSON.stringify para serializar a resposta da requisição #
Após pegar a resposta da requisição, serializamos ela com a função “JSON.stringify”
52 Clique em “Executar Completion após o retorno da função?” #
Habilite a execução após retorno da função. Esse passo é importante, se não marcarmos essa opção, embora o JSON de resposta da requisição HTTP fique salvo na conversa, o modelo IA não vai dar uma resposta para o nosso cliente de imediato.
57 Veja a resposta do agente #
Veja que na resposta do agente ele diz que é capaz de pegar a previsão do tempo de uma cidade. Isso mostra que nossa função está registrada na memória dele.
59 Confira a chamada de função #
Essa caixa é um relatório de chamada de função, só você pode ver ela. Ela mostra que uma função foi chamada e nossa ação de Requisição HTTP foi executada com sucesso.
60 Confira a previsão do tempo da cidade #
Logo após a chamada de função, o agente enviou a previsão do tempo da cidade de Campinas!
Este guia abrange a configuração passo a passo de um agente OpenAI. Criamos um agente capaz de chamar uma função e consultar a previsão do tempo de qualquer cidade utilizando uma API pública. Se ainda houver dúvidas ou caso você enfrente dificuldades, entre em contato com o suporte.