Atnaujinta 2025 m. rugsėjo 25 d.
6 min
# Pythonpip install litellm# Node.jsnpm install litellm# Pavyzdys: naudojant 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=.---## Srautinis perdavimas, įrankiai ir JSON režimas### Srautinio perdavimo atsakymai```pythonfrom litellm import completionfor chunk in completion(model="gpt-4o-mini",messages=.### Išlaidos ir žetonų naudojimasLiteLLM gali stebėti žetonų naudojimą ir įvertinti išlaidas vienai užklausai, modeliui ar projektui. Naudodami tarpinį serverį galite eksportuoti naudojimą į žurnalus, informacijos suvestines arba atsiskaitymo šaltinį. Tai neįkainojama, kai naudojate skirtingus tiekėjus su skirtingomis kainomis.---## LiteLLM tarpinis serveris (LLM šliuzas)Jei esate komanda ar platforma, tarpinis serveris yra tikra supergalia: centrinė paslauga su maršrutizavimu, autentifikavimu, dažnio apribojimais, registravimu ir stebėjimu. Jūs sąveikaujate su juo naudodami OpenAI API paviršių, todėl jūsų programos kodas beveik nesikeičia.### Paleiskite tarpinį serverį```bash# paprasčiausias vietinis paleidimaslitellm --port 4000/v1/chat/completions. Nukreipkite savo esamą OpenAI klientą į ` ir esate pasiruošę.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=.---## Išplėstinis maršrutizavimas: latentinis periodas, išlaidos ar patikimumasGalite įdiegti tokias maršrutizavimo strategijas kaip:- Svorinis apskritas stalas A/B modeliams- Mažiausio latentinio periodo pirmasis pagal regioną- Į sąnaudas orientuotas maršrutizavimas ne kritiniams galiniams taškams- Atsarginis variantas įvykus klaidai / pakartotinis bandymas tarp tiekėjųNaudodami maršrutizatoriaus politiką galite pasakyti „teikite pirmenybę pigiam, pereikite prie aukščiausios kokybės sunkiems raginimams“. Tai užtikrina didelį prieinamumą ir nuspėjamus biudžetus.---## Apsaugos priemonės, moderavimas ir saugaPridėkite išankstinio ir po apdorojimo tarpinės programinės įrangos, kad pašalintumėte PII, įgyvendintumėte saugos filtrus arba moderuotumėte rezultatus prieš grąžindami juos klientams. Sujunkite teikėjo gimtąjį moderavimą (pvz., OpenAI, Google) su savo politikos patikrinimais tarpiniame serveryje. Pavyzdys: reikalaukite JSON schemos patvirtinimo ir vėl klauskite, kai ji neteisinga.---## Stebėjimas ir registravimas- Įgalinkite užklausų/atsakymų registravimą su redagavimu.- Eksportuokite metriką į Prometheus/Grafana arba savo APM.- Sekite latentinį periodą, žetonus ir išlaidas pagal galinį tašką ir vartotoją.Tai paverčia „modelio rulete“ valdoma paslauga su SLO ir biudžetais.---## Realaus pasaulio naudojimo modeliai1) Atsparumas keliems tiekėjams- Pagrindinis: greitas/pigus modelis; Atsarginis: didelio tikslumo modelis 429/5xx.- Privalumai: geresnis veikimo laikas, išlaidų kontrolė ir stabili kokybė.2) Funkcijų vėliavos modelio atnaujinimai- Naudokite maršrutizatoriaus svorius, kad kanarėlių naują modelį 5 % srauto; stebėkite metriką; padidinkite, kai stabilus.3) Produktų pakopos- Nemokama pakopa nukreipiama į mažus modelius; Pro pakopa į aukščiausios kokybės modelius.4) Ragintų registrai ir šablonai- Centralizuokite raginimus tarpiniame serveryje, kad paslaugos paveldėtų patobulinimus be naujų diegimų.5) Komandos atsiskaitymas ir biudžetai- Sekite išlaidas pagal API raktą; įgyvendinkite švelnius ir griežtus apribojimus vienai komandai ar produktui.---## Saugos ir atitikties kontrolinis sąrašas- Saugokite teikėjo raktus savo paslapčių tvarkytuve; nurodykite per aplinkos kintamuosius konfigūracijoje.- Įjunkite užklausų redagavimą ir PII valymą žurnaluose.- Naudokite kiekvienai paslaugai API raktus tarpiniam serveriui; reguliariai rotuokite.- Nustatykite visos organizacijos dažnio apribojimus ir kvotas.- Pridėkite leidžiamų sąrašus / draudžiamų sąrašus modeliams ir galiniams taškams.---## Trikčių šalinimas: greiti pataisymai- „Neautorizuotas“ per tarpinį serverį: patikrinkite `auth.api_keys` ir ar jūsų klientas naudoja `base_url` + teisingą raktą.- Modelio nerasta: įsitikinkite, kad `model_list` yra draugiškas pavadinimas, kurį iškviečiate.- Skirtasis laikas: padidinkite `timeout` arba nukreipkite į mažesnio latentinio periodo teikėjo regioną.- Keisti rezultatai: įgalinkite JSON schemą + patvirtinimą; pridėkite pakartotinius bandymus ir atsarginius variantus.- Išlaidų šuoliai: įjunkite talpyklos atmintį; nukreipkite didelį srautą į pigesnius modelius; nustatykite kiekvieno rakto kvotas.Norėdami gauti išsamesnių apžvalgų ir naujausių funkcijų, oficialūs dokumentai yra dažnai atnaujinami ir juos verta pažymėti. Tokios pamokos kaip DataCamp vadovas puikiai tinka praktiniams modeliams, o pagreitintas vaizdo įrašų kursas pradedantiesiems gali padėti jums pamatyti sąvokas veiksme.---## Sudėkite viską: etaloninės programos skeletas (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=.### DUKQ1:Kas yra LiteLLM ir kodėl jį naudoti vietoje tiesioginių teikėjo SDK?LiteLLM yra su OpenAI suderinamas šliuzas, skirtas daugiau nei 100 LLM, suteikiantis jums vieną API ir vieną protinį modelį. Jis sumažina tiekėjo priklausomybę, supaprastina maršrutizavimą ir prideda operacijų funkcijų, tokių kaip talpyklos atmintis, pakartotiniai bandymai ir išlaidų stebėjimas.Q2:Kaip naudoti LiteLLM su OpenAI SDK?Nukreipkite SDK bazinį URL į LiteLLM tarpinį serverį ir naudokite savo tarpinio serverio API raktą. Jūsų kodas gali likti toks pat, o tarpinis serveris pakeičia tiekėjus arba modelius užkulisiuose.Q3:Ar LiteLLM gali srautiniu būdu perduoti atsakymus ir grąžinti JSON?Taip. Naudokite `stream=True`, kad gautumėte žetonų srautus, ir `response_format` su JSON schema, kad įgyvendintumėte struktūrizuotus rezultatus tarp tiekėjų.Q4:Kaip kontroliuoti išlaidas tarp skirtingų LLM teikėjų?Įgalinkite naudojimo registravimą ir išlaidų įvertinimą, pridėkite talpyklos atmintį, nustatykite dažnio apribojimus ir nukreipkite didelį srautą į pigesnius modelius per tarpinį serverį. Stebėkite su informacijos suvestinėmis, kad gautumėte biudžetus ir SLO.Q5:Ar LiteLLM tinka gamybos komandoms?Taip. Tarpinis serveris suteikia autentifikavimą, dažnio apribojimus, maršrutizavimą, stebėjimą ir saugos tarpinę programinę įrangą. Jis sukurtas kaip LLM šliuzas, kuris centralizuoja valdymą, išlaikant jūsų programos suderinamumą su OpenAI.
Kaip įvaldyti ChatPDF: Greitesnės įžvalgos iš sudėtingų dokumentų

Geriausia X automatinio vertimo alternatyva greitiems ir tiksliems dokumentams

„Samsung“ AI vertimas neprieinamas Irane? Praktiniai sprendimai

Persų kalbos vertimo įrankiai: praktiškas vadovas greitesniam ir tikslesniam darbui

Geriausia Grok alternatyva giluminiams, cituojamiems tyrimams

15 geriausių AI vaizdų generatoriaus funkcijų, kurias iš tikrųjų naudosite