一調(diào)用100+模型API:新手完整指南)
如何用LiteLLM統(tǒng)一調(diào)用100模型API新手完整指南【免費(fèi)下載鏈接】litellmThe fastest, litest AI Gateway. Rust core with Python SDK. Call 100 LLM APIs in OpenAI (or native) format with cost tracking, guardrails, load balancing, and logging [Bedrock, Azure, OpenAI, Anthropic, OpenAI, VertexAI, vLLM, Nvidia NIM]項(xiàng)目地址: https://gitcode.com/GitHub_Trending/li/litellm還在為每個(gè)模型API單獨(dú)寫一套對(duì)接代碼嗎從GPT換到Claude請(qǐng)求格式、鑒權(quán)方式、錯(cuò)誤處理都得重寫一遍。LiteLLM是一個(gè)開源AI網(wǎng)關(guān)相當(dāng)于統(tǒng)一代理層讓你用OpenAI一種格式調(diào)用100多種LLM自帶成本追蹤、負(fù)載均衡和日志記錄。它解決什么問題它面向要用兩個(gè)及以上LLM廠商的開發(fā)者或團(tuán)隊(duì)解決三件事不用為每家廠商的SDK各寫一套適配代碼切換模型或廠商時(shí)不用改業(yè)務(wù)邏輯各項(xiàng)目的token花費(fèi)不用人工對(duì)賬單。你可以把它當(dāng)Python SDK直接import也可以部署成團(tuán)隊(duì)共享的AI網(wǎng)關(guān)。三分鐘上手安裝并發(fā)起第一次調(diào)用三步跑通安裝SDK設(shè)置廠商API密鑰環(huán)境變量發(fā)起一次模型調(diào)用pip install litellm export OPENAI_API_KEY你的密鑰具體調(diào)用代碼放在文末實(shí)戰(zhàn)部分就是一次函數(shù)調(diào)用。核心場(chǎng)景拆解場(chǎng)景一一個(gè)接口調(diào)用任意模型場(chǎng)景線上跑GPT想測(cè)試Claude的效果或故障時(shí)降級(jí)到更便宜的模型。步驟所有模型都走同一個(gè)completion()函數(shù)區(qū)別只在模型名前綴——openai/gpt-4o、anthropic/claude-sonnet-4-20250514、azure/gpt-4o消息體messages統(tǒng)一用OpenAI格式。效果改一行model參數(shù)就完成換廠商請(qǐng)求、響應(yīng)、錯(cuò)誤結(jié)構(gòu)都保持OpenAI兼容已有OpenAI SDK代碼只需替換導(dǎo)入方式即可遷移。場(chǎng)景二十分鐘部署團(tuán)隊(duì)級(jí)AI網(wǎng)關(guān)場(chǎng)景團(tuán)隊(duì)多個(gè)項(xiàng)目各自持有API密鑰花費(fèi)沒人統(tǒng)計(jì)還擔(dān)心有人調(diào)了未授權(quán)的高價(jià)模型。步驟執(zhí)行pip install litellm[proxy]安裝網(wǎng)關(guān)在proxy_server_config.yaml中配置允許使用的模型清單model_list和主密鑰運(yùn)行l(wèi)itellm --config proxy_server_config.yaml啟動(dòng)客戶端把OpenAI SDK的base_url指向網(wǎng)關(guān)并攜帶各自的虛擬密鑰。效果在管理面板給每個(gè)項(xiàng)目或團(tuán)隊(duì)發(fā)獨(dú)立虛擬密鑰按密鑰統(tǒng)計(jì)token消耗與花費(fèi)重試、負(fù)載均衡、健康檢查開箱即用還能給不同項(xiàng)目設(shè)置不同預(yù)算。 如果想把每次調(diào)用的token量、延遲、花費(fèi)落到可查詢的監(jiān)控面板LiteLLM可以把調(diào)用日志同步到Langfuse等可觀測(cè)工具動(dòng)手實(shí)戰(zhàn)一個(gè)能跑通的小示例import os from litellm import completion os.environ[OPENAI_API_KEY] 你的密鑰 # 設(shè)置好你的key # 用OpenAI格式統(tǒng)一調(diào)用任意模型 response completion( modelgpt-4o, # 換成 anthropic/claude-sonnet-4-20250514 即可換廠商 messages[{role: user, content: 只用一個(gè)單詞回復(fù)你好}], ) print(response.choices[0].message.content) # 模型回復(fù)文本 print(response.cost) # 本次調(diào)用的花費(fèi)自動(dòng)計(jì)算預(yù)期輸出第一行是模型回復(fù)如你好第二行是一個(gè)美元金額數(shù)字約 0.0004 左右。注意兩點(diǎn)響應(yīng)結(jié)構(gòu)和OpenAI SDK完全一致方便遷移舊代碼response.cost是LiteLLM根據(jù)內(nèi)置價(jià)格表自動(dòng)算好的不用自己查單價(jià)。避坑指南4個(gè)最常遇到的報(bào)錯(cuò) 401認(rèn)證失敗現(xiàn)象調(diào)用直接拋 AuthenticationError。 原因LiteLLM按模型前綴找對(duì)應(yīng)廠商的keyanthropic/開頭的模型讀的是ANTHROPIC_API_KEY不會(huì)去用OPENAI_API_KEY。 解決導(dǎo)出對(duì)應(yīng)廠商的環(huán)境變量或在調(diào)用參數(shù)里直接傳api_key。無效參數(shù)報(bào)錯(cuò)現(xiàn)象傳了 temperature 等參數(shù)時(shí)報(bào)錯(cuò)。 原因目標(biāo)模型不支持該參數(shù)但請(qǐng)求里帶了它。 解決在配置中開啟drop_paramsLiteLLM會(huì)自動(dòng)剔除模型不認(rèn)識(shí)的參數(shù)。成本顯示為空現(xiàn)象response.cost是 None。 原因模型名和LiteLLM內(nèi)置價(jià)格表對(duì)不上比如自定義模型的命名不規(guī)范。 解決用官方模型名自定義模型在配置里顯式聲明input_cost_per_token單價(jià)。網(wǎng)關(guān)請(qǐng)求全部401/403現(xiàn)象連網(wǎng)關(guān)的任何接口都報(bào)無權(quán)限。 原因網(wǎng)關(guān)開了master_key強(qiáng)制鑒權(quán)但請(qǐng)求頭沒帶虛擬密鑰。 解決請(qǐng)求頭加Authorization: Bearer 你的虛擬密鑰密鑰在管理面板中創(chuàng)建。先挑項(xiàng)目里一處模型調(diào)用改成LiteLLM格式改一行model參數(shù)試試能不能換個(gè)廠商跑通。更多部署與配置細(xì)節(jié)見項(xiàng)目README?!久赓M(fèi)下載鏈接】litellmThe fastest, litest AI Gateway. Rust core with Python SDK. Call 100 LLM APIs in OpenAI (or native) format with cost tracking, guardrails, load balancing, and logging [Bedrock, Azure, OpenAI, Anthropic, OpenAI, VertexAI, vLLM, Nvidia NIM]項(xiàng)目地址: https://gitcode.com/GitHub_Trending/li/litellm創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考