从零调用 Claude API:Python 和 Node.js 双语言完整示例

分类:技术交流发布时间:建议阅读时长:12分钟
作者:sodope llm

摘要

第一次调用 Claude API,最容易卡住的不是代码,而是”网络连不上”和”base_url 该填什么”。本文用最短路径带你跑通第一个请求:从拿 Key、装 SDK,到 Python 与 Node.js 双语言示例,再到流式输出和常见报错排查。全程基于国内可达的 jiekou.vip 中转,免翻墙、按量计费,复制粘贴即可运行。读完你就能把 Claude 接口接进自己的项目里。

一、准备工作:拿 Key 与选协议

调用 Claude API 前你需要两样东西:一个 API Key,一个可达的 base_url。国内直连 Anthropic 官方接口并不稳定,这里用 jiekou.vip 作为中转,在其控制台注册后即可拿到 Key。

接下来选协议。Claude 有两种接入方式:

  • Anthropic 原生协议:base_url 填 https://api.highwayapi.ai/anthropic,配合官方 anthropic SDK 使用,功能最全。
  • OpenAI 兼容协议:base_url 填 https://api.highwayapi.ai/openai,如果你的老项目本来用 OpenAI SDK,改个地址就能切过来。

本文以 Anthropic 原生协议为主。注意 base_url 的域名是 api.highwayapi.ai,不是 jiekou.vip。

二、Python 示例:跑通第一个请求

先装官方 SDK:

pip install anthropic

然后写第一个调用。把 base_url 指向中转地址,Key 换成你自己的:

from anthropic import Anthropic
client = Anthropic(
api_key="你的_API_KEY",
base_url="https://api.highwayapi.ai/anthropic",
)
resp = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
system="你是一个简洁专业的中文助手。",
messages=[
{"role": "user", "content": "用三句话解释什么是 API。"}
],
)
print(resp.content[0].text)

运行成功后,你会看到 Claude 返回的三句话。这里 system 用来设定人设,messages 装对话内容,max_tokens 限制输出长度。

三、Node.js 示例:等价实现

Node 端同样有官方 SDK:

npm install @anthropic-ai/sdk

对应代码如下:

import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: "你的_API_KEY",
baseURL: "https://api.highwayapi.ai/anthropic",
});
const resp = await client.messages.create({
model: "claude-sonnet-4-6",
max_tokens: 1024,
system: "你是一个简洁专业的中文助手。",
messages: [
{ role: "user", content: "用三句话解释什么是 API。" },
],
});
console.log(resp.content[0].text);

注意 Node SDK 里参数是 baseURL(大写 URL),Python 里是 base_url,别写混了。两端逻辑完全一致,选你熟悉的语言即可。

四、进阶一步:流式输出

想让回复像打字机一样逐字冒出来,开启流式即可。Python 版:

with client.messages.stream(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[{"role": "user", "content": "写一首关于秋天的短诗。"}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)

Node 版:

const stream = await client.messages.stream({
model: "claude-sonnet-4-6",
max_tokens: 1024,
messages: [{ role: "user", content: "写一首关于秋天的短诗。" }],
});
for await (const event of stream) {
if (event.type === "content_block_delta") {
process.stdout.write(event.delta.text);
}
}

流式适合聊天界面和长文本生成,能显著改善用户等待体验。

五、多轮对话怎么写

Claude API 本身无状态,多轮对话靠你把历史一起传回去。每轮把上一次的用户消息和模型回复都追加进 messages 数组:

messages = [
{"role": "user", "content": "我叫小明。"},
{"role": "assistant", "content": "你好小明!"},
{"role": "user", "content": "我叫什么名字?"},
]

只要历史带着,模型就能记住上下文。要控制长度和成本时,可以截断早期消息或做摘要。

六、常见报错排查

第一次接该 API 最常见的几个坑:

  • 404 Not Found:先检查 base_url 尾部是否多写或少写了 /v1。不同 SDK 的路径拼接逻辑不同——有的会自动补 /v1,有的不会。用官方 anthropic SDK 配 https://api.highwayapi.ai/anthropic 通常无需手动加 /v1,但换成裸 HTTP 请求时就要留意。
  • 401 Unauthorized:Key 填错或没生效,回 jiekou.vip 控制台核对。
  • 模型名报错:确认模型名拼写正确,如 claude-sonnet-4-6、claude-opus-4-8、claude-haiku-4-5。

小结

调用 Claude API 的门槛其实很低:装 SDK、填 base_url 和 Key、发一条消息,三步就能跑通。国内接入的关键在于用 jiekou.vip 这样的中转解决网络与结算问题,把 base_url 指向 https://api.highwayapi.ai/anthropic 即可零障碍上手。把本文的 Python 与 Node.js 模板存好,下次起新项目直接复用,几分钟就能让 Claude 接口跑起来。

分享:
联系我们