所有文章 / All posts

Python调用Claude API完整教程 - 从注册到代码实战

Python调用Claude API完整教程 - 从注册到代码实战

·ThisToken.AI·
Tutorials入门教程ThisToken.AI

作为一名独立开发者或小团队成员,你是否曾被 Claude 强大的推理能力和自然的语言风格所吸引,却因为复杂的申请流程或昂贵的订阅费用而犹豫不决?

在当前的 AI 应用开发浪潮中,接入大语言模型(LLM)已经成为提升产品竞争力的关键一环。然而,官方 API 的使用门槛往往较高,不仅需要海外支付手段,还可能面临区域限制的难题。本教程将为各位开发者提供一条捷径:通过 ThisToken.AI 这个聚合平台,以极低的成本和最简单的流程,快速接入 Claude API,并用 Python 跑通你的第一个 AI 应用。

本文将手把手教你完成从账号注册、获取密钥到编写代码的全过程。

为什么选择第三方中转服务?

在开始操作之前,我们需要理解技术架构。直接调用 Anthropic 官方 API 固然直接,但对于许多国内的独立开发者和小团队来说,存在几个明显的痛点:

  1. 支付门槛:绑定国际信用卡对于个人开发者来说手续繁琐。
  2. 网络限制:直连 API 往往需要稳定的网络环境,增加了部署难度。
  3. 管理复杂:不同模型(GPT-4, Claude, Gemini)分散在不同平台,管理多套 API Key 令人头疼。

ThisToken.AI 等中转服务解决了这些问题。它们充当了“中间人”的角色,通过统一的 API 接口格式(通常兼容 OpenAI 格式),让你能够以更低的心智负担访问 Claude 模型。简单来说,你只需要像调用 OpenAI 接口一样,修改一个 base_url,就能无缝切换到 Claude 的强大能力。

第一步:注册 ThisToken.AI 账号

首先,我们需要获取调用 API 的“钥匙”。

  1. 访问官网

打开浏览器,访问 ThisToken.AI 的官方网站。界面设计通常非常简洁,这对于追求效率的开发者来说是一个加分项。

  1. 完成注册

点击注册按钮。通常这类平台支持邮箱注册,部分可能支持手机号。建议使用常用邮箱,以便接收系统通知和账单详情。设置好密码后,完成邮箱验证即可登录。

  1. 充值与计费

进入控制台(Dashboard)后,你会看到账户余额。这类平台通常采用“按量付费”模式,即充即用,对于小团队来说,这比订阅制更划算,因为你只需为实际消耗的 Token 付费。新注册用户往往会有一定的免费额度或体验金,这对于测试接口非常友好。

第二步:获取 API Key

这是最关键的一步,API Key 相当于你家的门钥匙,必须妥善保管。

  1. 进入控制台后,在左侧导航栏或显眼位置找到「API Keys」或「密钥管理」选项。
  2. 点击「创建新密钥」。
  3. 系统会生成一串以 sk- 开头的长字符串。
  4. 重要提示:请立即复制并保存这串密钥。出于安全考虑,平台通常只会在创建时显示一次。如果你忘记了,只能删除旧密钥重新生成。

拿到 Key 之后,我们就可以进入代码实战环节了。

第三步:Python 环境准备

为了演示,我们使用 Python 语言,因为它拥有最成熟的 AI 生态库。请确保你的开发环境中已安装 Python 3.7+。

我们需要安装 Anthropic 官方提供的 Python SDK,或者是通用的 OpenAI SDK。为了体现本教程的通用性,并方便未来扩展其他模型,这里推荐使用官方 anthropic 库,它能更好地支持 Claude 特有的功能(如 Tool Use)。

打开终端,运行以下命令:

pip install anthropic

如果你更习惯使用 openai 库兼容的格式,也可以安装 openai 库,原理是一样的,只需修改 base_url。但为了代码的纯净度,本教程以 anthropic 库为例进行演示。

第四步:编写你的第一段代码

现在,让我们编写一个简单的脚本,向 Claude 提问并获取回答。

新建一个文件 test_claude.py,并将以下代码复制进去。请注意,代码中明确指定了 base_url,这是连接到 ThisToken.AI 的关键配置。

import os
from anthropic import Anthropic

# ---------------------------------------------
# 关键配置区域
# ---------------------------------------------

# 方式一:直接填入你的 API Key(不推荐在生产环境使用)
# API_KEY = "sk-xxxxxxxxxxxxxxxxxxxxxxxx" 

# 方式二:从环境变量读取(推荐做法)
# 在终端运行:export ANTHROPIC_API_KEY="你的ThisToken密钥"
API_KEY = os.environ.get("ANTHROPIC_API_KEY")

# 初始化客户端
# 这里指定了 ThisToken.AI 的接口地址,这是连通的关键
client = Anthropic(
    api_key=API_KEY,
    base_url="https://api.thistoken.ai/v1",
)

def chat_with_claude():
    """
    发送一条消息给 Claude 并打印回复
    """
    print("正在连接 Claude...")
    
    try:
        # 创建消息请求
        message = client.messages.create(
            model="claude-3-5-sonnet-20241022",  # 目前主流的高性能模型
            max_tokens=1024,                     # 限制输出长度
            messages=[
                {
                    "role": "user", 
                    "content": "你好,请用资深技术作家的口吻,向我解释一下什么是 API 中转服务,不超过100字。"
                }
            ]
        )
        
        # 输出结果
        print("\n--- Claude 的回复 ---")
        print(message.content[0].text)
        print("---------------------")
        
        # 打印一些元数据,帮助了解消耗
        print(f"模型: {message.model}")
        print(f"输入Token: {message.usage.input_tokens}")
        print(f"输出Token: {message.usage.output_tokens}")
        
    except Exception as e:
        print(f"发生错误: {e}")
        print("请检查你的 API Key 是否正确,以及账户余额是否充足。")

if __name__ == "__main__":
    chat_with_claude()

代码深度解析

  1. base_url="https://api.thistoken.ai/v1":这是整篇教程的核心。默认情况下,Anthropic SDK 会请求官方服务器。通过覆盖这个参数,我们将请求重定向到了 ThisToken.AI 的服务器。这意味着你的代码逻辑完全不变,只是换了条路走。
  2. 模型选择:代码中使用了 claude-3-5-sonnet 系列。这是目前公认性价比最高的模型,速度快、智力高。你也可以根据平台支持的列表,尝试其他模型版本。
  3. 异常处理:在实际开发中,网络波动、余额不足或 Key 失效都会导致报错。代码中的 try-except 块能帮助你快速定位问题。
  4. Usage 统计:返回对象中包含了 usage 字段,记录了输入输出的 Token 数量。这对于控制成本、优化 Prompt 非常有价值。

运行代码后,你应该能在终端看到 Claude 流畅的回复。

进阶技巧:流式输出与多轮对话

跑通“Hello World”只是第一步。在实际的产品开发中,我们通常需要两个更高级的功能:流式输出上下文记忆

1. 流式输出

没人愿意盯着空白屏幕等待 5 秒钟然后突然蹦出一大段话。流式输出能像打字机一样逐字显示内容,极大提升用户体验。

修改 chat_with_claude 函数如下:

def stream_chat():
    print("Claude 正在思考 (流式输出)...\n")
    
    with client.messages.stream(
        model="claude-3-5-sonnet-20241022",
        max_tokens=1024,
        messages=[{"role": "user", "content": "写一段关于独立开发者勇气的短文。"}]
    ) as stream:
        for text in stream.text_stream:
            print(text, end="", flush=True)
    
    print("\n\n[流式传输结束]")

2. 多轮对话

Claude 是无状态的,它不会记得你上一句说了什么。要实现“聊天”效果,你需要将历史记录 append 到 messages 列表中。

conversation_history = []

def multi_turn_chat(user_input):
    # 1. 将用户输入加入历史
    conversation_history.append({"role": "user", "content": user_input})
    
    # 2. 调用 API,传入完整历史
    response = client.messages.create(
        model="claude-3-5-sonnet-20241022",
        max_tokens=1024,
        system="你是一个乐于助人的Python编程助手。", # 设置系统人设
        messages=conversation_history
    )
    
    reply = response.content[0].text
    
    # 3. 将助手回复也加入历史,形成闭环
    conversation_history.append({"role": "assistant", "content": reply})
    
    return reply

通过维护 conversation_history 列表,你可以构建出属于自己的 AI 聊天机器人。

给独立开发者的建议

  1. 安全第一:永远不要将 API Key 硬编码在前端代码(如 JavaScript 网页源码)中。一旦泄露,你的额度会在几分钟内被刷光。正确的做法是通过后端转发请求,或者使用环境变量。
  2. 成本控制:在开发阶段,建议设置较低的 max_tokens,避免因为死循环导致账单爆炸。ThisToken.AI 的后台通常也提供额度预警功能,建议开启。
  3. Prompt 工程:Claude 对指令的遵循度很高。多花时间打磨 system prompt(系统提示词),往往能比单纯升级模型带来更好的效果提升。

结语

接入 Claude API 并没有想象中那么高深莫测。借助 ThisToken.AI 这样的平台,我们绕过了复杂的资质审核和支付难题,只需几行 Python 代码,就能将世界顶尖的 AI 能力集成到自己的项目中。

对于独立开发者而言,执行力就是核心竞争力。现在,你已经掌握了开启 AI 大门的钥匙,接下来要做的就是将它应用到实际场景中去——无论是写一个自动写周报的工具,还是开发一个智能客服助手,一切皆有可能。

如果你还没有准备好你的 API Key,立刻行动起来吧:

点击这里快速注册并开始你的 AI 开发之旅:https://api.thistoken.ai/register

---

想直接跑通示例?访问 https://api.thistoken.ai/register 注册 ThisToken.AI,获取 API Key 后即可开始。

想试试 ThisToken.AI?

注册即送 $5 免费试用金 · 无需信用卡 · 1 分钟开始

注册 ThisToken.AI 并获取 API Key