@@ -66,6 +66,64 @@ agent = Agent(model, model_settings=settings)
6666
6767## Bedrock
6868
69+ Although Bedrock Converse doesn't provide a unified API to enable thinking, you can still use [ ` BedrockModelSettings.bedrock_additional_model_requests_fields ` ] [ pydantic_ai.models.bedrock.BedrockModelSettings.bedrock_additional_model_requests_fields ] [ model setting] ( agents.md#model-run-settings ) to pass provider-specific configuration:
70+
71+ === "Claude"
72+
73+ ```python {title="bedrock_claude_thinking_part.py"}
74+ from pydantic_ai import Agent
75+ from pydantic_ai.models.bedrock import BedrockConverseModel, BedrockModelSettings
76+
77+ model = BedrockConverseModel('us.anthropic.claude-sonnet-4-5-20250929-v1:0')
78+ model_settings = BedrockModelSettings(
79+ bedrock_additional_model_requests_fields={
80+ 'thinking': {'type': 'enabled', 'budget_tokens': 1024}
81+ }
82+ )
83+ agent = Agent(model=model, model_settings=model_settings)
84+
85+ ```
86+ === "OpenAI"
87+
88+
89+ ```python {title="bedrock_openai_thinking_part.py"}
90+ from pydantic_ai import Agent
91+ from pydantic_ai.models.bedrock import BedrockConverseModel, BedrockModelSettings
92+
93+ model = BedrockConverseModel('openai.gpt-oss-120b-1:0')
94+ model_settings = BedrockModelSettings(
95+ bedrock_additional_model_requests_fields={'reasoning_effort': 'low'}
96+ )
97+ agent = Agent(model=model, model_settings=model_settings)
98+
99+ ```
100+ === "Qwen"
101+
102+
103+ ```python {title="bedrock_qwen_thinking_part.py"}
104+ from pydantic_ai import Agent
105+ from pydantic_ai.models.bedrock import BedrockConverseModel, BedrockModelSettings
106+
107+ model = BedrockConverseModel('qwen.qwen3-32b-v1:0')
108+ model_settings = BedrockModelSettings(
109+ bedrock_additional_model_requests_fields={'reasoning_config': 'high'}
110+ )
111+ agent = Agent(model=model, model_settings=model_settings)
112+
113+ ```
114+
115+ === "Deepseek"
116+ Reasoning is [ always enabled] ( https://docs.aws.amazon.com/bedrock/latest/userguide/inference-reasoning.html ) for Deepseek model
117+
118+ ```python {title="bedrock_deepseek_thinking_part.py"}
119+ from pydantic_ai import Agent
120+ from pydantic_ai.models.bedrock import BedrockConverseModel
121+
122+ model = BedrockConverseModel('us.deepseek.r1-v1:0')
123+ agent = Agent(model=model)
124+
125+ ```
126+
69127## Groq
70128
71129Groq supports different formats to receive thinking parts:
0 commit comments