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():ifnot 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 服务、统一调用层技术验证、快速开发

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

Read more

[特殊字符] 终极解决方案:彻底攻克llama.cpp动态链接库加载失败难题

🚀 终极解决方案:彻底攻克llama.cpp动态链接库加载失败难题 【免费下载链接】llama.cppPort of Facebook's LLaMA model in C/C++ 项目地址: https://gitcode.com/GitHub_Trending/ll/llama.cpp 当你满怀期待地准备运行llama.cpp时,却遭遇了"找不到动态链接库"的报错,这种挫败感我们都懂!本文将为你提供一套完整的诊断和修复方案,让你快速摆脱这个困扰。 🔍 快速识别:你的问题属于哪种类型? 症状自检清单 - 请对照以下表现: ✅ Linux系统:error while loading shared libraries: libllama.so: cannot open shared

By Ne0inhk

零基础指南:学生如何申请和使用GitHub Copilot

快速体验 1. 打开 InsCode(快马)平台 https://www.inscode.net 2. 输入框内输入如下内容: 创建一个面向编程新手的Jupyter Notebook教程,内容包含:1. GitHub Copilot学生认证申请步骤截图;2. 基础Python语法练习(变量、循环、函数);3. 使用Copilot完成简单计算器项目。要求每个步骤都有详细说明和Copilot使用技巧提示。 1. 点击'项目生成'按钮,等待项目生成完整后预览效果 零基础指南:学生如何申请和使用GitHub Copilot 作为一名计算机专业的学生,最近在同学的推荐下尝试了GitHub Copilot这个AI编程助手,发现它真的能大幅提升学习效率。今天就把我的完整使用经验整理出来,特别适合刚接触编程的新手参考。 一、GitHub学生认证申请 1. 首先需要注册GitHub账号,这个步骤很简单,在官网填写基本信息就能完成。记得使用学校邮箱注册,后续认证会更容易通过。

By Ne0inhk
【Matlab】最新版2025a发布,深色模式、Copilot编程助手上线!

【Matlab】最新版2025a发布,深色模式、Copilot编程助手上线!

文章目录 * 一、软件安装 * 1.1 系统配置要求 * 1.2 安装 * 二、新版功能探索 * 2.1 界面图标和深色主题 * 2.2 MATLAB Copilot AI助手 * 2.3 绘图区升级 * 2.4 simulink * 2.5 更多 🟠现在可能无法登录或者注册mathworks(写这句话的时间:2025-05-20): 最近当你登录或者注册账号的时候会显示:no healthy upstream,很多人都遇到了这个问题,我在reddit上看到了mathworks官方的回答:确实有这个问题,正在恢复,不知道要几天咯,大家先用旧版本吧。 — 已经近10天了,原因是:遭受勒索软件攻击 延迟一个月,终于发布了🤭。 一、软件安装 1.1

By Ne0inhk

WhisperLiveKit 会议纪要模板定制:适配不同场景的纪要样式

核心定制原则 * 场景分类:区分正式会议、头脑风暴、项目复盘等场景,匹配对应的结构化模板。 * 关键元素保留:时间、参与人、决议事项、待办任务为通用必选项,其他字段按需增减。 正式会议模板示例 标题格式:[类型]项目名_日期(如[决策]Q3预算会_20240520) 内容结构: * 背景说明(3行以内) * 决议事项(编号列表,含责任人与DDL) * 争议点记录(斜体标注未达成共识项) * 附件链接(直接粘贴WhisperLiveKit生成的会议录音/转录URL) 创意讨论模板示例 标题格式:[脑暴]主题_发起人 内容结构: * 灵感池(无序列表记录所有点子) * 投票结果(用✅×3形式标记票数) * 可行性筛选(分立即执行/长期储备两栏表格) 技术评审模板示例 标题格式:[评审]系统名_

By Ne0inhk