Ver categorias

Criando um agente OpenAI capaz de acessar a internet e pegar a previsão do tempo

7 minutos de leitura

Tabela de conteúdos (TOC)

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.

Passo 2 captura

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”

Passo 3 captura

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.

Passo 4 captura

4 Clique em “Adicionar mensagem” #

A primeira mensagem de sistema que vamos definir é a da hora atual.

Passo 5 captura

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.

Passo 6 captura

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.

Passo 7 captura

7 Clique aqui #

Clique no botão com ícone de três pontos para abrir um menu.

Passo 8 captura

8 Clique em “Iniciar Debug” #

Inicie o modo de depuração do agente clicando no botão “Iniciar Debug”

Passo 9 captura

9 Digite uma mensagem de teste #

Envie a mensagem de teste, vamos perguntar pro agente que horas são.

Passo 10 captura

10 Mande uma mensagem perguntando as horas #

Preencha “Olá, que horas são”

Passo 11 captura

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.

Passo 12 captura

12 Clique “Adicionar mensagem” #

Vamos adicionar a mensagem de fuso horário.

Passo 13 captura

13 Definindo a mensagem de fuso horário #

Vamos definir que o fuso horário do interlocutor é o horário de Brasília.

Passo 14 captura

14 Clique aqui #

Clique no botão para salvar o agente.

Passo 15 captura

15 Clique aqui #

Limpe a conversa anterior clicando no botão de lixeira na parte superior direita.

Passo 16 captura

16 Pergunte novamente que horas são #

Faça novamente a pergunta do horário

Passo 17 captura

17 Pergunte as horas #

Digite “Oi, que horas são?” no campo fornecido

Passo 18 captura

18 Confira a resposta do agente #

Note que agora a resposta está com fuso horário correto.

Passo 19 captura

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”.

Passo 20 captura

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.

Passo 21 captura

21 Defina o nome da função #

Preencha a caixa de texto com “pegar_previsao_do_tempo”

Passo 22 captura

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.

Passo 23 captura

23 Defina a descrição da função #

Digite o texto desejado.

Passo 24 captura

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”.

Passo 25 captura

25 Clique em “Adicionar parâmetro” #

Adicione um novo parâmetro à função.

Passo 26 captura

26 Defina o nome do parâmetro #

Defina aqui o nome do parâmetro

Passo 27 captura

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.

Passo 28 captura

28 Defina aqui o tipo do parâmetro #

Defina aqui o tipo do parâmetro.

Passo 29 captura

29 Clique em “string” #

No nosso caso, o tipo do parâmetro será “string”

Passo 30 captura

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.

Passo 31 captura

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”.

Passo 32 captura

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.

Passo 33 captura

33 Marque o parâmetro cidade como obrigatório #

Escreva “on” no campo especificado

Passo 34 captura

34 Clique em “Salvar” #

Salve o nosso novo parâmetro.

Passo 35 captura

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.

Passo 36 captura

36 Clique em “Adicionar ação” #

Adicione uma nova ação ao agente.

Passo 37 captura

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.

Passo 38 captura

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

Passo 39 captura

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”

Passo 40 captura

40 Clique em “Requisição HTTP” #

Selecione a opção de requisição HTTP.

Passo 41 captura

41 Defina o método HTTP #

Defina aqui o método HTTP que será executado na ação

Passo 42 captura

42 Clique em “GET” #

Escolha o método GET.

Passo 43 captura

43 Defina a URL da requisição #

Defina nesse campo o endereço da requisição HTTP.

Passo 44 captura

44 Usaremos a API WTTR.IN #

Usaremos uma API pública chamada “WTTR.IN” para consultar a previsão do tempo de uma cidade.

Passo 45 captura

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

Passo 46 captura

46 Clique em “Salvar” #

Salve a sua nova ação

Passo 47 captura

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.

Passo 48 captura

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.

Passo 49 captura

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.

Passo 50 captura

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.

Passo 51 captura

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”

Passo 52 captura

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.

Passo 53 captura

53 Habilite a opção #

Envie “on” no campo apropriado

Passo 54 captura

54 Salve a nova função #

Clique no ícone na parte superior da tela para salvar a sua nova função.

Passo 55 captura

55 Clique aqui #

Limpe a conversa anterior.

Passo 56 captura

56 Pergunte ao agente quais são suas funcionalidades #

Vamos testar esse nosso novo agente.

Passo 57 captura

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.

Passo 58 captura

58 Pedindo a previsão do tempo de Campinas #

Vamos pedir a previsão do tempo da cidade de Campinas.

Passo 59 captura

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.

Passo 60 captura

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!

Passo 61 captura

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.

Desenvolvido por BetterDocs

Rolar para cima