LiteLLM,一個(gè)超酷的 Python 庫(kù)
LiteLLM 是一個(gè)強(qiáng)大的 Python 第三方庫(kù),可以統(tǒng)一接入絕大多數(shù)主流大模型(包括 OpenAI、DeepSeek、Anthropic、Cohere、Hugging Face、阿里云、Azure 等),無(wú)需針對(duì)不同平臺(tái)編寫?yīng)毩⒋a。
它通過(guò)統(tǒng)一接口簡(jiǎn)化了 API 調(diào)用,支持 100+ 模型服務(wù)商,尤其適合需要多模型切換的場(chǎng)景。
項(xiàng)目
- 文檔地址:https://docs.litellm.ai
- GITHUB: https://github.com/BerriAI/litellm
特點(diǎn)
- 統(tǒng)一接口:所有模型的調(diào)用方式與 OpenAI 完全一致。
- 廣泛支持:覆蓋國(guó)內(nèi)外主流模型(包括阿里云、DeepSeek 等國(guó)內(nèi)廠商)。
- 靈活配置:支持自定義 API 端點(diǎn)(兼容 OpenAI 格式的私有化部署模型)。
- 高級(jí)功能:內(nèi)置重試、限流、日志、成本計(jì)算等工具。
安裝
// 安裝litellm,只使用代理模式可以不用安裝
pip install litellm
// 安裝litellm代理
pip install litellm[proxy]
簡(jiǎn)單示例
以DeepSeek為例子,https://platform.deepseek.com/申請(qǐng)KEY。
import litellm
import os
os.environ["DEEPSEEK_API_KEY"] = "申請(qǐng)KEY"
text = "參考刀郎《羅剎海市》寫一首歌,描繪現(xiàn)在打工人生活的歌,嚴(yán)格按照原歌詞斷句及長(zhǎng)度"
response = litellm.completion(
model="deepseek-chat",
api_base="https://api.deepseek.com/v1", # DeepSeek 的 API 地址
messages=[
{"role": "user", "content": text}]
)
print(response.choices[0].message.content)
高級(jí)功能
(1) HTTP代理
由于國(guó)外API不能直接訪問(wèn),需要增加代理功能。litellm增加代理非常加單 .
添加如下代碼即可。
os.environ["http_proxy"] = "http://127.0.0.1:7890"
(2) 流處理
response = completion(..., stream=True)
(3) 錯(cuò)誤處理
try:
response = completion(...)
except RateLimitError:
print("觸發(fā)速率限制,自動(dòng)重試中...")
except Exception as e:
print(f"請(qǐng)求失敗: {e}")
使用代理
LiteLLM代理是一個(gè)終端命令行工具,提供了一系列參數(shù)配置。
litellm --help
通過(guò)docker本地部署大模型,通過(guò)yaml配置文件進(jìn)行配置
model_list:
- model_name: deepseek-local
litellm_params:
model: huggingface/custom
api_base: http://localhost:8000 # 或 TGI 的 8080 端口
api_key: "dummy" # 本地服務(wù)無(wú)需真實(shí) key
啟動(dòng)本地服務(wù):
litellm --config config.yaml
LiteLLM 是一款開源、輕量級(jí)的大語(yǔ)言模型(LLM)統(tǒng)一接口庫(kù),旨在簡(jiǎn)化多模型管理與調(diào)用。
核心功能包括故障轉(zhuǎn)移、負(fù)載均衡、成本跟蹤和流式輸出,顯著提升開發(fā)效率與系統(tǒng)魯棒性。
支持本地模型代理(如通過(guò) Hugging Face 或自定義 API 部署),可將私有模型無(wú)縫接入現(xiàn)有架構(gòu),并集成 LangChain、LlamaIndex 等工具,
具體使用請(qǐng)參考官方文檔。