A saída em streaming da Assistant API fornece resultados do Assistente em tempo real. Esses resultados chegam como um fluxo de eventos com informações de status e mensagens de conversa do runtime do Assistente. Para processar essas mensagens, compreenda os objetos message delta e execute step delta.
Objeto message delta
Event name: thread.message.deltaFragmento de mensagem que o Large Language Model (LLM) gera durante uma execução em streaming.
Nome do campo | Tipo | Descrição |
|---|---|---|
id | string | Identificador da mensagem. |
object | string | Tipo do objeto. Corresponde ao nome do evento. Sempre é |
delta | object | Objeto de fragmento de mensagem que o LLM gera. |
delta.role | string | Função que gerou a mensagem. O valor pode ser |
delta.file_ids | array | Campo não utilizado. |
delta.content | object | Objeto de conteúdo da mensagem. |
delta.content.type | string | Tipo de conteúdo da mensagem. Sempre é |
delta.content.text | object | Objeto de conteúdo de texto na mensagem. |
delta.content.text.annotations | array | Campo não utilizado. |
delta.content.text.value | string | Conteúdo de texto da mensagem. |
Objeto execute step delta
Event name: thread.run.step.deltaFragmento de mensagem que uma chamada de ferramenta retorna durante uma execução em streaming.
Nome do campo | Tipo | Descrição |
|---|---|---|
id | string | Identificador da etapa de execução. |
object | string | Tipo do objeto. Corresponde ao nome do evento. Sempre é |
delta | object | Objeto de fragmento de mensagem que a chamada de ferramenta retorna. |
delta.step_details | object | Objeto com detalhes da etapa do fragmento. |
delta.step_details.type | string | Tipo dos detalhes da etapa. O valor pode ser |
delta.step_details.message_creation | object | Detalhes da mensagem criada na etapa. |
delta.step_details.message_creation.type | string | Sempre é |
delta.step_details.message_creation.message_id | string | ID da mensagem criada nesta etapa. |
delta.step_details.tool_calls | array | Lista de detalhes das chamadas de ferramenta. |
delta.step_details.tool_calls.type | string | Tipo da chamada de ferramenta. O valor pode ser |
delta.step_details.tool_calls.code_interpreter | object | Objeto de mensagem do interpretador de código. |
delta.step_details.tool_calls.code_interpreter.arguments | string | Parâmetros de entrada do interpretador de código. Inclui o tipo de código e o código completo. O LLM gera este campo. |
delta.step_details.tool_calls.code_interpreter.output | string | Parâmetros de saída do interpretador de código. Inclui o resultado da execução. O interpretador de código gera este campo. |
delta.step_details.tool_calls.quark_search | object | Objeto de mensagem do Quark Search. |
delta.step_details.tool_calls.quark_search.arguments | string | Parâmetros de entrada do Quark Search. Inclui a instrução de consulta reescrita. O LLM gera este campo. |
delta.step_details.tool_calls.quark_search.output | string | Parâmetros de saída do Quark Search. Inclui marca de sucesso, código de erro, mensagem de erro e lista de resultados de pesquisa (título, endereço, descrição, tipo, origem da mensagem). O Quark Search gera este campo. |
delta.step_details.tool_calls.text_to_image | object | Objeto de mensagem de texto para imagem. |
delta.step_details.tool_calls.text_to_image.arguments | string | Parâmetros de entrada de texto para imagem. Inclui nome do modelo, estilo, tamanho da imagem, quantidade de imagens, prompt positivo e prompt negativo. O LLM gera este campo. |
delta.step_details.tool_calls.text_to_image.output | string | Parâmetros de saída de texto para imagem. Inclui ID da solicitação, ID da tarefa, status da tarefa, hora de envio, tempo estimado de conclusão, hora de término, resultado gerado, quantidade de imagens, marca de sucesso e marca de falha. A ferramenta de texto para imagem gera este campo. |
delta.step_details.tool_calls.calculator | object | Objeto de mensagem da calculadora. |
delta.step_details.tool_calls.calculator.arguments | string | Parâmetros de entrada da calculadora. Inclui a fórmula de entrada e o cabeçalho da solicitação. O LLM gera este campo. |
delta.step_details.tool_calls.calculator.output | string | Parâmetros de saída da calculadora. Inclui a fórmula e o resultado. A calculadora gera este campo. |
Fluxo de eventos do Assistente
Eventos que ocorrem ao executar um Assistente no modo streaming.
Na Assistant API, um fluxo de eventos consiste em um event e em data:
-
event: O servidor envia um evento quando cria um novo objeto, altera o estado ou transmite conteúdo via streaming. Por exemplo, o servidor envia um evento ao criar uma nova execução (thread.run.created) ou ao concluir uma execução (thread.run.completed). -
data: Contém dados detalhados relacionados ao evento. Pode incluir status, texto, mensagens de ferramenta ou erros.
Nome do evento | Tipo de dados | Descrição |
|---|---|---|
thread.created | thread | Criação de um novo thread. |
thread.run.created | run | Criação de uma nova execução. |
thread.run.queued | run | Transição da execução para o estado |
thread.run.in_progress | run | Transição da execução para o estado |
thread.run.requires_action | run | Transição da execução para o estado |
thread.run.completed | run | Conclusão da execução. |
thread.run.failed | run | Falha na execução. |
thread.run.cancelled | run | Cancelamento da execução. |
thread.run.expired | run | Expiração da execução. |
thread.run.step.created | run step | Criação de uma etapa de execução. |
thread.run.step.in_progress | run step | Transição da etapa de execução para o estado |
thread.run.step.delta | run step delta | Transmissão parcial do conteúdo de uma etapa de execução via streaming. |
thread.run.step.completed | run step | Conclusão da etapa de execução. |
thread.run.step.failed | run step | Falha na etapa de execução. |
thread.run.step.cancelled | run step | Cancelamento da etapa de execução. |
thread.run.step.expired | run step | Expiração da etapa de execução. |
thread.message.created | message | Criação de uma mensagem. |
thread.message.in_progress | message | Transição da mensagem para o estado |
thread.message.delta | message delta | Transmissão parcial do conteúdo de uma mensagem via streaming. |
thread.message.completed | message | Conclusão da mensagem. |
thread.message.incomplete | message | Término da mensagem antes da conclusão. |
error | error | Acionado quando ocorre um erro. Pode ser causado por um erro interno do servidor ou timeout. |
FAQ
- Caso encontre um erro de execução de código ao configure a saída em streaming, consulte Mensagens de erro para solucionar o problema.
- Para aprender a configure a saída em streaming da Assistant API, acesse Início rápido para saída em streaming da Assistant API.