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:
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
Cominclude.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.
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 tarefaCHATGPT 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: osbuttonsde cada formulário, cuja ordem éselect.button, e suaschoicescomname, a opção selecionada no início e asoptions. conversation.idé a tarefa que abriu a conversa,turnconta as respostas até agora eexpiresAté 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
countrye alocationoriginais. Omita-os ou envie os mesmos valores. - Uma tarefa de outra conta ou de outro mecanismo, uma tarefa não concluída ou um
selectinválido é recusada com400 VALIDATION_ERROR. Uma conversa expirada é recusada com400 CONVERSATION_EXPIRED. Nenhum dos casos é cobrado. - Uma continuação custa o mesmo que qualquer tarefa do ChatGPT.