ModelServer API

ModelServer API

OpenAI 兼容的 AI 模型代理服务,支持 GPT、Claude、Gemini 等主流模型

服务运行中 v1.1.0 OpenAI 兼容

简介

ModelServer API 提供统一的接口访问多种 AI 模型,完全兼容 OpenAI API 格式。您可以直接使用 OpenAI SDK 或任何兼容的客户端库。

Base URL

https://modelserver.dev/v1

主要特性

多模型支持
GPT、Claude、Gemini、DeepSeek 等
流式响应
支持 SSE 实时流式输出
工具调用
完整支持 Function Calling
图片输入
支持多模态 Vision 功能

快速开始

curl https://modelserver.dev/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://modelserver.dev/v1"
)

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Hello!"}]
)

print(response.choices[0].message.content)
import OpenAI from 'openai';

const client = new OpenAI({
    apiKey: 'YOUR_API_KEY',
    baseURL: 'https://modelserver.dev/v1'
});

const response = await client.chat.completions.create({
    model: 'gpt-4o',
    messages: [{ role: 'user', content: 'Hello!' }]
});

console.log(response.choices[0].message.content);

认证

所有 API 请求都需要在 HTTP 头中包含 API Key:

Authorization: Bearer YOUR_API_KEY
⚠️
安全提示

请勿在客户端代码中暴露您的 API Key。建议通过后端服务器转发请求。

模型列表

GET /v1/models

OpenAI 模型

GPT-5.2
最新旗舰模型
NEW
GPT-4o
多模态模型
GPT-4o-mini
轻量快速
o1 / o3-mini
推理模型

Claude 模型

Claude Sonnet 4
最新 Claude 模型
NEW
Claude 3.5 Sonnet
高性价比
Claude 3 Opus
最强能力

其他模型

Gemini Pro
Google 模型
DeepSeek R1
推理模型
Llama 3.1
开源模型

聊天补全

POST /v1/chat/completions

请求参数

参数 类型 必需 说明
model string 模型名称,如 "gpt-4o"
messages array 消息数组
temperature number 采样温度 (0-2),默认 0.7
max_tokens integer 最大生成 token 数
stream boolean 是否启用流式响应
top_p number 核采样参数
tools array 工具/函数定义
tool_choice string/object 工具选择策略

响应格式

{
  "id": "chatcmpl-xxx",
  "object": "chat.completion",
  "created": 1234567890,
  "model": "gpt-4o",
  "choices": [{
    "index": 0,
    "message": {
      "role": "assistant",
      "content": "Hello! How can I help you?"
    },
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 10,
    "completion_tokens": 8,
    "total_tokens": 18
  }
}

流式响应

设置 stream: true 启用 Server-Sent Events (SSE) 流式响应。

流式响应格式

// 第一个 chunk - 角色信息
data: {"id":"xxx","choices":[{"delta":{"role":"assistant"}}]}

// 内容 chunks
data: {"id":"xxx","choices":[{"delta":{"content":"Hello"}}]}
data: {"id":"xxx","choices":[{"delta":{"content":" World"}}]}

// 结束
data: {"id":"xxx","choices":[{"delta":{},"finish_reason":"stop"}]}
data: [DONE]

Python 流式处理

stream = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Hello!"}],
    stream=True
)

for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

工具调用

支持 OpenAI 风格的 Function Calling,让模型可以调用外部工具。

定义工具

{
  "model": "gpt-4o",
  "messages": [{"role": "user", "content": "北京天气怎么样?"}],
  "tools": [{
    "type": "function",
    "function": {
      "name": "get_weather",
      "description": "获取城市天气信息",
      "parameters": {
        "type": "object",
        "properties": {
          "city": {"type": "string", "description": "城市名"}
        },
        "required": ["city"]
      }
    }
  }],
  "tool_choice": "auto"
}

工具调用响应

{
  "choices": [{
    "message": {
      "role": "assistant",
      "content": null,
      "tool_calls": [{
        "id": "call_xxx",
        "type": "function",
        "function": {
          "name": "get_weather",
          "arguments": "{\"city\":\"北京\"}"
        }
      }]
    },
    "finish_reason": "tool_calls"
  }]
}

图片输入 (Vision)

支持发送图片给模型进行分析,使用多模态消息格式。

{
  "model": "gpt-4o",
  "messages": [{
    "role": "user",
    "content": [
      {"type": "text", "text": "这张图片里有什么?"},
      {
        "type": "image_url",
        "image_url": {
          "url": "data:image/jpeg;base64,/9j/4AAQ..."
        }
      }
    ]
  }]
}
💡
提示

图片可以通过 Base64 编码或 URL 提供。支持 JPEG、PNG、WebP、GIF 格式。

错误处理

错误响应格式

{
  "error": {
    "message": "Invalid API key",
    "type": "authentication_error",
    "param": null,
    "code": "authentication_error"
  }
}

错误类型

HTTP 状态码 错误类型 说明
400 invalid_request_error 请求参数无效
401 authentication_error API Key 无效或缺失
429 rate_limit_error 请求过于频繁
500 server_error 服务器内部错误

代码示例

完整对话示例

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://modelserver.dev/v1"
)

# 多轮对话
messages = [
    {"role": "system", "content": "你是一个有帮助的助手。"},
    {"role": "user", "content": "你好!"}
]

response = client.chat.completions.create(
    model="gpt-4o",
    messages=messages,
    temperature=0.7,
    max_tokens=1000
)

# 添加助手回复到对话历史
messages.append({
    "role": "assistant",
    "content": response.choices[0].message.content
})

# 继续对话
messages.append({"role": "user", "content": "请介绍一下你自己"})

response = client.chat.completions.create(
    model="gpt-4o",
    messages=messages
)

print(response.choices[0].message.content)