Claude API in Practice: Streaming, Tool Use, and Structured Output

AI Navigate Original / 3/24/2026

💬 OpinionDeveloper Stack & Infrastructure
共有:

Key Points

  • Implement real-time responses using Claude API's streaming feature (SSE).
  • Design function calls with the Tool Use feature to enable external tool integration.
  • Introduce prompts to encourage JSON-structured outputs with practical examples.
  • Optimize API calls by reusing the same prompt with Prompt Caching.
  • Enable efficient batch processing of many prompts using the Batch API.

Implementing Streaming Responses with the Claude API

Taking advantage of Claude API's streaming capability (SSE: Server-Sent Events) allows you to process responses as they arrive in real time. This improves user experience and optimizes response speed for interactive apps and chat UIs.

Basic Streaming Receive Flow

Usually, APIs return a complete response, but in streaming mode, the response arrives in chunks over time. On the client side, you can process each chunk sequentially and reflect it in the UI.

Simple SSE Streaming Receive Example in Python

import requests

def stream_claude_response(api_key, prompt):
    url = \"https://api.anthropic.com/v1/complete\" 
    headers = {
        \"x-api-key\": api_key,
        \"Accept\": \"text/event-stream\" 
    }
    data = {
        \"model\": \"claude-v1\",
        \"prompt\": prompt,
        \"stream\": True
    }

    with requests.post(url, headers=headers, json=data, stream=True) as response:
        for line in response.iter_lines():
            if line:
                decoded_line = line.decode('utf-8')
                if decoded_line.startswith(\'data: \\'):
                    chunk = decoded_line[6:]
                    if chunk == \"[DONE]\":
                        break
                    print(chunk)  # Process data chunks here sequentially

# Example
api_key = \"YOUR_API_KEY\"
prompt = \"Hello, Claude!\"
stream_claude_response(api_key, prompt)

Note: The actual response size and whether there are line breaks depend on the API version, so be sure to check the docs.

Tool Use (Function Calling) — Design and Usage

With the Claude API, you can perform dynamic processing and information retrieval during chat by using the Tool Use feature to call external tools or functions. For example, integrating search APIs or calculation tools and designing to extract function parameters from natural language and invoke them is common.

Basic Design to Leverage Tool Use

  • Function schema definition: clearly define the name, parameters, and description of the function to be invoked.
  • Call instructions within the prompt: for a user's question, determine whether to call the relevant function and generate a call if needed.

Sign up to read the full article

Create a free account to access the full content of our original articles.