ProviderReasoningStrategy
SUPPORT · type · 类型合同
How a reasoning level is translated into request fields.
requestBody entries override generated fields, so a host can correct a provider that expects a different shape.
导入
ts
import type { ProviderReasoningStrategy } from '@jangts/agent-core/support';js
/** @typedef {import('@jangts/agent-core/support').ProviderReasoningStrategy} ProviderReasoningStrategy */其他公开入口:@jangts/agent-core、@jangts/agent-core/types、@jangts/agent-core/structs、@jangts/agent-core/support、@jangts/agent-core/support/model。
定义
类型: ProviderReasoningStrategy
联合分支结构
ProviderReasoningStrategy的可选结构: 选择其中一种结构,各分支的字段要求分别列出。
分支 1
| 字段 | 类型 | 必需 | 说明 |
|---|---|---|---|
level | ProviderReasoningLevel | 必需 | 只读。见类型定义及调用场景。 |
format | "reasoning-effort" | "thinking" | "enable-thinking" | 必需 | 只读。见类型定义及调用场景。 |
map | undefined | 可省略 | 只读。见类型定义及调用场景。 |
budgets | undefined | 可省略 | 只读。见类型定义及调用场景。 |
分支 2
| 字段 | 类型 | 必需 | 说明 |
|---|---|---|---|
level | ProviderReasoningLevel | 必需 | 只读。见类型定义及调用场景。 |
format | "thinking-budget" | 必需 | 只读。见类型定义及调用场景。 |
budgets | Readonly<Partial<Record<"low" | "high" | "medium", number>>> | undefined | 可省略 | 只读。见类型定义及调用场景。 |
map | undefined | 可省略 | 只读。见类型定义及调用场景。 |
分支 3
| 字段 | 类型 | 必需 | 说明 |
|---|---|---|---|
level | ProviderReasoningLevel | 必需 | 只读。见类型定义及调用场景。 |
format | "custom" | 必需 | 只读。见类型定义及调用场景。 |
map | (level: ProviderReasoningLevel) => Readonly<Record<string, unknown>> | 必需 | 见类型定义及调用场景。 |
budgets | undefined | 可省略 | 只读。见类型定义及调用场景。 |
使用示例
- 推理策略:显式 wire 格式与自然档位:Support 按显式选择的协议格式生成推理参数,保留精确覆盖与自定义映射。
按明确 wire 格式生成思考预算
配置 · Node.js
这里只装配,不发送网络请求。调用时输出 token 限额必须大于思考预算。
ts
import { Support } from '@jangts/agent-core';
const provider = new Support.CompatibleModelProvider({ config: {
baseUrl: 'https://provider.example', apiKey: 'placeholder', model: 'configured-model',
reasoning: { format: 'thinking-budget', level: 'high', budgets: { high: 6000 } },
} });
console.log(provider instanceof Support.CompatibleModelProvider);js
import { Support } from '@jangts/agent-core';
const provider = new Support.CompatibleModelProvider({ config: {
baseUrl: 'https://provider.example', apiKey: 'placeholder', model: 'configured-model',
reasoning: { format: 'thinking-budget', level: 'high', budgets: { high: 6000 } },
} });
console.log(provider instanceof Support.CompatibleModelProvider);自定义供应商映射并保留原字段的精确覆盖
扩展 · Node.js
ts
import { Support } from '@jangts/agent-core';
const provider = new Support.CompatibleModelProvider({ config: {
baseUrl: 'https://provider.example', apiKey: 'placeholder', model: 'configured-model',
reasoning: { format: 'custom', level: 'medium', map(level) { return { analysis_mode: level }; } },
requestBody: { analysis_mode: 'app-defined' },
} });
console.log(provider instanceof Support.CompatibleModelProvider);js
import { Support } from '@jangts/agent-core';
const provider = new Support.CompatibleModelProvider({ config: {
baseUrl: 'https://provider.example', apiKey: 'placeholder', model: 'configured-model',
reasoning: { format: 'custom', level: 'medium', map(level) { return { analysis_mode: level }; } },
requestBody: { analysis_mode: 'app-defined' },
} });
console.log(provider instanceof Support.CompatibleModelProvider);