Saltar para o conteúdo principal
CHATGPT pergunta ao ChatGPT com a busca na web ativada e retorna a resposta, cada fonte que ele encontrou, as buscas que fez e os cartões de produto e de lugar que desenhou.

Requisição

Resposta

Por exemplo, uma resposta resumida:
Cada fonte traz searchQueries (as buscas cujos resultados a incluíram), cited (se a resposta a cita no texto) e citedText (o trecho da resposta que cada citação sustenta). Fontes que nenhuma busca retornou, como produtos, não têm searchQueries.

Layout em cartões

layout aparece quando o ChatGPT desenha a resposta em cartões. Seus nodes seguem a ordem em que o ChatGPT os mostra:

Flags include

CHATGPT respeita todas as flags de resposta. Todas vêm ligadas por padrão, exceto rawResponse e html; envie false para desligar uma.

Detalhes dos cartões

Com include.entityDetails, cada cartão da resposta (um produto, lugar, app ou marca) vem com o painel de detalhes que o ChatGPT abre quando o leitor clica nele: descrição, especificações, avaliações e as páginas que as sustentam. Os painéis citam páginas próprias e assim mostram fontes que o texto da resposta deixa de fora. error é ENTITY_DETAIL_FAILED se o pedido do painel falhar, ENTITY_DETAIL_EMPTY se o painel não tiver texto e ENTITY_DETAIL_UNAVAILABLE se faltarem os dados da conversa ou as credenciais do turno necessários. Os detalhes também funcionam com payload.location, CN, HK, respostas pelo caminho alternativo e include.html. Um painel que o ChatGPT já escreveu antes volta em cerca de um segundo; um que ele escreve no pedido leva de 10 a 30 segundos, com até 4 painéis ao mesmo tempo. Até 20 cartões são abertos por resposta. Os painéis não somam créditos, e cada resposta de acompanhamento recebe seus próprios painéis.

Perguntas de acompanhamento

payload.followUps faz até 4 perguntas a mais na mesma conversa depois da primeira resposta, em ordem. Cada item é um destes:
  • { "prompt": "..." }: uma pergunta sua.
  • { "select": { "button": 0, "choices": { "budget": "Under $100" } } }: pressiona o botão de um formulário de acompanhamento da resposta anterior.
button conta os botões da resposta a partir de 0 e, por padrão, é o primeiro. choices escolhe opções pelo name de cada nó choice, ou como um array na ordem do formulário; cada escolha é o value ou o label de uma opção, ou a sua posição a partir de 0. O que você não escolher mantém a opção que o ChatGPT deixou selecionada, então { "select": {} } envia o prompt do próprio botão.
Os campos de nível superior continuam sendo a primeira resposta. followUps na resposta lista cada resposta seguinte com a pergunta enviada (prompt), o que um select pressionou (selection: o label do botão e o valor de cada escolha) e os mesmos campos da primeira resposta. Quando um select não pode ser pressionado, as perguntas restantes não são feitas, e followUpsStopped informa o index da pergunta, um code e uma message: A tarefa é concluída mesmo assim com as respostas obtidas. Cada resposta custa 1 crédito: a tarefa reserva créditos para todas as perguntas de acompanhamento e cobra apenas as respostas que devolve. include.analysis, include.citationAnalysis e include.html se aplicam à primeira resposta. Os outros mecanismos recusam followUps com 400 VALIDATION_ERROR.

Continuar uma conversa depois

Para ler uma resposta antes de escolher a próxima pergunta, envie uma nova tarefa CHATGPT com payload.continueFrom igual ao id de uma tarefa concluída e, junto, um prompt ou um select que pressiona um formulário da última resposta dessa tarefa (as mesmas regras de followUps).
  • Uma resposta que mostra um formulário traz forms: os buttons de cada formulário, cuja ordem é select.button, e suas choices com name, a opção selecionada no início e as options.
  • conversation.id é a tarefa que abriu a conversa, turn conta as respostas até agora e expiresAt é o último momento para continuá-la, 3 horas depois da primeira resposta.
  • Uma continuação pergunta sob a última resposta da tarefa indicada, então indicar a mesma tarefa duas vezes ramifica a conversa.
  • Ela mantém o country e a location originais. Omita-os ou envie os mesmos valores.
  • Uma tarefa de outra conta ou de outro mecanismo, uma tarefa não concluída ou um select inválido é recusada com 400 VALIDATION_ERROR. Uma conversa expirada é recusada com 400 CONVERSATION_EXPIRED. Nenhum dos casos é cobrado.
  • Uma continuação custa o mesmo que qualquer tarefa do ChatGPT.

Relacionados