Code=INVALID_REQUEST message=provider http 400: tool type 'web_search_20250305' ...
错误信息
2026-10-08 11:48:39.992 WARN [ai-writer-be-section-1] [traceId=tr-eb4e62677c6747c6ad2d69e2dd3dc444] [requestId=68e18e656cf849f0a0f29796ed3d46cb-provider-search] q.a.w.l.p.dmx.DmxModelProvider - provider_call_fail provider=dmx op=invoke model=claude-opus-5-5 attempt=1/3 retriable=false errorCode=INVALID_REQUEST message=provider http 400: tool type 'web_search_20250305' is not supported for this model (request id: 20261008034835964314512eLmR2ZYa) (request id: 20261008034807697388886c14228f5Rt3G1XK0)
2026-10-08 11:48:39.997 ERROR [ai-writer-be-section-1] [traceId=tr-eb4e62677c6747c6ad2d69e2dd3dc444] [requestId=68e18e656cf849f0a0f29796ed3d46cb-provider-search] q.a.w.l.c.c.DefaultModelServiceClient - model_invoke_failed requestId=68e18e656cf849f0a0f29796ed3d46cb-provider-search callerScene=business_engine_section_generate_provider_search provider=dmx providerModel=claude-opus-5-5 latencyMs=32936 errorCode=INVALID_REQUEST exceptionType=qds.ai.writer.llm.api.exception.ModelServiceException message=provider http 400: tool type 'web_search_20250305' is not supported for this model (request id: 20261008034835964314512eLmR2ZYa) (request id: 20261008034807697388886c14228f5Rt3G1XK0)
qds.ai.writer.llm.api.exception.ModelServiceException: provider http 400: tool type 'web_search_20250305' is not supported for this model (request id: 20261008034835964314512eLmR2ZYa) (request id: 20261008034807697388886c14228f5Rt3G1XK0)
at qds.ai.writer.llm.provider.dmx.DmxModelProvider.mapHttpError(DmxModelProvider.java:392)
at qds.ai.writer.llm.provider.dmx.DmxModelProvider.doInvoke(DmxModelProvider.java:214)
at qds.ai.writer.llm.provider.dmx.DmxModelProvider.invoke(DmxModelProvider.java:98)
at qds.ai.writer.llm.core.client.DefaultModelServiceClient.invoke(DefaultModelServiceClient.java:319)
at qds.ai.writer.businessengine.application.service.SectionGenerateAppService.enrichPromptWithProviderSearch(SectionGenerateAppService.java:3792)
at qds.ai.writer.businessengine.application.service.SectionGenerateAppService.doStream(SectionGenerateAppService.java:5216)
at qds.ai.writer.businessengine.application.service.SectionGenerateAppService.access$9600(SectionGenerateAppService.java:163)
at qds.ai.writer.businessengine.application.service.SectionGenerateAppService$2.run(SectionGenerateAppService.java:1270)
at qds.ai.writer.middleware.infrastructure.concurrent.ThreadPoolTaskGateway$1.run(ThreadPoolTaskGateway.java:84)
at com.alibaba.ttl.TtlRunnable.run(TtlRunnable.java:60)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
2026-10-08 11:48:40.012 INFO [ai-writer-be-section-1] [traceId=tr-eb4e62677c6747c6ad2d69e2dd3dc444] [requestId=68e18e656cf849f0a0f29796ed3d46cb-provider-search] q.a.w.l.c.m.LogModelMetricsService - metric model invoke success=false latencyMs=32936
2026-10-08 11:48:40.015 WARN [ai-writer-be-section-1] [traceId=68e18e656cf849f0a0f29796ed3d46cb] [requestId=68e18e656cf849f0a0f29796ed3d46cb] q.a.w.b.a.s.SectionGenerateAppService - [BUSINESS-ENGINE-PROVIDER-SEARCH][FAILED] callerScene=business_engine_section_generate, requestId=68e18e656cf849f0a0f29796ed3d46cb, provider=dmx, model=claude-opus-5-5, error=模型请求参数无效,请检查后重试
AI 解决方案
原文:provider http 400: tool type 'web_search_20250305' is not supported for this model
译文:服务提供商返回HTTP 400状态码:工具类型'web_search_20250305'不适用于此模型
🎯 原因分析
核心原因:调用 claude-opus-5-5 模型时,传入了一个该模型不支持的工具类型 web_search_20250305。
具体位置:错误发生在 SectionGenerateAppService.enrichPromptWithProviderSearch 方法中,该方法试图通过 DmxModelProvider 调用 claude-opus-5-5 模型并附带搜索工具,但该模型不支持此工具。
💡 解决方案
根据具体需求,可选择以下方案之一:
#### 方案1:移除不支持的工具
确认 web_search_20250305 工具的使用场景,若非必需,直接移除:
// 修复后的代码:移除不支持的工具配置
List<Tool> tools = new ArrayList<>();
// tools.add(createWebSearchTool("web_search_20250305")); // 注释或删除此行
requestBuilder.withTools(tools); // 传入空或不包含该工具的列表
#### 方案2:更换支持该工具的模型
若功能需要搜索能力,更换为支持 web_search_20250305 的模型:
// 修复后的代码:更换模型
String modelName = "support-web-search-model"; // 替换为支持该工具的模型
requestBuilder.withModel(modelName);
🛡️ 预防措施
- 工具兼容性检查:调用模型前,维护模型与工具的兼容性映射表,在组装请求时进行前置校验
- 配置化管理:将模型与工具的匹配关系纳入配置文件,避免硬编码导致的错误