Skip to main content
Use o modo background quando uma resposta puder levar muito tempo para ser concluída, como no uso de ferramentas em várias etapas ou em tarefas de geração extensas. A API retorna imediatamente com uma resposta enfileirada, e você recupera o resultado mais tarde por polling ou streaming.

Criar uma resposta em segundo plano

Defina background como true e stream como false. A API cria a resposta, inicia seu processamento de forma assíncrona e retorna imediatamente com status: "queued".
Salve o id para recuperar o resultado mais tarde.

Consultar o resultado por polling

Chame GET /responses/{response_id} até que o status atinja um estado terminal.
Uma resposta passa por estes status durante o processamento: Faça polling em um intervalo razoável (por exemplo, a cada dois segundos) até que o status não seja mais queued ou in_progress.

Transmitir eventos de uma resposta em segundo plano

Se quiser atualizações em tempo real em vez de polling, recupere a resposta com stream definido como true. A API retorna eventos enviados pelo servidor à medida que a resposta é processada.
Os eventos chegam à medida que são produzidos. O stream é fechado após um evento terminal, como response.completed ou response.failed. Se a resposta já tiver sido concluída quando você chamar este endpoint, receberá um único evento terminal com a resposta final, e o stream será fechado imediatamente.

Transmitir eventos no momento da criação

Você também pode transmitir eventos diretamente ao criar uma resposta em segundo plano definindo background e stream como true.
O primeiro evento é response.queued, seguido por response.created, eventos intermediários como response.output_text.delta e, por fim, um evento terminal como response.completed. Isso é útil quando você deseja mostrar o progresso em uma interface enquanto o trabalho é executado em segundo plano. Se o cliente se desconectar, a resposta continuará sendo processada e poderá ser recuperada mais tarde.

Cancelar uma resposta em segundo plano

Se você não precisar mais do resultado, cancele uma resposta enfileirada ou em andamento.
O status da resposta muda para cancelled. Respostas que já foram concluídas ou falharam não podem ser canceladas.

Próximas etapas