Technical reference / System & configuration
Provider adapters
Which settings each adapter sends, which combinations it validates and what the trace records.
This page documents what the checked-in adapters send and record. It describes implementation behavior, not a live provider product catalogue. Confirm API account/model compatibility when choosing new models.
| Method or property | Responsibility |
|---|---|
name / api_key_env_varReviewed E 0.1.5 |
Configuration selector and environment fallback for credentials. |
check(config)Reviewed E 0.1.5 |
Early validation of known incompatible settings. The base implementation imposes no extra checks. |
create(config)Reviewed E 0.1.5 |
Build a LangChain chat model with provider-specific options. Streaming is disabled. |
describe(config)Reviewed E 0.1.5 |
Return effective settings for the trace, without secrets. Shared code adds provider/model, optional name and explicit max_tokens. |
structured_output_methodReviewed E 0.1.5 |
json_schema by default; json_mode for DeepSeek. |
rate / costReviewed E 0.1.5 |
Apply price tiers and provider cache/time rules to recorded call usage. |
OpenAI-compatible adapters construct ChatOpenAI, passing max_tokens as max_completion_tokens. Non-OpenAI endpoints refuse construction without their own key, preventing unintended fallback to an OpenAI credential.
| Adapter setting | Checked-in behavior |
|---|---|
| OpenAI reasoningReviewed E 0.1.5 | reasoning_effort defaults to high and is sent to the client. Temperature is not sent by this adapter. |
| xAI reasoningReviewed E 0.1.5 | Inherits the same settings behavior, at https://api.x.ai/v1, with XAI_API_KEY. |
| Thinking budgetReviewed E 0.1.5 | These adapters do not translate thinking_budget into an API parameter. |
| Cached input pricingReviewed E 0.1.5 | OpenAI fallback factor is 0.1 of ordinary input when no explicit cached-input rate exists; xAI has no uniform fallback discount. These are software pricing assumptions. |
The adapter chooses a thinking mode by parsing the model name. For opus/sonnet/haiku names, version 4.6 or later selects adaptive thinking; other parsed family names select adaptive as well. This is a name heuristic in the implementation, not capability discovery from the API.
| Mode or setting | Checked-in behavior |
|---|---|
| Adaptive thinkingReviewed E 0.1.5 | Sends thinking: {type: adaptive} and reasoning_effort, default high. Omits temperature. |
Adaptive thinking_budgetReviewed E 0.1.5 |
Ignored with a console notice; use effort for this mode. A budget of zero does not disable adaptive thinking here. |
| Extended thinkingReviewed E 0.1.5 | Earlier models default to a 15,000-token thinking budget. Sends thinking: {type: enabled, budget_tokens: …}. |
| Extended temperatureReviewed E 0.1.5 | Not sent while thinking is enabled. An explicit temperature other than 1 is rejected in early validation. |
Extended thinking_budget: 0Reviewed E 0.1.5 |
Disables thinking; temperature is then sent, default 0.7. |
| Output limitReviewed E 0.1.5 | Default 32,000. Extended-thinking calls use at least budget + 4,000, even if the requested limit is lower. The trace's explicit max-token field may therefore be lower than the effective adjusted limit. |
| Cache price fallbackReviewed E 0.1.5 | Reads at 0.1× input, writes at 1.25× input unless explicit rates override them. |
| Setting | Checked-in behavior |
|---|---|
| ClientReviewed E 0.1.5 | ChatGoogleGenerativeAI, using GOOGLE_API_KEY. |
| TemperatureReviewed E 0.1.5 | Default 0.7. |
| ThinkingReviewed E 0.1.5 | Passes thinking_budget; without it the description says “model default”. |
| Output capReviewed E 0.1.5 | max_tokens maps to max_output_tokens. |
| System messageReviewed E 0.1.5 | Client is configured to convert system messages to human messages. |
| Setting | Checked-in behavior |
|---|---|
| Endpoint / keyReviewed E 0.1.5 | International endpoint https://dashscope-intl.aliyuncs.com/compatible-mode/v1, DASHSCOPE_API_KEY. A China-region key requires a different adapter endpoint; there is no generic base_url JSON override in this implementation. |
| Thinking budgetReviewed E 0.1.5 | When supplied, sends enable_thinking: budget > 0 in extra_body; positive values also send thinking_budget. Actual model support varies. |
| Effort / temperatureReviewed E 0.1.5 | Forwarded only as configured. Avoid assuming all hosted model families support the same options. |
| Default descriptionReviewed E 0.1.5 | If neither budget nor effort is configured, records “thinking on”. This is the adapter's expected default, not a measured token budget. |
| Setting | Checked-in behavior |
|---|---|
| Endpoint / keyReviewed E 0.1.5 | https://api.deepseek.com, DEEPSEEK_API_KEY. |
| Structured outputReviewed E 0.1.5 | JSON mode with the schema included in the prompt; local validation checks the returned shape afterwards. |
| Thinking disabledReviewed E 0.1.5 | thinking_budget: 0 sends thinking: {type: disabled} in extra_body. A positive budget is not forwarded as a token cap. |
| Effort / temperatureReviewed E 0.1.5 | Forwarded as configured. Leaving them unspecified leaves provider defaults. |
| Default descriptionReviewed E 0.1.5 | “Thinking on” if neither budget nor effort is specified. |
| Time-dependent pricingReviewed E 0.1.5 | Uses the call's UTC start and checked-in peak windows/off-peak factors; see pricing methods. |
Reports turn saved descriptions into labels such as “adaptive thinking, effort high”, “budget 16.0k tokens”, “reasoning effort high”, temperature and output limit. They do not inspect the model's hidden reasoning. A missing reasoning-token field, an omitted setting and an explicitly disabled setting are different states.
Source files used for this reference
Reviewed at 7361ea0b71a5.