详情

首页手游攻略 DeepSeek_API调用如何用curl测试?

DeepSeek_API调用如何用curl测试?

佚名 2026-08-06 10:40:59

最直接验证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会连接拒绝。

测试基础API连通性

执行GET请求获取模型列表:

curl -X GET http://localhost:8000/v1/models

这一步只验证服务进程和路由是否正常。返回JSON且含"id": "DeepSeek-R1-Distill-Qwen-1.5B"即表示后端已就绪。如果返回curl: (7) Failed to connect,说明服务未启动或端口被占用。

调用文本生成接口(POST)

方法一:单行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”,此时改用方法一或二。

远程API调用(需认证)

第一步:设置环境变量存储密钥

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不会明确提示原因。

相关资讯
点击查看更多
游戏推荐
推荐专题
热门阅读
推荐下载