Skip to content
English

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
字段类型必需说明
levelProviderReasoningLevel必需只读。见类型定义及调用场景。
format"reasoning-effort" | "thinking" | "enable-thinking"必需只读。见类型定义及调用场景。
mapundefined可省略只读。见类型定义及调用场景。
budgetsundefined可省略只读。见类型定义及调用场景。
分支 2
字段类型必需说明
levelProviderReasoningLevel必需只读。见类型定义及调用场景。
format"thinking-budget"必需只读。见类型定义及调用场景。
budgetsReadonly<Partial<Record<"low" | "high" | "medium", number>>> | undefined可省略只读。见类型定义及调用场景。
mapundefined可省略只读。见类型定义及调用场景。
分支 3
字段类型必需说明
levelProviderReasoningLevel必需只读。见类型定义及调用场景。
format"custom"必需只读。见类型定义及调用场景。
map(level: ProviderReasoningLevel) => Readonly<Record<string, unknown>>必需见类型定义及调用场景。
budgetsundefined可省略只读。见类型定义及调用场景。

使用示例 ​

按明确 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);

相关策略源码 ​

相关定义 ​

接口参考、使用示例与开发指南。