Python 调用Anthropic API 的两种方式

 更新时间:2025年12月24日 10:17:49   作者:言之。  
本文介绍了Python调用Anthropic API的两种主要方式,包括使用requests库和官方SDK,下面就来详细的介绍一下具体调用方法,感兴趣的可以了解一下

 本文介绍了Python调用Anthropic API的两种主要方式,包括

  • requests 调用
  • 官方 SDK 调用
https://api-docs.deepseek.com/zh-cn/guides/anthropic_api

Python 调用 Anthropic API 的两种方式

Anthropic API 本质是标准 HTTP 接口,Python 中通常有两种主流调用方式:

  1. 使用 requests:轻量、灵活、适合工程封装
  2. 使用官方 SDK:封装完善、自动处理部分配置

下文对两种方式进行对比与示例说明。

一、使用 requests 调用(适合生产环境工程封装)

requests 是 Python 最通用的 HTTP 客户端,适合你在框架(Django / FastAPI / 微服务)中封装统一的 AI 调用模块。

1. 基本非流式调用

import requests

API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.deepseek.com/anthropic/v1/messages"

headers = {
    "Content-Type": "application/json",
    "x-api-key": API_KEY,
    "anthropic-version": "2023-06-01",
}

payload = {
    "model": "deepseek-chat",
    "max_tokens": 2048,
    "messages": [{"role": "user", "content": "你好"}],
}

resp = requests.post(BASE_URL, json=payload, headers=headers, timeout=600)
print(resp.json())

2. 流式响应(SSE Stream)

import requests
import json

API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.deepseek.com/anthropic/v1/messages"

headers = {
    "Content-Type": "application/json",
    "x-api-key": API_KEY,
    "anthropic-version": "2023-06-01",
}

payload = {
    "model": "deepseek-chat",
    "max_tokens": 2000,
    "messages": [{"role": "user", "content": "介绍一下你自己"}],
    "stream": True,
}

with requests.post(BASE_URL, json=payload, headers=headers, stream=True, timeout=600) as r:
    for line in r.iter_lines():
        if not line:
            continue
        data = line.decode("utf-8")
        if data.startswith("data: "):
            content = data[6:]
            if content == "[DONE]":
                break
            event = json.loads(content)
            delta = event.get("delta", {}).get("text")
            if delta:
                print(delta, end="", flush=True)

3. 使用毫秒超时(API_TIMEOUT_MS)

Anthropic 配置通常使用毫秒,需要转成秒:

API_TIMEOUT_MS = 600000
requests.post(url, json=payload, headers=headers, timeout=API_TIMEOUT_MS / 1000)

二、使用官方 SDK 调用(简单、封装完善)

Anthropic 提供官方 Python SDK,支持自动处理 headers、base_url、超时管理等。

安装:

pip install anthropic

1. 基本调用

from anthropic import Anthropic

client = Anthropic(
    api_key="YOUR_API_KEY",
    base_url="https://api.deepseek.com/anthropic",
    timeout=600,
)

resp = client.messages.create(
    model="deepseek-chat",
    max_tokens=2048,
    messages=[{"role": "user", "content": "你好"}],
)

print(resp)

2. 流式调用(逐 token 输出)

from anthropic import Anthropic

client = Anthropic(
    api_key="YOUR_API_KEY",
    base_url="https://api.deepseek.com/anthropic",
)

with client.messages.stream(
    model="deepseek-chat",
    max_tokens=2048,
    messages=[{"role": "user", "content": "写一段话"}],
) as stream:
    for event in stream:
        if event.type == "message_delta" and event.delta.text:
            print(event.delta.text, end="", flush=True)

三、两种方式对比

对比项requests官方 SDK
轻量性
灵活度高(可自由封装)
上手难度需要写 headers、处理 SSE简单直接
流式支持需要手动解析 SSE官方封装
配置管理(base_url、timeout)手动控制构造参数即可
适合场景生产级 API 服务、统一调用层技术验证、快速开发

两种方式都稳定可靠,你可以针对团队习惯选择合适的方式。

到此这篇关于Python 调用Anthropic API 的两种方式的文章就介绍到这了,更多相关Python调用 Anthropic API 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python连接Redis的基本配置方法

    Python连接Redis的基本配置方法

    本文分享了Linux系统下Python连接Redis的基本配置方法,Python连接Redis需要Redis的Python包支持
    2018-09-09
  • scrapy框架中用ssh连接远程服务器的实现

    scrapy框架中用ssh连接远程服务器的实现

    本文主要介绍了scrapy 框架中用ssh连接远程服务器的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • python的keyword模块用法实例分析

    python的keyword模块用法实例分析

    这篇文章主要介绍了python的keyword模块用法,实例分析了Python中keyword模块的基本使用技巧,需要的朋友可以参考下
    2015-06-06
  • Django 响应数据response的返回源码详解

    Django 响应数据response的返回源码详解

    这篇文章主要介绍了Django 响应数据response的返回源码详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python条件语句match-case的具体使用

    Python条件语句match-case的具体使用

    Python3.10+引入了match-case语句,作为升级版if-elif-else,用于多分支条件及结构化数据匹配,本文就来介绍一下match-case的具体使用,具有一定的参考价值,感兴趣的可以了解一下
    2025-07-07
  • Python Pydantic数据验证的实现

    Python Pydantic数据验证的实现

    本文主要介绍了Python Pydantic数据验证的实现
    2025-04-04
  • Python读取大型数据文件的6种方式汇总

    Python读取大型数据文件的6种方式汇总

    在 Python 中,我们可以使用多种方法读取大型数据文件,本文主要为大家介绍6个常用的Python读取大型数据文件的方法,希望对大家有所帮助
    2023-05-05
  • Python3中条件控制、循环与函数的简易教程

    Python3中条件控制、循环与函数的简易教程

    这篇文章主要给大家介绍了关于Python3中条件控制、循环与函数的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11
  • Python scikit-learn数据预处理常见方法和步骤

    Python scikit-learn数据预处理常见方法和步骤

    数据预处理是数据准备阶段的一个重要环节,主要目的是将原始数据转换成适合机器学习模型使用的格式,数据预处理可以显著提高机器学习模型的性能和准确度,本文给大家介绍了Python数据预处理常见方法和步骤,需要的朋友可以参考下
    2024-05-05
  • Python实现json对值进行模糊搜索的示例详解

    Python实现json对值进行模糊搜索的示例详解

    我经常使用json进行存储配置,于是常常遇到这样的问题:如果想要对某个数组里的值进行模糊搜索,同时输出相关的其他数组相同位置的的值该如何实现呢?本文就来和大家详细聊聊
    2023-01-01

最新评论