15岁进少年班,97后打造元点机器人宇宙:全栈技术自研领跑家庭机器人赛道
2026-08-06 3442693
2026-08-06 0
最直接验证DeepSeek API服务的方式是用curl发起最小化请求:先确认Uvicorn监听8000端口,再GET /v1/models验证服务就绪,POST /v1/completions测试生成能力,远程调用需设置DEEPSEEK_API_KEY并带Bearer认证。

要快速验证DeepSeek API服务是否就绪、网络通路是否畅通、认证是否生效,最直接的方式就是用curl命令发起一次最小化请求——不需要写代码、不依赖任何SDK,纯终端操作就能拿到响应结果。
进入模型部署目录:cd /root/workspace
查看服务日志,确认Uvicorn已监听8000端口:cat deepseek_qwen.log
若输出中包含 【INFO: Uvicorn running on http://0.0.0.0:8000】,说明服务已在本地运行;没有该行则需先启动服务,否则后续curl会连接拒绝。
执行GET请求获取模型列表:
curl -X GET http://localhost:8000/v1/models
这一步只验证服务进程和路由是否正常。返回JSON且含"id": "DeepSeek-R1-Distill-Qwen-1.5B"即表示后端已就绪。如果返回curl: (7) Failed to connect,说明服务未启动或端口被占用。
方法一:单行JSON参数直传(适合简单测试)
curl -X POST "http://localhost:8000/v1/completions" -H "Content-Type: application/json" -d '{"prompt":"你好","max_tokens":32,"temperature":0.6}'
方法二:用文件传参(避免命令行转义错误,推荐复杂提示时使用)
先创建请求体文件:echo '{"prompt":"请解释TCP三次握手","max_tokens":128,"temperature":0.6}' > req.json
再执行调用:curl -X POST "http://localhost:8000/v1/completions" -H "Content-Type: application/json" -d @req.json
【必须确保-d参数前的@符号紧贴文件名,中间不能有空格,否则curl会把文件名当字符串发送】
方法三:带响应格式化(配合jq查看关键字段)
curl -s -X POST "http://localhost:8000/v1/completions" -H "Content-Type: application/json" -d '{"prompt":"1+1=","temperature":0}' | jq -r '.choices[0].text'
这一步会自动提取生成文本并去除引号和换行,适合脚本集成。若系统未安装jq,会报错“command not found”,此时改用方法一或二。
第一步:设置环境变量存储密钥
export DEEPSEEK_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
第二步:构造带Bearer认证的请求
curl -X GET "https://api.deepseek.com/v1/models" -H "Authorization: Bearer $DEEPSEEK_API_KEY"
第三步:发起带内容的生成请求
curl -X POST "https://api.deepseek.com/v1/chat/completions"
-H "Authorization: Bearer $DEEPSEEK_API_KEY"
-H "Content-Type: application/json"
-d '{ "model": "deepseek-chat", "messages": [{ "role": "user", "content": "你好" }], "temperature": 0.6 }'
注意:远程地址必须用https协议,且Authorization头中的Bearer与密钥之间有一个空格——漏掉这个空格会导致401错误,且curl不会明确提示原因。