外观
对话接口
向支持对话接口的模型发送消息并获取回复。模型支持的参数可能不同,建议从最小请求开始,再添加可选参数。
http
POST https://hyperapi.cc/v1/chat/completions最小请求
先按 快速开始 设置 HYPERAPI_API_KEY 和 HYPERAPI_MODEL 环境变量。以下示例用 Python 标准库生成 JSON,不需要安装第三方包。
bash
python3 -c 'import json, os; print(json.dumps({
"model": os.environ["HYPERAPI_MODEL"],
"messages": [{"role": "user", "content": "用一句话解释什么是 API。"}]
}))' | curl --fail-with-body 'https://hyperapi.cc/v1/chat/completions' \
-H "Authorization: Bearer $HYPERAPI_API_KEY" \
-H 'Content-Type: application/json' \
--data-binary @-常用参数
| 参数 | 类型 | 说明 |
|---|---|---|
model | string | 必填,使用当前令牌可访问且支持此接口的模型 ID |
messages | array | 必填,对话消息列表 |
messages[].role | string | 消息角色,最小示例使用 user |
messages[].content | string | 本文示例使用纯文本内容 |
stream | boolean | 设为 true 请求流式输出,默认非流式 |
温度、输出长度、工具调用、图片输入及其他扩展参数的支持情况取决于具体模型;不要假设所有模型接受相同参数。
非流式响应
以下为结构示意,字段值与用量仅供说明:
json
{
"id": "chatcmpl-example",
"object": "chat.completion",
"model": "MODEL_ID",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "API 是让不同程序交换数据和调用功能的接口。"
},
"finish_reason": "stop"
}
]
}普通文本回复一般读取 choices[0].message.content。工具调用等场景下 content 可能为空,需要处理对应字段;响应也可能包含 usage 等额外数据。
流式输出
添加 "stream": true,并在 cURL 中使用 --no-buffer 及时显示数据:
bash
python3 -c 'import json, os; print(json.dumps({
"model": os.environ["HYPERAPI_MODEL"],
"messages": [{"role": "user", "content": "写一段简短的问候。"}],
"stream": True
}))' | curl --no-buffer --fail-with-body 'https://hyperapi.cc/v1/chat/completions' \
-H "Authorization: Bearer $HYPERAPI_API_KEY" \
-H 'Content-Type: application/json' \
--data-binary @-响应通常采用 SSE 格式,以 data: 开头;文本片段通常位于 choices[0].delta.content,并以 data: [DONE] 结束。
应用应增量拼接数据、按 SSE 事件边界解析,而不是假设一次网络读取就是一条完整事件。部分事件仅包含角色、结束原因或用量,文本字段可能不存在。
超时与重试
为应用设置适合模型响应时间的超时。遇到限流或短暂服务异常时,可采用带随机延迟的指数退避,并限制重试次数;如果有 Retry-After 响应头,应参考它。
收到部分流式内容或请求超时后,原请求可能已在上游执行。自动重试可能产生额外费用,请结合应用需求决定是否重试。