🤖 AI 接口说明

兼容 OpenAI 与 Anthropic 格式的 AI API 服务

🌐 基础信息

服务地址: http://113.142.217.248:30888
模型列表: http://175.178.98.241/v1/models

📡 接口格式说明

本服务同时兼容 OpenAIAnthropic 两种 API 格式,请注意地址路径的区别:

格式 Base URL 对话接口路径
OpenAI http://175.178.98.241/v1 /chat/completions
Anthropic http://113.142.217.248:30888 /v1/messages

⚠️ 注意: OpenAI 格式需要在地址后加上 /v1 ,而 Anthropic 格式 不需要 加上 /v1

📋 可用模型列表

http://175.178.98.241/v1/models 接口实时获取:

正在获取模型列表...

💬 OpenAI 格式调用示例

cURL

curl http://175.178.98.241/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "gpt-4o",
    "messages": [
      {"role": "user", "content": "你好"}
    ],
    "stream": false
  }'

Python (openai 库)

from openai import OpenAI

client = OpenAI(
    base_url="http://175.178.98.241/v1",
    api_key="YOUR_API_KEY"
)

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

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

JavaScript (fetch)

const res = await fetch("http://175.178.98.241/v1/chat/completions", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_API_KEY"
  },
  body: JSON.stringify({
    model: "gpt-4o",
    messages: [{ role: "user", content: "你好" }]
  })
});
const data = await res.json();
console.log(data.choices[0].message.content);

📝 Anthropic 格式调用示例

cURL

curl http://175.178.98.241/v1/messages \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "claude-sonnet-4-20250514",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "你好"}
    ]
  }'

Python (anthropic 库)

from anthropic import Anthropic

client = Anthropic(
    base_url="http://113.142.217.248:30888",
    api_key="YOUR_API_KEY"
)

message = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "你好"}
    ]
)

print(message.content[0].text)