模型API服务指南
模型API调用指南
语言模型 API文档
Claude (Anthropic) 兼容文档

Claude (Anthropic) 兼容说明

重要提示:我们提供兼容 Anthropic 标准的API服务,因此我们强烈推荐直接参考 Anthropic 官方 API 文档 (opens in a new tab) 获取最全面、最新的参数细节和示例。以下是简化的接口概述,聚焦核心字段和使用说明。

概述

UModelverse 平台提供了与 Anthropic Claude API 兼容的 Messages 接口,开发者可以使用 Anthropic SDK 或其他支持的工具直接调用 Modelverse 上的模型。

  • 请求方法:POST
  • 端点https://api.modelverse.cn/v1/messages
  • 认证:使用 API 密钥,通过 x-api-key: {api_key}Authorization: Bearer {api_key} 传递

注意/v1/messages 端点仅支持 Claude 系列模型。其他模型(如 GPT、Gemini、DeepSeek 等)请使用 OpenAI 兼容的 /v1/chat/completions 端点。虽然 Claude 和 OpenAI 都使用 /v1/models 来获取模型列表,但调用接口不同。

主要核心字段

请求字段(Request Parameters)

字段类型是否必需默认值含义与说明
modelstring模型 ID,如 claude-sonnet-4-5-20250929。指定生成响应的模型。
messagesarray对话消息列表。每个消息包含 role(user/assistant)和 content(文本/图像)。
max_tokensinteger最大生成 token 数。控制响应长度,防止过长输出。
systemstring/array系统提示词。定义模型的行为和角色。
temperaturenumber1.0采样温度(0 到 1)。控制随机性,高值更创意,低值更确定。
top_pnumber核采样(0 到 1)。控制多样性。
top_kintegerTop-K 采样。仅从概率最高的 K 个 token 中采样。
stop_sequencesarray停止序列列表。生成到此停止。
streambooleanfalse是否流式响应。实时返回增量内容。
metadataobject元数据对象,可包含 user_id 用于追踪。
toolsarray可用工具列表。启用函数调用功能。
tool_choiceobjectauto工具选择策略。如 {"type": "auto"} 让模型决定调用工具。

响应字段(Response)

字段类型含义与说明
idstring响应 ID。唯一标识此次完成。
typestring对象类型:message
rolestring角色:assistant
contentarray内容块列表。每个块包含 type 和对应内容(如 text)。
modelstring使用的模型 ID。
stop_reasonstring停止原因:end_turnmax_tokensstop_sequencetool_use
stop_sequencestring触发停止的序列(如适用)。
usageobject使用统计。包含 input_tokensoutput_tokens

快速开始

安装 Anthropic SDK

pip install anthropic

示例代码

** Python **

import anthropic
 
client = anthropic.Anthropic(
    api_key="<MODELVERSE_API_KEY>",
    base_url="https://api.modelverse.cn"
)
 
message = client.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Hello, how are you?"}
    ]
)
 
print(message.content[0].text)

** Python 流式 **

import anthropic
 
client = anthropic.Anthropic(
    api_key="<MODELVERSE_API_KEY>",
    base_url="https://api.modelverse.cn"
)
 
with client.messages.stream(
    model="claude-sonnet-4-5-20250929",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Write a short story about AI."}
    ]
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

** curl **

curl https://api.modelverse.cn/v1/messages \
  -H "Content-Type: application/json" \
  -H "x-api-key: $MODELVERSE_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "claude-sonnet-4-5-20250929",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "Hello, how are you?"}
    ]
  }'

** curl 流式 **

curl https://api.modelverse.cn/v1/messages \
  -H "Content-Type: application/json" \
  -H "x-api-key: $MODELVERSE_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "claude-sonnet-4-5-20250929",
    "max_tokens": 1024,
    "stream": true,
    "messages": [
      {"role": "user", "content": "Hello, how are you?"}
    ]
  }'

多模态支持

Claude 兼容接口支持图像输入,可以通过 base64 编码或 URL 方式传递图像:

使用 URL 方式

import anthropic
 
client = anthropic.Anthropic(
    api_key="<MODELVERSE_API_KEY>",
    base_url="https://api.modelverse.cn"
)
 
# 使用 URL 传递图像
message = client.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "url",
                        "url": "https://umodelverse-inference.cn-wlcb.ufileos.com/ucloud-maxcot.jpg"
                    }
                },
                {
                    "type": "text",
                    "text": "What's in this image?"
                }
            ]
        }
    ]
)
 
print(message.content[0].text)

使用 base64 编码

import anthropic
import base64
 
client = anthropic.Anthropic(
    api_key="<MODELVERSE_API_KEY>",
    base_url="https://api.modelverse.cn"
)
 
# 使用 base64 编码图像
with open("image.png", "rb") as f:
    image_data = base64.standard_b64encode(f.read()).decode("utf-8")
 
message = client.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": "image/png",
                        "data": image_data
                    }
                },
                {
                    "type": "text",
                    "text": "What's in this image?"
                }
            ]
        }
    ]
)
 
print(message.content[0].text)

工具调用(Function Calling)

import anthropic
 
client = anthropic.Anthropic(
    api_key="<MODELVERSE_API_KEY>",
    base_url="https://api.modelverse.cn"
)
 
tools = [
    {
        "name": "get_weather",
        "description": "Get the current weather in a given location",
        "input_schema": {
            "type": "object",
            "properties": {
                "location": {
                    "type": "string",
                    "description": "The city and state, e.g. San Francisco, CA"
                }
            },
            "required": ["location"]
        }
    }
]
 
message = client.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=1024,
    tools=tools,
    messages=[
        {"role": "user", "content": "What's the weather like in Beijing?"}
    ]
)
 
print(message.content)

模型列表

更多受支持的 Claude 兼容模型,请参考【获取模型列表】或访问 UModelverse 模型中心 (opens in a new tab)

更多字段详情,见 Anthropic 官方文档 (opens in a new tab)

Copyright © 2025 沪ICP备12020087号-61