query() 提供两种模型选择模式:
- 固定模型(默认):整个会话用一个模型。
- 动态选择:每次 LLM 请求前调用回调函数返回模型。可以按用途(主对话、子代理、上下文压缩等)路由不同模型,或返回 BYOK 凭证用自己的 API Key。
固定模型
通过模型选项指定,省略时使用账号默认:
动态选择
提供一个回调函数,每次 LLM 请求前都会被调用:
按用途路由
不同用途用不同模型:
返回模型参数
回调可以在选定模型的同时返回 parameters,为本次 LLM 请求覆盖上下文窗口和思考深度。这里是 SDK 控制层字段,参数名使用 camelCase:
availableModels 暴露在 ModelInfo.context_config 和 ModelInfo.thinking_config 中。
超时
回调有默认超时(毫秒级),回调内做远程调用时可以放宽:
BYOK:使用自己的 API Key
回调返回的也可以是 BYOK 凭证对象——本次请求会路由到第三方 provider。
使用该功能前,请确保账号有 BYOK 的权限。