Streaming de ferramentas refinado
Streaming de ferramentas refinado permite que desenvolvedores transmitam parâmetros de uso de ferramentas sem buffering ou validação JSON, reduzindo a latência.
O uso de ferramentas agora suporta streaming refinado para valores de parâmetros. Isso permite que desenvolvedores transmitam parâmetros de uso de ferramentas sem buffering / validação JSON, reduzindo a latência para começar a receber parâmetros grandes.
O streaming de ferramentas refinado é um recurso beta. Certifique-se de avaliar suas respostas antes de usá-lo em produção.
Use este formulário para fornecer feedback sobre a qualidade das respostas do modelo, a própria API ou a qualidade da documentação—mal podemos esperar para ouvir de você!
Ao usar streaming de ferramentas refinado, você pode potencialmente receber entradas JSON inválidas ou parciais. Certifique-se de considerar esses casos extremos em seu código.
Como usar streaming de ferramentas refinado
Para usar este recurso beta, simplesmente adicione o cabeçalho beta fine-grained-tool-streaming-2025-05-14
a uma solicitação de uso de ferramenta e ative o streaming.
Aqui está um exemplo de como usar streaming de ferramentas refinado com a API:
Neste exemplo, o streaming de ferramentas refinado permite que Claude transmita as linhas de um poema longo para a chamada de ferramenta make_file
sem buffering para validar se o parâmetro lines_of_text
é JSON válido. Isso significa que você pode ver o parâmetro sendo transmitido conforme chega, sem ter que esperar que todo o parâmetro seja armazenado em buffer e validado.
Com streaming de ferramentas refinado, os chunks de uso de ferramentas começam a transmitir mais rapidamente e são frequentemente mais longos e contêm menos quebras de palavras. Isso se deve a diferenças no comportamento de chunking.
Exemplo:
Sem streaming refinado (atraso de 15s):
Com streaming refinado (atraso de 3s):
Como o streaming refinado envia parâmetros sem buffering ou validação JSON, não há garantia de que o stream resultante será completado em uma string JSON válida.
Particularmente, se o motivo de parada max_tokens
for atingido, o stream pode terminar no meio de um parâmetro e pode estar incompleto. Você geralmente terá que escrever suporte específico para lidar com quando max_tokens
for atingido.