DeepSeek strict模式要求模型严格按函数定义调用工具,仅DeepSeek-VL-2.5+的chat/completion接口支持,需验证model含“-strict”后缀;启用方式包括请求头、请求体或SDK设置strict=True(tools非空时生效);tools定义须满足name规范、parameters为非空required的JSON Schema、每个property含type和description、tools总数≤8。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

DeepSeek strict模式工具调用要求模型必须严格遵循函数定义格式发起调用,禁止自由生成非工具响应,适用于金融、医疗等对输出确定性要求极高的场景。
确认模型版本与接口支持
strict模式仅在DeepSeek-VL-2.5及以上版本的chat/completion接口中可用,旧版模型或/v1/text-generation路径不支持该模式。
调用前需验证当前API返回的model字段是否包含“-strict”后缀,例如deepseek-chat-2.5-strict;若返回deepseek-chat-2.5则说明未启用strict能力。
配置strict模式的三种方式
方法一:通过请求头显式声明
在HTTP请求头中添加X-DeepSeek-Strict: true,此方式优先级最高,会覆盖请求体中的设置。
方法二:在请求体中启用strict参数
在JSON payload中加入"strict": true字段,必须与"tools"数组同时存在,否则会被忽略。
统一LLM网关 - 一个API对接70+AI模型,使用单一API密钥即可调用GPT、Claude、Gemini、Qwen、Deepseek、Grok等主流模型。
方法三:使用官方SDK的strict选项
Python SDK中调用client.chat.completions.create(..., strict=True),Java SDK对应.setStrict(true);【strict参数必须在tools非空时才生效,tools为空时设为true将直接报错400】。
构造符合strict模式要求的tools定义
第一步:确保每个tool的name只含小写字母、数字和下划线,长度不超过64字符。
第二步:parameters必须为JSON Schema object类型,且required字段不能为空数组——strict模式下不允许存在可选参数。
第三步:为每个properties字段明确指定type和description,缺失description会导致工具注册失败并中断后续调用流程。
第四步:整个tools数组最多容纳8个工具,超出数量限制将触发too_many_tools错误码,且不会降级为非strict模式执行。


















