Skip to main content
For the complete documentation index for agents and LLMs, see llms.txt.

AnthropicChatGenerator

Generate chat responses using Anthropic's Claude language models.

Key Features

  • Supports all Claude models, including Claude Sonnet, Claude Opus, and Claude Haiku.
  • Accepts and returns messages in ChatMessage format.
  • Supports multimodal inputs, including text and images.
  • Supports streaming responses through a configurable callback.
  • Supports tool calling for agentic workflows.
  • Supports extended thinking for complex reasoning tasks.

Configuration

  1. Drag the AnthropicChatGenerator component onto the canvas from the Component Library.
  2. Click on the component to open the configuration panel.
  3. On the General tab:
    1. Set the model to the Claude model you want to use (for example, claude-opus-4-5). For a full list of models, see the Anthropic documentation.
    2. Create a secret with your Anthropic API key and set it as api_key. Use ANTHROPIC_API_KEY as the environment variable name. For instructions, see Create Secrets.
  4. Go to the Advanced tab to configure generation_kwargs such as max_tokens, temperature, top_p, and system.

Connections

AnthropicChatGenerator receives a list of ChatMessage objects as input, typically from PromptBuilder or ChatPromptBuilder. It outputs a list of reply ChatMessage objects you can connect to AnswerBuilder or other downstream components.

Source Code

To check this component's source code, open chat_generator.py in the Haystack Core Integrations repository.

Usage Examples

Basic Configuration

  AnthropicChatGenerator:
type: haystack_integrations.components.generators.anthropic.chat.chat_generator.AnthropicChatGenerator
init_parameters:
api_key:
type: env_var
env_vars:
- ANTHROPIC_API_KEY
strict: false
model: claude-opus-4-5
generation_kwargs:
max_tokens: 1024
temperature: 0.7

Using the Component in a Pipeline

# haystack-pipeline
components:
prompt_builder:
type: haystack.components.builders.chat_prompt_builder.ChatPromptBuilder
init_parameters:
required_variables: "*"
template:
- role: system
content: You are a helpful assistant. Answer questions based on the provided documents.
- role: user
content: |
Documents:
{% for doc in documents %}
{{ doc.content }}
{% endfor %}
Question: {{ question }}

llm:
type: haystack_integrations.components.generators.anthropic.chat.chat_generator.AnthropicChatGenerator
init_parameters:
api_key:
type: env_var
env_vars:
- ANTHROPIC_API_KEY
strict: false
model: claude-opus-4-5
generation_kwargs:
max_tokens: 1024

answer_builder:
type: deepset_cloud_custom_nodes.augmenters.deepset_answer_builder.DeepsetAnswerBuilder
init_parameters:
reference_pattern: acm

connections:
- sender: prompt_builder.prompt
receiver: llm.messages
- sender: llm.replies
receiver: answer_builder.replies

max_runs_per_component: 100

metadata: {}

inputs:
query:
- answer_builder.query
- prompt_builder.question
documents:
- prompt_builder.documents

outputs:
answers: answer_builder.answers

Parameters

Inputs

ParameterTypeDescription
messagesList[ChatMessage]A list of chat messages representing the conversation so far.

Outputs

ParameterTypeDescription
repliesList[ChatMessage]A list of generated reply messages from the model.

Init Parameters

These are the parameters you can configure in Pipeline Builder:

ParameterTypeDefaultDescription
api_keySecretSecret.from_env_var("ANTHROPIC_API_KEY")The Anthropic API key.
modelstrclaude-sonnet-4-5The name of the Claude model to use. For a full list, see the Anthropic documentation.
streaming_callbackOptional[Callable]NoneA callback function for streaming responses. When set, the model streams tokens as they're generated.
generation_kwargsOptional[Dict[str, Any]]NoneAdditional generation parameters passed to the Anthropic API, such as max_tokens, temperature, top_p, top_k, stop_sequences, and system.
ignore_tools_thinking_messagesboolTrueWhether to suppress thinking messages from tool use responses. Set to False to include them.
toolsOptional[List[Tool]]NoneA list of tools the model can use.
timeoutOptional[float]NoneRequest timeout in seconds.
max_retriesOptional[int]NoneMaximum number of retries on API errors.

Run Method Parameters

These are the parameters you can configure for the component's run() method. This means you can pass these parameters at query time through the API, in Playground, or when running a job. For details, see Modify Pipeline Parameters at Query Time.

ParameterTypeDefaultDescription
messagesList[ChatMessage]A list of chat messages representing the conversation.
streaming_callbackOptional[Callable]NoneA callback function to override the init-time streaming callback.
generation_kwargsOptional[Dict[str, Any]]NoneAdditional generation parameters to override init-time values.
toolsOptional[List[Tool]]NoneTools to make available to the model, overriding init-time tools.