Python 調(diào)用Anthropic API 的兩種方式
本文介紹了Python調(diào)用Anthropic API的兩種主要方式,包括
- requests 調(diào)用
- 官方 SDK 調(diào)用
https://api-docs.deepseek.com/zh-cn/guides/anthropic_api
Python 調(diào)用 Anthropic API 的兩種方式
Anthropic API 本質(zhì)是標(biāo)準(zhǔn) HTTP 接口,Python 中通常有兩種主流調(diào)用方式:
- 使用
requests:輕量、靈活、適合工程封裝 - 使用官方 SDK:封裝完善、自動(dòng)處理部分配置
下文對兩種方式進(jìn)行對比與示例說明。
一、使用 requests 調(diào)用(適合生產(chǎn)環(huán)境工程封裝)
requests 是 Python 最通用的 HTTP 客戶端,適合你在框架(Django / FastAPI / 微服務(wù))中封裝統(tǒng)一的 AI 調(diào)用模塊。
1. 基本非流式調(diào)用
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. 流式響應(yīng)(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. 使用毫秒超時(shí)(API_TIMEOUT_MS)
Anthropic 配置通常使用毫秒,需要轉(zhuǎn)成秒:
API_TIMEOUT_MS = 600000 requests.post(url, json=payload, headers=headers, timeout=API_TIMEOUT_MS / 1000)
二、使用官方 SDK 調(diào)用(簡單、封裝完善)
Anthropic 提供官方 Python SDK,支持自動(dòng)處理 headers、base_url、超時(shí)管理等。
安裝:
pip install anthropic
1. 基本調(diào)用
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. 流式調(diào)用(逐 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)
三、兩種方式對比
| 對比項(xiàng) | requests | 官方 SDK |
|---|---|---|
| 輕量性 | 高 | 中 |
| 靈活度 | 高(可自由封裝) | 中 |
| 上手難度 | 需要寫 headers、處理 SSE | 簡單直接 |
| 流式支持 | 需要手動(dòng)解析 SSE | 官方封裝 |
| 配置管理(base_url、timeout) | 手動(dòng)控制 | 構(gòu)造參數(shù)即可 |
| 適合場景 | 生產(chǎn)級 API 服務(wù)、統(tǒng)一調(diào)用層 | 技術(shù)驗(yàn)證、快速開發(fā) |
兩種方式都穩(wěn)定可靠,你可以針對團(tuán)隊(duì)習(xí)慣選擇合適的方式。
到此這篇關(guān)于Python 調(diào)用Anthropic API 的兩種方式的文章就介紹到這了,更多相關(guān)Python調(diào)用 Anthropic API 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
scrapy框架中用ssh連接遠(yuǎn)程服務(wù)器的實(shí)現(xiàn)
本文主要介紹了scrapy?框架中用ssh連接遠(yuǎn)程服務(wù)器的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
Django 響應(yīng)數(shù)據(jù)response的返回源碼詳解
這篇文章主要介紹了Django 響應(yīng)數(shù)據(jù)response的返回源碼詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
Python Pydantic數(shù)據(jù)驗(yàn)證的實(shí)現(xiàn)
本文主要介紹了Python Pydantic數(shù)據(jù)驗(yàn)證的實(shí)現(xiàn)2025-04-04
Python讀取大型數(shù)據(jù)文件的6種方式匯總
在 Python 中,我們可以使用多種方法讀取大型數(shù)據(jù)文件,本文主要為大家介紹6個(gè)常用的Python讀取大型數(shù)據(jù)文件的方法,希望對大家有所幫助2023-05-05
Python3中條件控制、循環(huán)與函數(shù)的簡易教程
這篇文章主要給大家介紹了關(guān)于Python3中條件控制、循環(huán)與函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11
Python scikit-learn數(shù)據(jù)預(yù)處理常見方法和步驟
數(shù)據(jù)預(yù)處理是數(shù)據(jù)準(zhǔn)備階段的一個(gè)重要環(huán)節(jié),主要目的是將原始數(shù)據(jù)轉(zhuǎn)換成適合機(jī)器學(xué)習(xí)模型使用的格式,數(shù)據(jù)預(yù)處理可以顯著提高機(jī)器學(xué)習(xí)模型的性能和準(zhǔn)確度,本文給大家介紹了Python數(shù)據(jù)預(yù)處理常見方法和步驟,需要的朋友可以參考下2024-05-05
Python實(shí)現(xiàn)json對值進(jìn)行模糊搜索的示例詳解
我經(jīng)常使用json進(jìn)行存儲(chǔ)配置,于是常常遇到這樣的問題:如果想要對某個(gè)數(shù)組里的值進(jìn)行模糊搜索,同時(shí)輸出相關(guān)的其他數(shù)組相同位置的的值該如何實(shí)現(xiàn)呢?本文就來和大家詳細(xì)聊聊2023-01-01

