Loading...
    • Guia do Desenvolvedor
    • Referência da API
    • MCP
    • Recursos
    • Notas de lançamento
    Search...
    ⌘K
    Primeiros passos
    Introdução ao ClaudeInício rápido
    Modelos e preços
    Visão geral dos modelosEscolhendo um modeloNovidades no Claude 4.5Migrando para Claude 4.5Descontinuação de modelosPreços
    Construir com Claude
    Visão geral de recursosUsando a API MessagesJanelas de contextoMelhores práticas de prompting
    Capacidades
    Cache de promptEdição de contextoPensamento estendidoEsforçoStreaming de mensagensProcessamento em loteCitaçõesSuporte multilíngueContagem de tokensEmbeddingsVisãoSuporte a PDFAPI de arquivosResultados de buscaSaídas estruturadas
    Ferramentas
    Visão geralComo implementar o uso de ferramentasStreaming de ferramentas granularFerramenta BashFerramenta de execução de códigoChamada de ferramenta programáticaFerramenta de uso do computadorFerramenta de editor de textoFerramenta de busca na webFerramenta de pesquisa na webFerramenta de memóriaFerramenta de busca de ferramentas
    Habilidades do agente
    Visão geralInício rápidoMelhores práticasUsando habilidades com a API
    SDK do agente
    Visão geralInício rápidoSDK TypeScriptTypeScript V2 (preview)SDK PythonGuia de migração
    MCP na API
    Conector MCPServidores MCP remotos
    Claude em plataformas de terceiros
    Amazon BedrockMicrosoft FoundryVertex AI
    Engenharia de prompts
    Visão geralGerador de promptsUsar modelos de promptsMelhorador de promptsSeja claro e diretoUse exemplos (prompting multishot)Deixe Claude pensar (CoT)Use tags XMLDê um papel ao Claude (prompts do sistema)Preencha a resposta do ClaudeEncadeie prompts complexosDicas de contexto longoDicas de pensamento estendido
    Testar e avaliar
    Definir critérios de sucessoDesenvolver casos de testeUsando a ferramenta de avaliaçãoReduzindo latência
    Fortalecer proteções
    Reduzir alucinaçõesAumentar consistência de saídaMitigar jailbreaksRecusas de streamingReduzir vazamento de promptManter Claude em personagem
    Administração e monitoramento
    Visão geral da API de administraçãoAPI de uso e custoAPI de análise de código Claude
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    Ferramentas

    Streaming de ferramentas de granularidade fina

    Streaming de ferramentas de granularidade fina para valores de parâmetros
    • Como usar streaming de ferramentas de granularidade fina
    • Tratamento de JSON inválido em respostas de ferramentas

    O uso de ferramentas agora suporta streaming de granularidade fina para valores de parâmetros. Isso permite que os desenvolvedores façam streaming dos 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 de granularidade fina está disponível via Claude API, AWS Bedrock, Google Cloud's Vertex AI e Microsoft Foundry.

    O streaming de ferramentas de granularidade fina é 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 API em si ou a qualidade da documentação — mal podemos esperar para ouvir você!

    Ao usar streaming de ferramentas de granularidade fina, você pode potencialmente receber entradas JSON inválidas ou parciais. Certifique-se de levar em conta esses casos extremos em seu código.

    Como usar streaming de ferramentas de granularidade fina

    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 ferramentas e ative o streaming.

    Aqui está um exemplo de como usar streaming de ferramentas de granularidade fina com a API:

    curl https://api.anthropic.com/v1/messages \
      -H "content-type: application/json" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: fine-grained-tool-streaming-2025-05-14" \
      -d '{
        "model": "claude-sonnet-4-5",
        "max_tokens": 65536,
        "tools": [
          {
            "name": "make_file",
            "description": "Write text to a file",
            "input_schema": {
              "type": "object",
              "properties": {
                "filename": {
                  "type": "string",
                  "description": "The filename to write text to"
                },
                "lines_of_text": {
                  "type": "array",
                  "description": "An array of lines of text to write to the file"
                }
              },
              "required": ["filename", "lines_of_text"]
            }
          }
        ],
        "messages": [
          {
            "role": "user",
            "content": "Can you write a long poem and make a file called poem.txt?"
          }
        ],
        "stream": true
      }' | jq '.usage'

    Neste exemplo, o streaming de ferramentas de granularidade fina permite que Claude faça streaming das linhas de um poema longo para a chamada de ferramenta make_file sem buffering para validar se o parâmetro lines_of_text é um JSON válido. Isso significa que você pode ver o parâmetro fazer streaming conforme chega, sem ter que esperar que todo o parâmetro seja armazenado em buffer e validado.

    Com streaming de ferramentas de granularidade fina, os chunks de uso de ferramentas começam a fazer streaming mais rapidamente e geralmente são mais longos e contêm menos quebras de palavra. Isso se deve a diferenças no comportamento de chunking.

    Exemplo:

    Sem streaming de granularidade fina (atraso de 15s):

    Chunk 1: '{"'
    Chunk 2: 'query": "Ty'
    Chunk 3: 'peScri'
    Chunk 4: 'pt 5.0 5.1 '
    Chunk 5: '5.2 5'
    Chunk 6: '.3'
    Chunk 8: ' new f'
    Chunk 9: 'eatur'
    ...

    Com streaming de granularidade fina (atraso de 3s):

    Chunk 1: '{"query": "TypeScript 5.0 5.1 5.2 5.3'
    Chunk 2: ' new features comparison'

    Como o streaming de granularidade fina envia parâmetros sem buffering ou validação JSON, não há garantia de que o stream resultante será concluído em uma string JSON válida. Particularmente, se a razão de parada max_tokens for atingida, o stream pode terminar no meio de um parâmetro e pode estar incompleto. Geralmente, você terá que escrever suporte específico para lidar com quando max_tokens é atingido.

    Tratamento de JSON inválido em respostas de ferramentas

    Ao usar streaming de ferramentas de granularidade fina, você pode receber JSON inválido ou incompleto do modelo. Se você precisar passar este JSON inválido de volta para o modelo em um bloco de resposta de erro, você pode envolvê-lo em um objeto JSON para garantir o tratamento adequado (com uma chave razoável). Por exemplo:

    {
      "INVALID_JSON": "<your invalid json string>"
    }

    Esta abordagem ajuda o modelo a entender que o conteúdo é JSON inválido enquanto preserva os dados malformados originais para fins de depuração.

    Ao envolver JSON inválido, certifique-se de escapar adequadamente todas as aspas ou caracteres especiais na string JSON inválida para manter a estrutura JSON válida no objeto wrapper.