要让调用方首次就能准确发起DeepSeek API请求,必须显性化身份验证、请求结构、参数边界和响应解析四环节。第一步确认端点为https://api.deepseek.com/v1/chat/completions,仅支持Bearer Token认证,Token须置于Authorization Header中且带Bearer前缀;最小请求体需含model="deepseek-chat"、messages含role="user"的字典;temperature限0.0~2.0浮点数,max_tokens上限4096,content单字段≤4096字符;响应中有效文本位于choices[0].message.content路径。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要让调用方第一次看提示词就能准确发起DeepSeek API请求,必须把身份验证、请求结构、参数边界和响应解析四个环节全部显性化,不能依赖开发者查文档补全逻辑。
第一步:确认API端点与认证方式
访问 【https://api.deepseek.com/v1/chat/completions】,这是当前唯一可用的对话模型接口地址,其他路径会返回404;使用Bearer Token认证,不是API Key字段,也不是Basic Auth,Token必须放在HTTP Header的Authorization字段里,格式为Bearer your_api_key_here。
这一步漏掉Bearer前缀会导致401错误,且错误信息不提示具体原因,只能靠重试排查。
构造最小可用请求体
方法一:用curl直接测试(适合快速验证)
复制粘贴以下命令,把your_api_key_here替换成你从官网获取的真实密钥:
curl -X POST https://api.deepseek.com/v1/chat/completions \
-H "Authorization: Bearer your_api_key_here" \
-H "Content-Type: application/json" \
-d '{"model":"deepseek-chat","messages":[{"role":"user","content":"你好"}]}'
方法二:Python requests调用(适合集成进项目)
注意headers里Content-Type必须显式声明为application/json,否则服务端会拒收;messages数组至少包含一个role为user的对象,空数组或role写成"User"(首字母大写)都会触发400错误。
关键参数取值范围与避坑点
① model字段只接受"deepseek-chat"这个固定字符串,传"deepseek-v3"或"deepseek"会返回404;
② temperature必须是0.0~2.0之间的浮点数,传整数3或字符串"1.0"都报错;
③ max_tokens最大支持4096,但若请求内容+历史消息总token数超过模型上限(如8192),接口不会截断,而是直接返回400并提示"context_length_exceeded";
④ messages中每个content字段长度不能超过4096字符,超长内容需前端自行切分,后端不作截断处理。
解析返回结果的必读规则
成功响应的data结构固定为JSON,最外层有id、object、created、model、choices五个字段;
真正要取的文本内容在choices[0].message.content路径下,不是response.text,也不是data.content;
如果返回status_code=200但content为空字符串,大概率是prompt里含不可见控制字符(如\u200b零宽空格),建议用Python的repr()打印原始响应排查。



















