从零调用 Claude API:Python 和 Node.js 双语言完整示例
摘要
第一次调用 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,配合官方anthropicSDK 使用,功能最全。 - 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 Anthropicclient = 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 接口跑起来。