Zaktualizowano 25 wrz 2025
6 min
# Pythonpip install litellm# Node.jsnpm install litellm# Przykład: użycie 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", # lub "anthropic/claude-3-5-sonnet", "mistral/mistral-large"messages=.---## Strumieniowanie, narzędzia i tryb JSON### Strumieniowanie odpowiedzi```pythonfrom litellm import completionfor chunk in completion(model="gpt-4o-mini",messages=.### Koszt i wykorzystanie tokenówLiteLLM może śledzić wykorzystanie tokenów i szacować koszt na żądanie, model lub projekt. Dzięki proxy możesz eksportować użycie do logów, paneli kontrolnych lub zbiorczego rozliczenia. Jest to nieocenione, gdy mieszasz dostawców z różnymi cenami.---## Proxy LiteLLM (bramka LLM)Jeśli jesteś zespołem lub platformą, proxy jest prawdziwą supermocą: centralną usługą z routingiem, uwierzytelnianiem, limitami szybkości, logowaniem i obserwacją. Wchodzisz z nim w interakcję za pomocą interfejsu OpenAI API, więc kod Twojej aplikacji prawie się nie zmienia.### Uruchom proxy```bash# najprostsze lokalne uruchomienielitellm --port 4000/v1/chat/completions. Skieruj swojego istniejącego klienta OpenAI na ` i gotowe.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=.---## Zaawansowany routing: latencja, koszt lub niezawodnośćMożesz wdrożyć strategie routingu, takie jak:- Ważony round-robin do A/B modeli- Najniższa latencja najpierw według regionu- Routing uwzględniający koszty dla niekrytycznych punktów końcowych- Awaryjne przełączanie/ponawianie prób u różnych dostawcówDzięki polityce routera możesz powiedzieć „preferuj tanie, w razie potrzeby przełączaj się na premium dla trudnych promptów”. Zapewnia to wysoką dostępność i przewidywalne budżety.---## Zabezpieczenia, moderacja i bezpieczeństwoDodaj oprogramowanie pośredniczące do wstępnego i końcowego przetwarzania, aby usunąć dane osobowe, wymusić filtry bezpieczeństwa lub moderować dane wyjściowe przed powrotem do klientów. Połącz natywną moderację dostawcy (np. OpenAI, Google) z własnymi kontrolami zasad w proxy. Przykład: wymagaj walidacji schematu JSON i ponów pytanie, gdy jest nieprawidłowy.---## Obserwowalność i logowanie- Włącz logowanie żądań/odpowiedzi z redakcją.- Eksportuj metryki do Prometheus/Grafana lub swojego APM.- Śledź latencję, tokeny i koszt według punktu końcowego i użytkownika.To zamienia „ruletkę modeli” w zarządzaną usługę z SLO i budżetami.---## Rzeczywiste wzorce użytkowania1) Odporność na wielu dostawców- Podstawowy: szybki/tani model; Awaryjny: model o wysokiej dokładności w przypadku 429/5xx.- Korzyści: lepszy czas działania, kontrola kosztów i stabilna jakość.2) Ulepszenia modelu flagi funkcji- Użyj wag routera, aby wprowadzić nowy model do 5% ruchu; monitoruj metryki; zwiększaj, gdy jest stabilny.3) Poziomy produktu- Bezpłatny poziom kierowany do małych modeli; Poziom Pro do modeli premium.4) Rejestry i szablony promptów- Scentralizuj prompty w proxy, aby usługi dziedziczyły ulepszenia bez ponownego wdrażania.5) Rozliczenia i budżety zespołowe- Śledź wydatki według klucza API; egzekwuj miękkie i twarde limity na zespół lub produkt.---## Lista kontrolna bezpieczeństwa i zgodności- Przechowuj klucze dostawcy w swoim menedżerze haseł; odwołuj się za pomocą zmiennych środowiskowych w konfiguracji.- Włącz redakcję żądań i usuwanie danych osobowych w logach.- Używaj kluczy API dla poszczególnych usług dla proxy; regularnie je zmieniaj.- Ustaw limity szybkości i limity dla całej organizacji.- Dodaj listy dozwolonych/zabronionych dla modeli i punktów końcowych.---## Rozwiązywanie problemów: Szybkie poprawki- „Nieautoryzowany” przez proxy: Sprawdź `auth.api_keys` i czy Twój klient używa `base_url` + poprawnego klucza.- Nie znaleziono modelu: Upewnij się, że `model_list` zawiera przyjazną nazwę, której używasz.- Limity czasu: Zwiększ `timeout` lub skieruj do regionu dostawcy o niższej latencji.- Dziwne dane wyjściowe: Włącz schemat JSON + walidację; dodaj ponawianie prób i awaryjne przełączanie.- Skoki kosztów: Włącz buforowanie; kieruj ruch zbiorczy do tańszych modeli; ustaw limity na klucz.Aby uzyskać bardziej szczegółowe informacje i najnowsze funkcje, oficjalna dokumentacja jest często aktualizowana i warto dodać ją do zakładek. Samouczki, takie jak przewodnik DataCamp, są świetne do praktycznych wzorców, a film z kursem wprowadzającym dla początkujących może pomóc zobaczyć koncepcje w akcji.---## Połącz to wszystko razem: Szkielet aplikacji referencyjnej (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=.### FAQP1: Czym jest LiteLLM i dlaczego warto go używać zamiast bezpośrednich SDK dostawców?LiteLLM to brama kompatybilna z OpenAI dla ponad 100 LLM, dająca jedno API i jeden model mentalny. Zmniejsza zależność od dostawcy, upraszcza routing i dodaje funkcje operacyjne, takie jak buforowanie, ponawianie prób i śledzenie kosztów.P2: Jak używać LiteLLM z OpenAI SDK?Skieruj adres URL podstawowy SDK do proxy LiteLLM i użyj klucza API proxy. Twój kod może pozostać taki sam, podczas gdy proxy zmienia dostawców lub modele w tle.P3: Czy LiteLLM może przesyłać strumieniowo odpowiedzi i zwracać JSON?Tak. Użyj `stream=True`, aby uzyskać strumienie tokenów, i `response_format` ze schematem JSON, aby wymusić ustrukturyzowane dane wyjściowe u różnych dostawców.P4: Jak kontrolować koszty u różnych dostawców LLM?Włącz logowanie użycia i szacowanie kosztów, dodaj buforowanie, ustaw limity szybkości i kieruj ruch zbiorczy do tańszych modeli za pośrednictwem proxy. Monitoruj za pomocą paneli kontrolnych dla budżetów i SLO.P5: Czy LiteLLM nadaje się dla zespołów produkcyjnych?Tak. Proxy zapewnia uwierzytelnianie, limity szybkości, routing, obserwowalność i oprogramowanie pośredniczące bezpieczeństwa. Został zaprojektowany jako brama LLM, która centralizuje zarządzanie, zachowując kompatybilność aplikacji z OpenAI.
Jak opanować ChatPDF: szybsze uzyskiwanie informacji z obszernych dokumentów

Najlepsza alternatywa dla X Auto-Translation do szybkiego i dokładnego tłumaczenia dokumentów

Tłumaczenie AI Samsung niedostępne w Iranie? Praktyczne rozwiązania

Narzędzia do tłumaczenia perskiego: praktyczny przewodnik po szybszej i dokładniejszej pracy

Najlepsza alternatywa dla Grok do dogłębnych, cytowanych badań

15 najważniejszych funkcji generatora obrazów AI, które naprawdę wykorzystasz