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

Python快速入门指南:从零开始掌握Python编程

Python快速入门指南:从零开始掌握Python编程

文章目录 * 前言 * 一、Python环境搭建🥏 * 1.1 安装Python * 1.2 验证安装 * 1.3 选择开发工具 * 二、Python基础语法📖 * 2.1 第一个Python程序 * 2.2 变量与数据类型 * 2.3 基本运算 * 三、Python流程控制🌈 * 3.1 条件语句 * 3.2 循环结构 * 四、Python数据结构🎋 * 4.1 列表(List) * 4.2 字典(Dictionary) * 4.3 元组(Tuple)和集合(Set) * 五、函数与模块✨

By Ne0inhk
Python异步编程基石:深入理解asyncio核心原理与实战

Python异步编程基石:深入理解asyncio核心原理与实战

摘要 本文深入剖析Python异步编程核心库asyncio的工作原理,从事件循环、协程、Future到Task的完整技术栈。通过真实性能对比数据、企业级案例和5个架构流程图,全面解析async/await底层机制。涵盖异步编程最佳实践、性能优化技巧和故障排查方案,帮助开发者掌握高并发程序设计精髓,提升I/O密集型应用性能数倍。 1 异步编程:为什么它是Python高性能的关键 在我13年的Python开发经验中,异步编程是性能优化的分水岭。记得曾经处理一个需要调用10个外部API的任务,同步版本需要20多秒,而改用异步后仅需2秒——这种10倍性能提升让我彻底认识到异步编程的价值。 1.1 同步 vs 异步:直观对比 想象你在餐厅点餐的场景: * 同步:点完第一个菜后站着等厨师做完,再点第二个菜,效率极低 * 异步:点完所有菜后找座位等待,厨师并行制作,服务员送餐时通知你 这就是异步编程的核心优势:避免不必要的等待,充分利用等待时间执行其他任务。 import time import asyncio # 同步版本:顺序执行,总耗时=各任务耗时之和 def

By Ne0inhk
【超详细】Python FastAPI 入门:写给新手的“保姆级”教程

【超详细】Python FastAPI 入门:写给新手的“保姆级”教程

前言  作为一名大学生,最近在做 Python Web 开发时发现了一个“宝藏”框架——FastAPI。 以前学 Django 光配置就头大,学 Flask 又不知道怎么写规范。直到遇到了 FastAPI,我才体会到什么叫“写代码像呼吸一样自然”。 这篇文章不讲复杂的原理,只讲最基础、最实用的操作,带你从 0 到 1 跑通第一个 API 接口! 一、FastAPI 是什么 在 Python 的世界里,做网站后台(Web 开发)主要有三巨头: 1. Django:老大哥,功能全但笨重,像一辆重型卡车。 2. Flask:二哥,轻便灵活但插件多,像一辆自行组装的赛车。 3.

By Ne0inhk