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