必须明确设置上下文长度,否则默认截断或报错;需先查模型硬上限(如DeepSeek-V4为1M tokens,R1-Distill-Qwen-7B为4096);API调用时通过max_tokens或分设max_prompt/completion_tokens控制;部署时需在vLLM或Ollama中正确配置参数并验证日志生效。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

想让DeepSeek API处理万字合同、百行代码或跨20轮的复杂对话,必须明确告诉它“这次能看多长的上下文”,否则默认截断或报错——这一步不设,后面所有提示词再精准也白搭。
确认当前模型支持的硬上限
先别急着调参数,打开你正在用的模型官方文档或Hugging Face页面,查config.json里的max_position_embeddings和rope_scaling字段。DeepSeek-V4是"yarn"类型+"factor": 256,硬上限1M tokens;DeepSeek-R1-Distill-Qwen-7B则是4096,强行设成32768会直接启动失败。
【必须核对模型名】 deepseek-v4 ≠ deepseek-coder-33b-instruct,后者即使改参数也撑不过16K,RoPE编码会溢出导致输出乱序。
API调用时动态设置上下文长度
方法一:HTTP请求中嵌入max_tokens(适用于所有兼容OpenAI格式的DeepSeek API端点)
在POST请求的JSON body里加这一行:"max_tokens": 8192。注意这不是“最多生成8192个token”,而是本次请求允许的总上下文长度(输入+输出之和),且不能超过模型硬上限。
方法二:Python SDK中显式传参(推荐用于批量脚本)
Qwen 视频智能分析基础客户端(免费版),基于 Qwen 3.5 Plus 多模态模型对本地视频进行内容分析,支持场景描述与基础内容理解,采用默认抽帧频率和提示词,适合快速概览视频,API Key 读取自 ~/.skill-platform/skill-platform.json 的 skills 配置。
调用client.chat.completions.create()时,在参数里写:max_completion_tokens=4096, max_prompt_tokens=4096。v3.1+版本已拆分输入/输出限制,比旧版max_tokens更精准——若只设max_tokens,系统会自动按1:1分配输入输出额度,容易卡在输出被砍半。
部署服务时固化上下文窗口
第一步:用vLLM部署DeepSeek-V4时,在启动命令末尾加参数:
--max-num-seqs 256 --block-size 512 --attention-config '{"sliding_window_size": 32768}'
第二步:若用Ollama本地跑R1-Distill模型,执行命令时指定--num_ctx 8192,这个值会覆盖模型内置的4096默认值,但绝不可超过GGUF文件头里记录的context_length(可用gguf-dump工具查看)。
第三步:检查服务日志是否出现[INFO] Context length: 8192 (max_input: 7680, max_output: 512)——只有看到这行,才证明设置真正生效。没出现就说明参数被忽略或模型不支持。


















