3.4 KiB
3.4 KiB
chat-api-demo
调用 AI 的 demo(Node.js)。
1. 安装依赖
npm install --registry=https://registry.npmjs.org
2. 配置环境变量
cp .env.example .env
在 .env 中填入你的 QWEN_API_KEY(DashScope API Key)。
如需调用 DeepSeek,再填入 DEEPSEEK_API_KEY。
如需调用火山引擎,再填入 VOLCENGINE_API_KEY 与 VOLCENGINE_MODEL(方舟 Endpoint ID)。
3. 启动服务
npm run dev
默认端口:3000
4. 调用千问接口 demo
普通接口地址
POST /api/qwen/chat
普通请求示例
curl -X POST http://localhost:3000/api/qwen/chat \
-H "Content-Type: application/json" \
-d '{
"messages": [
{"role":"system","content":"你是一个简洁的助手"},
{"role":"user","content":"你好,请介绍一下你自己"}
]
}'
普通返回示例
{
"id": "xxx",
"model": "qwen-plus",
"content": "你好,我是一个 AI 助手...",
"raw": {}
}
5. 流式输出(SSE)demo
流式接口地址
POST /api/qwen/chat/stream
流式请求示例
curl -N -X POST http://localhost:3000/api/qwen/chat/stream \
-H "Content-Type: application/json" \
-d '{
"messages": [
{"role":"system","content":"你是一个简洁的助手"},
{"role":"user","content":"请用三句话介绍流式输出"}
]
}'
返回格式(事件流)
每个增量片段:
data: {"delta":"..."}
结束标记:
data: [DONE]
6. 调用 DeepSeek 接口 demo
DeepSeek 普通接口地址
POST /api/deepseek/chat
DeepSeek 普通请求示例
curl -X POST http://localhost:3000/api/deepseek/chat \
-H "Content-Type: application/json" \
-d '{
"messages": [
{"role":"system","content":"你是一个简洁的助手"},
{"role":"user","content":"你好,请介绍一下 DeepSeek"}
]
}'
DeepSeek 流式接口地址
POST /api/deepseek/chat/stream
DeepSeek 流式请求示例
curl -N -X POST http://localhost:3000/api/deepseek/chat/stream \
-H "Content-Type: application/json" \
-d '{
"messages": [
{"role":"system","content":"你是一个简洁的助手"},
{"role":"user","content":"请用三句话介绍你自己"}
]
}'
7. 目录结构
每个平台接口都独立在自己的目录中,index.js 只负责挂载路由:
.
├── index.js
└── platforms
├── deepseek
│ └── router.js
├── qwen
│ └── router.js
└── volcengine
└── router.js
8. 调用火山引擎 Chat 接口 demo
火山普通接口地址
POST /api/volcengine/chat
火山普通请求示例
curl -X POST http://localhost:3000/api/volcengine/chat \
-H "Content-Type: application/json" \
-d '{
"messages": [
{"role":"system","content":"你是一个简洁的助手"},
{"role":"user","content":"你好,请介绍一下你自己"}
]
}'
火山流式接口地址
POST /api/volcengine/chat/stream
火山流式请求示例
curl -N -X POST http://localhost:3000/api/volcengine/chat/stream \
-H "Content-Type: application/json" \
-d '{
"messages": [
{"role":"system","content":"你是一个简洁的助手"},
{"role":"user","content":"请用三句话介绍流式输出"}
]
}'