调用火山引擎大模型需完成凭证配置、http客户端初始化、签名构造与请求封装四步:先在iam创建密钥并安全保管;再根据模型获取对应服务地址与api key;接着安装axios及@volcengine/openapi(deepseek r1需签名,doubao-seed-code免签);最后按规范构造请求。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在Node.js项目中调用火山引擎托管的大模型(如DeepSeek R1、Doubao-Seed-Code等),需完成凭证配置、HTTP客户端初始化、签名构造与请求封装四步闭环,缺一不可。
准备火山引擎访问密钥与服务信息
登录火山引擎控制台 → 进入「访问控制 IAM」→「密钥管理」→ 创建新密钥,下载保存含 Access Key ID 与 Secret Access Key 的 TXT 文件;该密钥将用于后续所有 API 请求的身份认证,【切勿提交至 Git 或公开代码仓库】。
根据所用模型,获取对应服务接入点:DeepSeek R1 在「AI 与大模型」→「DeepSeek R1 推理接入点」中查看;Doubao-Seed-Code 则在「方舟模型平台」→「模型广场」中找到模型卡片,点击「接入」获取 Base URL 和 API Key(注意:此 API Key 与 IAM 密钥不同,专用于方舟模型调用)。
安装必要依赖并初始化 HTTP 客户端
进入项目根目录,执行:
npm install axios @volcengine/openapi
其中 @volcengine/openapi 是官方签名 SDK,用于生成符合火山引擎规范的 Authorization 头;axios 负责发起 HTTPS 请求。若使用方舟模型(如 Doubao-Seed-Code),则无需签名 SDK,仅需 axios 即可,因其兼容 OpenAI 标准接口协议。
调用 DeepSeek R1(需签名)
方法一:使用 @volcengine/openapi 构造带签名的请求
① 创建 signRequest.js,填入从控制台获取的 accessKeyId 和 secretKey;
② 设置请求参数:region: "cn-north-1",service: "ark"(DeepSeek R1 归属方舟服务域),method: "POST",path: "/v3/chat/completions";
③ 使用 Signer 实例对请求头与 body 签名,再通过 axios 发起 POST 请求;未签名的请求会返回 401 错误,且错误提示不明确,容易误判为密钥失效。
调用 Doubao-Seed-Code(免签名,OpenAI 兼容)
方法1:直接配置环境变量后使用 axios
在终端设置:
ANTHROPIC_BASE_URL=https://ark.cn-beijing.volces.com/api/coding
ANTHROPIC_AUTH_TOKEN=your_ark_api_key
然后在 Node.js 中构造标准 OpenAI 格式请求体,POST 到 ${ANTHROPIC_BASE_URL}/chat/completions;注意此处必须用 /chat/completions 而非 /v3/chat/completions,否则返回 404。
方法2:写死配置调用
const axios = require('axios');
const response = await axios.post('https://ark.cn-beijing.volces.com/api/coding/chat/completions', { model: 'doubao-seed-code-preview-latest', messages: [{ role: 'user', content: '你好' }] }, { headers: { 'Authorization': 'Bearer your_ark_api_key', 'Content-Type': 'application/json' } });











