Loading...
    • Guide du développeur
    • Référence API
    • MCP
    • Ressources
    • Notes de version
    Search...
    ⌘K
    Premiers pas
    Introduction à ClaudeDémarrage rapide
    Modèles et tarification
    Aperçu des modèlesChoisir un modèleNouveautés dans Claude 4.6Guide de migrationDépréciation des modèlesTarification
    Créer avec Claude
    Aperçu des fonctionnalitésUtiliser l'API MessagesGérer les raisons d'arrêtMeilleures pratiques de prompting
    Gestion du contexte
    Fenêtres de contexteCompactionÉdition du contexte
    Capacités
    Mise en cache des promptsRéflexion étendueRéflexion adaptativeEffortStreaming de messagesTraitement par lotsCitationsSupport multilingueComptage des tokensEmbeddingsVisionSupport PDFAPI FilesRésultats de rechercheSorties structurées
    Outils
    AperçuComment implémenter l'utilisation d'outilsStreaming d'outils granulaireOutil BashOutil d'exécution de codeAppel d'outils programmatiqueOutil Computer useOutil Éditeur de texteOutil Web fetchOutil Web searchOutil MémoireOutil Tool search
    Compétences d'agent
    AperçuDémarrage rapideMeilleures pratiquesCompétences pour l'entrepriseUtiliser les compétences avec l'API
    SDK Agent
    AperçuDémarrage rapideSDK TypeScriptTypeScript V2 (aperçu)SDK PythonGuide de migration
    MCP dans l'API
    Connecteur MCPServeurs MCP distants
    Claude sur les plateformes tierces
    Amazon BedrockMicrosoft FoundryVertex AI
    Ingénierie des prompts
    AperçuGénérateur de promptsUtiliser les modèles de promptsAméliorateur de promptsÊtre clair et directUtiliser des exemples (prompting multi-coups)Laisser Claude réfléchir (CoT)Utiliser les balises XMLDonner un rôle à Claude (prompts système)Enchaîner les prompts complexesConseils pour le contexte longConseils pour la réflexion étendue
    Tester et évaluer
    Définir les critères de succèsDévelopper des cas de testUtiliser l'outil d'évaluationRéduire la latence
    Renforcer les garde-fous
    Réduire les hallucinationsAugmenter la cohérence des résultatsAtténuer les jailbreaksRefus en streamingRéduire les fuites de promptsGarder Claude dans le rôle
    Administration et surveillance
    Aperçu de l'API AdminRésidence des donnéesEspaces de travailAPI d'utilisation et de coûtsAPI Claude Code AnalyticsRétention zéro des données
    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
    Outils

    Streaming d'outils à granularité fine

    Streaming d'outils à granularité fine est généralement disponible sur tous les modèles et toutes les plates-formes, sans en-tête bêta requis.

    Le streaming d'outils à granularité fine est généralement disponible sur tous les modèles et toutes les plates-formes, sans en-tête bêta requis. Il permet le streaming des valeurs de paramètres d'utilisation d'outils sans mise en mémoire tampon ou validation JSON, réduisant la latence pour commencer à recevoir de grands paramètres.

    Lors de l'utilisation du streaming d'outils à granularité fine, vous pouvez potentiellement recevoir des entrées JSON invalides ou partielles. Assurez-vous de tenir compte de ces cas limites dans votre code.

    Comment utiliser le streaming d'outils à granularité fine

    Le streaming d'outils à granularité fine est disponible sur tous les modèles et toutes les plates-formes (Claude API, Amazon Bedrock, Google Vertex AI et Microsoft Foundry). Pour l'utiliser, définissez eager_input_streaming sur true sur n'importe quel outil où vous souhaitez activer le streaming à granularité fine, et activez le streaming sur votre requête.

    Voici un exemple de la façon d'utiliser le streaming d'outils à granularité fine avec l'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" \
      -d '{
        "model": "claude-opus-4-6",
        "max_tokens": 65536,
        "tools": [
          {
            "name": "make_file",
            "description": "Write text to a file",
            "eager_input_streaming": true,
            "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'

    Dans cet exemple, le streaming d'outils à granularité fine permet à Claude de diffuser les lignes d'un long poème dans l'appel d'outil make_file sans mise en mémoire tampon pour valider si le paramètre lines_of_text est un JSON valide. Cela signifie que vous pouvez voir le paramètre se diffuser à mesure qu'il arrive, sans avoir à attendre que l'ensemble du paramètre soit mis en mémoire tampon et validé.

    Avec le streaming d'outils à granularité fine, les chunks d'utilisation d'outils commencent à se diffuser plus rapidement et sont souvent plus longs et contiennent moins de ruptures de mots. Ceci est dû aux différences dans le comportement de chunking.

    Exemple :

    Sans streaming à granularité fine (délai 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'
    ...

    Avec streaming à granularité fine (délai de 3s) :

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

    Parce que le streaming à granularité fine envoie des paramètres sans mise en mémoire tampon ou validation JSON, il n'y a aucune garantie que le flux résultant se complètera dans une chaîne JSON valide. En particulier, si la raison d'arrêt max_tokens est atteinte, le flux peut se terminer au milieu d'un paramètre et peut être incomplet. Vous devrez généralement écrire un support spécifique pour gérer le moment où max_tokens est atteint.

    Gestion du JSON invalide dans les réponses d'outils

    Lors de l'utilisation du streaming d'outils à granularité fine, vous pouvez recevoir du JSON invalide ou incomplet du modèle. Si vous devez renvoyer ce JSON invalide au modèle dans un bloc de réponse d'erreur, vous pouvez l'envelopper dans un objet JSON pour assurer une manipulation appropriée (avec une clé raisonnable). Par exemple :

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

    Cette approche aide le modèle à comprendre que le contenu est un JSON invalide tout en préservant les données malformées d'origine à des fins de débogage.

    Lors de l'enveloppe du JSON invalide, assurez-vous d'échapper correctement les guillemets ou les caractères spéciaux dans la chaîne JSON invalide pour maintenir une structure JSON valide dans l'objet wrapper.

    Was this page helpful?

    • Comment utiliser le streaming d'outils à granularité fine
    • Gestion du JSON invalide dans les réponses d'outils