跳到主要内容
万川
文档导航
本页目录

使用 Anthropic SDK

万川提供 Anthropic Messages 端点。官方 SDK 只需改 base_url 与密钥,但 Base URL 的写法和 OpenAI SDK 正好相反。

base_url https://chuanapi.com不要带 /v1。Anthropic SDK 会自己拼上 /v1/messages。 这是从 OpenAI SDK 迁过来时最容易踩的坑。

Base URL 的差异

两个 SDK 的拼接行为不同,写错就是 404:

  • OpenAI SDK:https://chuanapi.com/v1 → 实际请求 /v1/chat/completions
  • Anthropic SDK:https://chuanapi.com → 实际请求 /v1/messages

Python

# pip install anthropic
import os
from anthropic import Anthropic

client = Anthropic(
    api_key=os.environ["WANCHUAN_API_KEY"],
    base_url="https://chuanapi.com",
)

resp = client.messages.create(
    model="MODEL_ID",
    max_tokens=1024,
    messages=[{"role": "user", "content": "你好"}],
)
print(resp.content[0].text)

MODEL_ID 换成 模型目录 里的真实 id。

Node.js

// npm i @anthropic-ai/sdk
import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  apiKey: process.env.WANCHUAN_API_KEY,
  baseURL: "https://chuanapi.com",
});

const resp = await client.messages.create({
  model: "MODEL_ID",
  max_tokens: 1024,
  messages: [{ role: "user", content: "你好" }],
});
console.log(resp.content[0].text);

与官方端点的差异

  • max_tokens 必填:Messages 协议要求显式给出,省略会返回 400。OpenAI 协议下它是可选的。
  • system 是顶层参数:不放进 messages 数组。
  • model id 用万川目录的: 不要沿用官方的模型名,目录之外的名称一律 404。
  • 计费口径统一:无论走 Messages 还是 Chat Completions,都按万川的倍率计费,不因协议不同而变化。
resp = client.messages.create(
    model="MODEL_ID",
    max_tokens=1024,
    system="你是一个简洁的技术助手。",
    messages=[{"role": "user", "content": "解释一下 SSE"}],
)

用 curl 验证

SDK 报错时先用 curl 排除客户端因素:

curl https://chuanapi.com/v1/messages \
  -H "x-api-key: $WANCHUAN_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MODEL_ID",
    "max_tokens": 64,
    "messages": [{"role": "user", "content": "你好"}]
  }'

常见问题

  • 404base_url 多写了 /v1,实际打到了 /v1/v1/messages
  • 400 max_tokens: 忘了传 max_tokens,或者填的值超过该模型上限。
  • 401:密钥没读到, 或者环境里残留了 ANTHROPIC_API_KEY覆盖了显式传入的值。
  • 403:账号分组不含该模型。

相关文档

本页基于 2026-08-19 校订。