请求参数说明
本文说明如何通过 开放 API 调用捷智算文本对话模型:在请求头携带 API 密钥(sk-),向 https://mass.gogpu.cn 发起 HTTP 请求。请求体格式对齐 OpenAI Chat Completions 与 Anthropic Messages,便于用现有 SDK 接入。
::: info 调用地址
| 接口 | 地址 |
|---|---|
| 查看模型列表 | GET https://mass.gogpu.cn/v1/models(须携带 API 密钥) |
| OpenAI 方式 | POST https://mass.gogpu.cn/v1/chat/completions |
| Anthropic 方式 | POST https://mass.gogpu.cn/anthropic/v1/messages |
鉴权:上述接口均须在请求头携带 API 密钥(X-API-Key 或 Authorization: Bearer sk-...)。 :::
模型类型
当前 仅支持文本对话类模型。请求体中的 model 须与控制台 接口模型名称 一致。图片、视频等类型暂未开放。
通用说明
| 项目 | 说明 |
|---|---|
| 请求格式 | Content-Type: application/json |
| 鉴权 | 请求头 X-API-Key: sk-... 或 Authorization: Bearer sk-... |
| 模型名称 | 请求体 model = 控制台 接口模型名称(与 GET /v1/models 的 id 一致) |
| 参数透传 | 请求体中的标准字段会用于推理;具体模型是否支持某高级能力(工具调用、JSON 模式等)以实际为准 |
| 计费 | 以响应中的 Token 用量 为准计费;流式与非流式规则相同 |
| 失败响应 | 校验失败时可能返回 code: 7 与 msg 说明,见 API 调用指南 |
一、OpenAI 方式:POST /v1/chat/completions
完整地址:https://mass.gogpu.cn/v1/chat/completions
1.1 请求体参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 接口模型名称,如控制台所示 |
messages | array | 是 | 对话消息列表,见下文 messages 结构 |
stream | boolean | 否 | 是否流式返回,默认 false。为 true 时响应为 SSE |
temperature | number | 否 | 采样温度,通常 0~2。越大越发散,越小越稳定;建议与 top_p 二选一 调整 |
top_p | number | 否 | 核采样,通常 0~1。与 temperature 作用类似,一般不同时大幅调整两者 |
max_tokens | integer | 否 | 生成内容的最大 Token 数(部分模型更推荐 max_completion_tokens) |
max_completion_tokens | integer | 否 | 生成上限(含可见输出等,语义以 OpenAI 文档为准) |
presence_penalty | number | 否 | 存在惩罚,通常 -2~2,鼓励谈论新话题 |
frequency_penalty | number | 否 | 频率惩罚,通常 -2~2,降低重复用词 |
stop | string 或 array | 否 | 遇到这些字符串时停止生成 |
n | integer | 否 | 生成几条候选回复,默认 1。大于 1 时费用按多条累计 |
seed | integer | 否 | 随机种子(若模型支持,用于提高可复现性) |
response_format | object | 否 | 如 {"type":"json_object"},约束 JSON 输出(模型需支持) |
tools | array | 否 | 工具 / Function Calling 定义(模型需支持) |
tool_choice | string 或 object | 否 | 控制是否调用工具,如 "auto"、"none" 或指定函数 |
user | string | 否 | 终端用户标识,便于平台侧审计与滥用追踪 |
未在上表列出、但属于 OpenAI Chat Completions 标准体的字段,一般会 按您提交的 JSON 原样处理;若当前模型不支持,可能报错或忽略。
1.2 messages 结构(OpenAI 方式)
messages 为对象数组,每项包含:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
role | string | 是 | system:系统指令;user:用户;assistant:模型历史回复 |
content | string 或 array | 是 | 文本内容。简单场景用字符串即可 |
单轮对话示例
{
"model": "你的模型名称",
"messages": [
{"role": "system", "content": "你是简洁的中文助手。"},
{"role": "user", "content": "用三句话介绍云计算。"}
]
}
多轮对话示例
{
"model": "你的模型名称",
"messages": [
{"role": "user", "content": "我叫小明。"},
{"role": "assistant", "content": "你好小明,很高兴认识你。"},
{"role": "user", "content": "我刚才说我叫什么?"}
]
}
TIP
- 建议把 系统提示 放在
role: system的第一条(若有)。 - 历史轮次按时间顺序排列;最后一条通常为
user。 - 文本对话场景下,
content使用 字符串 即可,无需复杂多模态结构。
1.3 流式请求
请求体增加 "stream": true。响应为 Server-Sent Events,数据行形如 data: {...},结束为 data: [DONE]。
流式与非流式 计费规则相同,均按最终 Token 用量计费。
1.4 响应体(非流式)主要字段
| 字段 | 说明 |
|---|---|
id | 本次请求标识 |
choices[].message.role | 一般为 assistant |
choices[].message.content | 模型回复正文 |
choices[].finish_reason | 结束原因,如 stop、length |
usage.prompt_tokens | 输入 Token |
usage.completion_tokens | 输出 Token |
usage.total_tokens | 合计 Token(计费参考) |
二、Anthropic 方式:POST /anthropic/v1/messages
完整地址:https://mass.gogpu.cn/anthropic/v1/messages
与 OpenAI 方式的差异
- 系统提示 使用顶层字段
system,不要放在messages里用system角色。 - 必须 提供
max_tokens。 - 仅适用于控制台标明支持 Anthropic 方式 的文本模型。
2.1 请求头
除 API 密钥外,建议携带:
| 请求头 | 说明 |
|---|---|
Content-Type | application/json |
anthropic-version | 如 2023-06-01(与 Anthropic 官方要求一致) |
2.2 请求体参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 接口模型名称 |
max_tokens | integer | 是 | 本次回复最多生成的 Token 数 |
messages | array | 是 | 对话消息,见下文 messages 结构 |
system | string 或 array | 否 | 系统提示(顶层字段,非 message 角色) |
stream | boolean | 否 | 是否流式返回;捷智算在标准 Anthropic 体上 额外支持 此字段 |
temperature | number | 否 | 随机性,通常 0~1(具体范围以模型为准) |
top_p | number | 否 | 核采样 |
top_k | integer | 否 | Top-K 采样(模型支持时) |
stop_sequences | array | 否 | 自定义停止字符串列表 |
metadata | object | 否 | 如 user_id 等元数据 |
tools | array | 否 | 工具定义(模型需支持 Tool Use) |
tool_choice | object | 否 | 工具调用策略 |
2.3 messages 结构(Anthropic 方式)
每条消息包含:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
role | string | 是 | user 或 assistant(对话轮次交替) |
content | string 或 array | 是 | 文本可用字符串简写 |
基础示例
{
"model": "你的模型名称",
"max_tokens": 1024,
"system": "你是简洁的中文助手。",
"messages": [
{"role": "user", "content": "用三句话介绍云计算。"}
]
}
多轮示例
{
"model": "你的模型名称",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "我叫小明。"},
{"role": "assistant", "content": "你好小明,很高兴认识你。"},
{"role": "user", "content": "我刚才说我叫什么?"}
]
}
2.4 流式请求
请求体设置 "stream": true,响应为 SSE 事件流(具体事件类型与 Anthropic 官方一致)。
2.5 响应体(非流式)主要字段
| 字段 | 说明 |
|---|---|
id | 消息 ID |
type | 一般为 message |
role | assistant |
content[] | 内容块数组,文本见 content[].text |
stop_reason | 如 end_turn、max_tokens |
usage.input_tokens | 输入 Token |
usage.output_tokens | 输出 Token |
三、参数调优建议(文本场景)
| 目标 | 建议 |
|---|---|
| 回答更稳定、可重复 | 降低 temperature(如 0.2~0.5),或固定 seed(模型支持时) |
| 回答更多样 | 适当提高 temperature |
| 控制长度与费用 | 设置 max_tokens / max_completion_tokens(OpenAI)或 max_tokens(Anthropic) |
| 减少重复啰嗦 | 可尝试 frequency_penalty、presence_penalty(OpenAI 方式) |
| 长对话 | 注意模型 上下文长度 上限;过长历史可能被截断或报错 |
四、常见错误与参数关系
| 错误现象 | 可能原因 |
|---|---|
| 模型不存在 | model 名称错误或模型已下架 |
| 对话不能为空 | messages 为空或最后一条无有效文本 |
| max_tokens 相关错误 | Anthropic 方式未传 max_tokens,或取值超过模型上限 |
| 不支持的工具/JSON 模式 | 该文本模型未开放 tools / response_format 等能力 |
更多排错见 常见问题。
五、参考链接
| 文档 | 链接 |
|---|---|
| OpenAI Chat Completions | https://platform.openai.com/docs/api-reference/chat/create |
| Anthropic Messages | https://docs.anthropic.com/en/api/messages |
| 本服务快速接入 | 快速开始 · API 调用指南 |
