需先获取access key id和secret access key,添加okhttp依赖,按v4签名规范生成authorization、x-tt-date、x-tt-nonce头,再以application/json发送chat/completions请求,注意地域域名匹配与响应解析。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在Java项目中调用火山引擎DeepSeek API,需先获取API密钥、构造符合签名规范的HTTP请求,并正确设置Authorization头与请求体格式,否则会返回401或400错误。
准备认证凭据与依赖
在火山引擎控制台开通DeepSeek服务,进入「API密钥管理」页面创建一对Access Key ID和Secret Access Key。注意:Secret Access Key仅在创建时显示一次,【务必立即复制保存,丢失无法找回】。
在pom.xml中添加OkHttp依赖(推荐v4.12.0+),避免使用已废弃的Apache HttpClient:
生成V4签名Header
火山引擎要求所有请求必须携带X-Tt-Date、X-Tt-Nonce、Authorization三类签名头,其中Authorization是核心。签名算法为HMAC-SHA256,需按顺序拼接:
① 构造规范请求字符串:HTTP方法 + \n + URI路径 + \n + 查询参数(按key字典序排序并urlencode) + \n + 请求头(host + \n + x-tt-date + \n + x-tt-nonce + \n) + \n + 签名头列表(host;x-tt-date;x-tt-nonce) + \n + Hex(Sha256(请求体))
② 用Secret Access Key派生Signing Key:HMAC-SHA256(HMAC-SHA256(HMAC-SHA256("TC3" + SecretKey, Date), ServiceName), "tc3_request")
③ 用Signing Key对规范请求字符串签名,得到Signature,最终组合成Authorization头:
TC3-HMAC-SHA256 Credential=AKID/Date/ServiceName/tc3_request, SignedHeaders=host;x-tt-date;x-tt-nonce, Signature=xxx
这一步不能手写拼接,必须严格按官方文档《签名算法V4》执行,任意空格、换行、编码差异都会导致签名失败。
发送模型推理请求
方法一:使用OkHttpClient同步调用
构建RequestBody,Content-Type必须设为application/json,body内容为JSON对象,包含model(如deepseek-chat)、messages(数组,每项含role和content)、temperature等字段;
设置URL为https://ark.cn-beijing.volcengineapi.com/api/v3/chat/completions,注意地域域名必须与密钥所属区域一致;
将上一步生成的Authorization、X-Tt-Date、X-Tt-Nonce三个Header全部加入RequestBuilder;
执行client.newCall(request).execute(),检查response.code()是否为200,再解析response.body().string()中的choices[0].message.content。
方法二:异步回调处理(适合高并发场景)
调用enqueue()替代execute(),在Callback.onResponse中解析结果,注意OkHttp默认不在主线程回调,Android需手动切回UI线程更新界面。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











