ArrayKit

Visualizador de streams SSE

Cole uma resposta em streaming crua e recupere o texto, as chamadas e o uso.

Visualizador de streams SSE

Cole uma resposta em streaming crua e recupere o texto, as chamadas e o uso.

Um stream cru contém a resposta completa. Ele é analisado no navegador e nunca enviado.

Calcule o custo do laço que o produziu

Sobre Visualizador de streams SSE

Quando uma chamada em streaming se comporta mal, o que você tem é um muro de linhas de evento e dados, e as três coisas que você quer saber estão espalhadas por ele: o que o modelo realmente disse, por que parou e o que consumiu. O texto chega em fragmentos, os argumentos de ferramenta chegam como JSON parcial que só analisa quando a última peça cai, e o uso fica dividido entre o primeiro evento e o último. Isto remonta tudo. Os dois formatos comuns de stream são tratados, porque na prática as pessoas colam ambos, e eventos que não analisam são relatados em vez de pulados em silêncio.

Recursos

  • Texto remontado a partir dos deltas, na ordem
  • Argumentos de ferramenta reconstruídos de JSON parcial e formatados
  • Motivo de parada, modelo e uso extraídos
  • Trata tanto o formato de blocos quanto o de choices/delta
  • Linhas data repetidas unidas como a especificação exige
  • Comentários de keep-alive ignorados em vez de contados como eventos
  • Eventos de erro mostrados em vez de pulados
  • Cada evento expansível, com contagem por nome

Como usar Visualizador de streams SSE

  1. Cole o stream cru
  2. Leia o texto remontado
  3. Confira o motivo de parada e o uso
  4. Expanda eventos específicos se algo ainda não se explicar

Exemplo

Entrada

delta: {"type":"text_delta","text":"Order 4471 "}

Saída

Order 4471 shipped on 30 August.

Fragmentos espalhados por seis eventos, remontados na ordem.

Erros comuns e solução de problemas

  • Nenhum texto sai. — O stream pode ter terminado antes de haver conteúdo: veja a lista de eventos e o motivo de parada. Uma recusa ou um evento de erro produzem um stream válido e vazio.
  • Argumentos de ferramenta saem truncados. — Eles chegam como JSON parcial em vários eventos. Se o stream foi cortado, o JSON nunca fecha, e o fragmento cru é mostrado em vez de uma análise.
  • Alguns eventos não analisam. — Costuma ser um stream cortado no meio de um evento na hora de copiar. Esses são relatados com o índice em vez de descartados.
  • Os números de uso parecem incompletos. — Eles ficam divididos pelo stream: tokens de entrada no começo, de saída no fim. Um stream sem os eventos finais está sem metade deles.

Perguntas frequentes

O que são server-sent events?
Um formato de streaming simples: linhas de campo e valor, com eventos separados por linhas em branco. É o que as respostas de API em streaming usam, e por isso uma chamada que falha deixa você com um muro deles.
Que formatos de stream são aceitos?
O de blocos, em que o texto chega como deltas tipados dentro de blocos de conteúdo, e o de choices/delta. Ambos são reconhecidos automaticamente, já que as pessoas colam o que o cliente delas registrou.
Por que os argumentos vêm em pedaços?
Eles são transmitidos como JSON parcial para o cliente poder começar a renderizar antes de a chamada estar completa. Isso significa que os fragmentos só analisam quando o último chega, e por isso um stream truncado deixa JSON inválido.
Consigo ver quanto custou?
O bloco de uso é extraído quando está presente, leituras de cache incluídas. Ele diz o que a chamada consumiu; daí em diante entram as ferramentas de custo.
O stream é enviado a algum lugar?
Não. Um stream contém a resposta inteira e muitas vezes o prompt que a produziu, e toda a análise acontece no navegador.

Ferramentas relacionadas

Mais ferramentas de IA e agentes

Ver todas as ferramentas de IA e agentes · Todas as ferramentas