Atjaunināts 2025. gada 25. sep
6 min
# Pythonpip install litellm# Node.jsnpm install litellm# Piemērs: izmantojot OpenAI + Anthropic + Mistralexport OPENAI_API_KEY=sk-...export ANTHROPIC_API_KEY=sk-ant-...export MISTRAL_API_KEY=sk-mis-...from litellm import completionresp = completion(model="gpt-4o-mini", # or "anthropic/claude-3-5-sonnet", "mistral/mistral-large"messages=.---## Straumēšana, rīki un JSON režīms### Straumēšanas atbildes```pythonfrom litellm import completionfor chunk in completion(model="gpt-4o-mini",messages=.### Izmaksas un žetonu izmantošanaLiteLLM var izsekot žetonu izmantošanu un novērtēt izmaksas par pieprasījumu, modeli vai projektu. Izmantojot starpniekserveri, jūs varat eksportēt lietojumu žurnālos, informācijas paneļos vai norēķinu vietā. Tas ir nenovērtējami, ja jūs sajaucat piegādātājus ar dažādām cenām.---## LiteLLM starpniekserveris (LLM vārteja)Ja esat komanda vai platforma, starpniekserveris ir īstais lielvalsts: centrāls pakalpojums ar maršrutēšanu, autentifikāciju, ātruma ierobežojumiem, reģistrēšanu un novērojamību. Jūs mijiedarbojaties ar to, izmantojot OpenAI API virsmu, lai jūsu lietotnes kods gandrīz nemainītos.### Palaidiet starpniekserveri```bash# vienkāršākā lokālā palaišanalitellm --port 4000/v1/chat/completions. Norādiet savu esošo OpenAI klientu uz ` un viss ir gatavs.config.yaml:model_list:- model_name: gpt-4o-minilitellm_params:model: openai/gpt-4o-miniapi_key: ${OPENAI_API_KEY}- model_name: claude-3-5-sonnetlitellm_params:model: anthropic/claude-3-5-sonnetapi_key: ${ANTHROPIC_API_KEY}router:strategy: simple_weightedroutes:- model: gpt-4o-miniweight: 0.6- model: claude-3-5-sonnetweight: 0.4rate_limits:requests_per_minute: 120logging:level: infosink: stdoutauth:api_keys:- key: svc-app-123litellm --config config.yaml --port 4000from openai import OpenAIclient = OpenAI(base_url=" api_key="svc-app-123")resp = client.chat.completions.create(model="gpt-4o-mini",messages=.---## Uzlabota maršrutēšana: latentums, izmaksas vai uzticamībaJūs varat ieviest maršrutēšanas stratēģijas, piemēram:- Svērtais apļveida princips A/B modeļiem- Zemākais latentums vispirms pēc reģiona- Izmaksu ziņā apzinīga maršrutēšana nekritiskiem galapunktiem- Atkāpšanās no kļūdas/atkārtoti mēģinājumi dažādiem pakalpojumu sniedzējiemIzmantojot maršrutētāja politiku, jūs varat teikt: "Dodiet priekšroku lētam, atkāpieties uz premium klases piedāvājumu grūtām uzvednēm." Tas piedāvā augstu pieejamību un paredzamus budžetus.---## Aizsargmehānismi, moderēšana un drošībaPievienojiet pirms un pēc apstrādes starpprogrammatūru, lai noņemtu PII, piemērotu drošības filtrus vai moderētu izvades pirms atgriešanas klientiem. Apvienojiet pakalpojumu sniedzēja sākotnējo moderēšanu (piemēram, OpenAI, Google) ar savām politikas pārbaudēm starpniekserverī. Piemērs: pieprasiet JSON shēmas validāciju un atkārtoti jautājiet, ja tā ir nederīga.---## Novērojamība un reģistrēšana- Iespējojiet pieprasījumu/atbilžu reģistrēšanu ar rediģēšanu.- Eksportējiet metrikas uz Prometheus/Grafana vai savu APM.- Izsekojiet latentumu, žetonus un izmaksas pēc galapunkta un lietotāja.Tas pārvērš "modeļa ruleti" par pārvaldītu pakalpojumu ar SLO un budžetiem.---## Reālās pasaules lietojuma modeļi1) Vairāku piegādātāju noturība- Primārais: ātrs/lēts modelis; Atkāpšanās: augstas precizitātes modelis 429/5xx gadījumā.- Ieguvumi: labāks darbspējas laiks, izmaksu kontrole un stabila kvalitāte.2) Funkciju karoga modeļa jauninājumi- Izmantojiet maršrutētāja svarus, lai kanārijputniņu jaunu modeli 5% no datplūsmas; uzraudzīt metrikas; palieliniet, kad tas ir stabils.3) Produktu līmeņi- Bezmaksas līmenis tiek maršrutēts uz maziem modeļiem; Pro līmenis uz premium klases modeļiem.4) Uzvedņu reģistri un veidnes- Centralizējiet uzvednes starpniekserverī, lai pakalpojumi pārmantotu uzlabojumus bez atkārtotas izvietošanas.5) Komandas norēķini un budžeti- Izsekojiet tēriņus pēc API atslēgas; piemērot mīkstus un stingrus ierobežojumus katrai komandai vai produktam.---## Drošības un atbilstības kontrolsaraksts- Glabājiet pakalpojumu sniedzēja atslēgas savā slepenajā pārvaldniekā; norādiet, izmantojot vides mainīgos lielumus konfigurācijā.- Ieslēdziet pieprasījumu rediģēšanu un PII attīrīšanu žurnālos.- Izmantojiet API atslēgas katram pakalpojumam starpniekserverim; regulāri rotējiet.- Iestatiet ātruma ierobežojumus un kvotas visai organizācijai.- Pievienojiet atļauto/liegto sarakstus modeļiem un galapunktiem.---## Traucējummeklēšana: ātri labojumi- "Neautorizēts" caur starpniekserveri: pārbaudiet `auth.api_keys` un vai jūsu klients izmanto `base_url` + pareizu atslēgu.- Modelis nav atrasts: pārliecinieties, vai `model_list` satur draudzīgo nosaukumu, kuru zvanāt.- Taimauti: palieliniet `timeout` vai maršrutējiet uz reģionu ar zemāku latentumu.- Dīvainas izvades: iespējojiet JSON shēmu + validāciju; pievienojiet atkārtotus mēģinājumus un atkāpšanās.- Izmaksu lēcieni: ieslēdziet kešatmiņas izmantošanu; maršrutējiet lielapjoma datplūsmu uz lētākiem modeļiem; iestatiet kvotas katrai atslēgai.Lai iegūtu padziļinātu informāciju un jaunākās funkcijas, oficiālā dokumentācija tiek atjaunināta bieži, un to ir vērts pievienot grāmatzīmēm. Apmācības, piemēram, DataCamp ceļvedis, ir lieliski piemērotas praktiskiem modeļiem, un iesācēju ātrā kursa video var palīdzēt jums redzēt koncepcijas darbībā.---## Apvienojiet to visu: atsauces lietotnes skelets (Python FastAPI)```python# app.pyfrom fastapi import FastAPIfrom pydantic import BaseModelfrom litellm import completionimport osclass ChatReq(BaseModel):question: strapp = FastAPI@app.post("/ask")async def ask(req: ChatReq):resp = completion(model=os.getenv("DEFAULT_MODEL", "gpt-4o-mini"),messages=.### FAQQ1:Kas ir LiteLLM un kāpēc to izmantot, nevis tiešos pakalpojumu sniedzēju SDK?LiteLLM ir ar OpenAI saderīga vārteja 100+ LLM, kas nodrošina vienu API un vienu mentālo modeli. Tas samazina piesaisti piegādātājam, vienkāršo maršrutēšanu un pievieno darbību funkcijas, piemēram, kešatmiņas izmantošanu, atkārtotus mēģinājumus un izmaksu uzskaiti.Q2:Kā es varu izmantot LiteLLM ar OpenAI SDK?Norādiet SDK bāzes URL uz LiteLLM starpniekserveri un izmantojiet savu starpniekservera API atslēgu. Jūsu kods var palikt nemainīgs, kamēr starpniekserveris aizkulisēs nomaina pakalpojumu sniedzējus vai modeļus.Q3:Vai LiteLLM var straumēt atbildes un atgriezt JSON?Jā. Izmantojiet `stream=True`, lai iegūtu žetonu straumes, un `response_format` ar JSON shēmu, lai nodrošinātu strukturētu izvadi dažādiem pakalpojumu sniedzējiem.Q4:Kā es varu kontrolēt izmaksas dažādiem LLM pakalpojumu sniedzējiem?Iespējojiet lietojuma reģistrēšanu un izmaksu aprēķināšanu, pievienojiet kešatmiņas izmantošanu, iestatiet ātruma ierobežojumus un maršrutējiet lielapjoma datplūsmu uz lētākiem modeļiem, izmantojot starpniekserveri. Uzraugiet ar informācijas paneļiem budžetus un SLO.Q5:Vai LiteLLM ir piemērots ražošanas komandām?Jā. Starpniekserveris nodrošina autentifikāciju, ātruma ierobežojumus, maršrutēšanu, novērojamību un drošības starpprogrammatūru. Tas ir paredzēts kā LLM vārteja, kas centralizē pārvaldību, vienlaikus saglabājot jūsu lietotni saderīgu ar OpenAI.
Kā apgūt ChatPDF: ātrāka ieskatu iegūšana no blīviem dokumentiem

Labākā X automātiskās tulkošanas alternatīva ātriem un precīziem dokumentiem

Samsung AI tulkošana Irānā nav pieejama? Praktiski risinājumi

Persiešu tulkošanas rīki: praktisks ceļvedis ātrākam un precīzākam darbam

Labākā Grok alternatīva dziļām, atsaucēm bagātām pētniecībām

Top 15 AI attēlu ģeneratora funkcijas, kuras jūs patiešām izmantosiet