代理接口
平台提供 OpenAI 和 Anthropic 两种协议的代理接口。
OpenAI 协议
对话补全
兼容 OpenAI /v1/chat/completions 接口。
请求
POST /v1/chat/completions
Authorization: Bearer sk-xxxxxxxxxxxx
Content-Type: application/jsonjson
{
"model": "deepseek-chat",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
],
"temperature": 0.7,
"max_tokens": 1024,
"stream": false
}参数说明
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| model | string | 是 | - | 模型名称,需已订阅 |
| messages | array | 是 | - | 消息列表 |
| stream | boolean | 否 | false | 是否流式输出 |
| temperature | number | 否 | 1.0 | 采样温度 (0-2) |
| top_p | number | 否 | 1.0 | 核采样参数 |
| max_tokens | integer | 否 | 4096 | 最大生成 Token 数 |
| presence_penalty | number | 否 | 0 | 话题重复惩罚 |
| frequency_penalty | number | 否 | 0 | 频率重复惩罚 |
| stop | string/array | 否 | null | 停止序列 |
非流式响应
json
{
"id": "chatcmpl-xxx",
"object": "chat.completion",
"created": 1234567890,
"model": "deepseek-chat",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! How can I help you today?"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 10,
"completion_tokens": 20,
"total_tokens": 30
}
}流式响应 (SSE)
data: {"id":"chatcmpl-xxx","object":"chat.completion.chunk","choices":[{"delta":{"role":"assistant"},"index":0}]}
data: {"id":"chatcmpl-xxx","object":"chat.completion.chunk","choices":[{"delta":{"content":"Hello"},"index":0}]}
data: {"id":"chatcmpl-xxx","object":"chat.completion.chunk","choices":[{"delta":{"content":"!"},"index":0}]}
data: [DONE]向量嵌入
POST /v1/embeddings
Authorization: Bearer sk-xxxxxxxxxxxx
Content-Type: application/jsonjson
{
"model": "text-embedding-3-small",
"input": "The text to embed"
}响应
json
{
"object": "list",
"data": [
{
"object": "embedding",
"index": 0,
"embedding": [0.001, -0.002, ...]
}
],
"model": "text-embedding-3-small",
"usage": {
"prompt_tokens": 5,
"total_tokens": 5
}
}模型列表
GET /v1/models
Authorization: Bearer sk-xxxxxxxxxxxx响应
json
{
"object": "list",
"data": [
{
"id": "deepseek-chat",
"object": "model",
"created": 1234567890,
"owned_by": "system"
}
]
}Anthropic 协议
对话补全
兼容 Anthropic Messages API,端点 /v1/messages。
请求
POST /v1/messages
Authorization: Bearer sk-xxxxxxxxxxxx
Content-Type: application/jsonjson
{
"model": "claude-sonnet",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Hello!"}
],
"stream": false
}参数说明
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| model | string | 是 | - | 模型名称,需已订阅 |
| messages | array | 是 | - | 消息列表 |
| max_tokens | integer | 是 | - | 最大生成 Token 数 |
| stream | boolean | 否 | false | 是否流式输出 |
| system | string/array | 否 | null | 系统提示词(支持 string 或 text block 数组) |
| temperature | number | 否 | 1.0 | 采样温度 (0-2) |
| top_p | number | 否 | 1.0 | 核采样参数 |
| top_k | integer | 否 | - | Top-K 采样 |
| stop_sequences | array | 否 | null | 自定义停止序列 |
| tools | array | 否 | null | 工具/函数调用定义 |
| metadata | object | 否 | null | 用户标识等元信息 |
注意:
max_tokens在 Anthropic 协议中为必填参数,与 OpenAI 协议不同。
非流式响应
json
{
"id": "msg_xxx",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Hello! How can I help you today?"
}
],
"model": "claude-sonnet",
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 10,
"output_tokens": 20
}
}流式响应 (SSE)
Anthropic 流式响应使用多事件 SSE 格式,与 OpenAI 不同:
event: message_start
data: {"type":"message_start","message":{"id":"msg_xxx","type":"message","role":"assistant","content":[],"model":"claude-sonnet","stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":10,"output_tokens":0}}}
event: content_block_start
data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""}}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Hello"}}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"!"}}
event: content_block_stop
data: {"type":"content_block_stop","index":0}
event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"output_tokens":20}}
event: message_stop
data: {"type":"message_stop"}流式调用 curl 示例
bash
curl http://ok-link.com:10320/v1/messages \
-H "Authorization: Bearer sk-xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Hello!"}],
"stream": true
}'使用 System Prompt
Anthropic 支持 string 或 array 两种 system prompt 格式:
json
{
"model": "claude-sonnet",
"max_tokens": 1024,
"system": "You are a helpful assistant.",
"messages": [
{"role": "user", "content": "Explain AI in simple terms."}
]
}多模态内容(图片)
Anthropic 原生支持图片输入(如果模型支持):
json
{
"model": "claude-sonnet",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{"type": "text", "text": "What's in this image?"},
{"type": "image", "source": {"type": "base64", "media_type": "image/jpeg", "data": "base64data..."}}
]
}
]
}模型列表
获取当前账号已订阅的模型列表:
bash
GET /v1/models
Authorization: Bearer sk-xxxxxxxxxxxx无论使用哪种协议调用,均可通过此端点查询有权限的模型。
