Du-te la conținut

LiteLLM # Ollama API Backend - Tutoriale IT & Tech

Omite meniul
Tutoriale IT & Tech

Tutoriale

IT & Tech

Invertorul EaSun SMW 8KW 48v 2xMPPT - Tutoriale IT & Tech
Setare Cookie
Pagina cu Butoane
Descriere:

Continuăm aventura noastră AI 🚀
În acest tutorial am să vă arăt cum se poate instala cel mai simplu și mai ușor pe un server Linux aplicația LiteLLM.
Am ales această variantă (fără Docker) tocmai pentru că, pentru utilizatorul final, este mult, mult mai ușor de gestionat.
Da, instalarea e puțin mai complicată, în sensul că aplicația trebuie făcută să pornească automat (și asta e cam cea mai "dificilă" parte), dar configurarea
ulterioară e mult mai flexibilă și eficientă.
📌 Eu am instalat LiteLLM pe același server pe care rulează și Ollama, și asta e și recomandarea mea – să le ții pe același sistem.
⚠️ Aplicația nu ar trebui să aibă acces din exterior, e bine să rămână locală.

OK, dar ce este LiteLLM?
Pe scurt, nativ, interfața OpenWebUI știe să comunice cu LLM-urile descărcate local (ex: Ollama sau Mistral) și folosește puterea serverului pentru a
procesa cererile, dar, în același timp, interfața știe să comunice doar cu API-ul OpenAI – nimic altceva extern. Aici intervine LiteLLM, care este un proxy
între OpenWebUI și aproape orice API de LLM de pe internet. Până acum eu am testat doar câteva (OpenAI, Anthropic, Mistral și Groq), dar pe net se
laudă că suportă și altele.

Instalarea LiteLLM
Acum că am înțeles ce face și de ce ne trebuie, să trecem la instalarea propriu-zisă.
💡 Așa cum te-ai obișnuit, copiezi și rulezi comenzile de mai jos una câte una pe serverul tău Linux.
În acest prim set de comenzi, nu trebuie să schimbi nimic – doar rulezi liniștit.
Copiază Comanda
sudo -i
apt update
						apt install -y python3-full python3-pip python3-venv
python3 -m venv /opt/litellm-env
/opt/litellm-env/bin/pip install litellm[proxy]
/opt/litellm-env/bin/pip list | grep litellm
Dacă ai ajuns până aici și toate planetele s-au aliniat, atunci ar trebui să ai LiteLLM instalat pe server.
Dar, așa cum am menționat și mai devreme, aplicația nu va porni automat la fiecare restart, așa că ai două variante:
  • Să o pornești manual de fiecare dată (ceea ce devine obositor),
  • Sau să creezi un fișier de serviciu, care se ocupă de lansare automat.
🔧 Recomandarea mea clară este să optezi pentru varianta automatizată.

Ce ai de făcut?
Tot ce trebuie să faci este să rulezi comenzile de mai jos una câte una pe serverul Linux unde ai instalat LiteLLM.
✅ După finalizarea procesului, poți accesa interfața LiteLLM din browser la adresa:
http://IP-UL-SERVERULUI:4000

Notă importantă:
  • Dacă ai repornit serverul între timp, asigură-te că rulezi comenzile ca root, folosind: sudo -i
    (asta pentru că și instalarea LiteLLM a fost făcută cu drepturi root).
  • Totodată, recomand un restart final al serverului, ca să te asiguri că totul pornește corect și automat.
Copiază Comanda
cat > /usr/local/bin/start-litellm.sh << EOF
						#!/bin/bash
						source /opt/litellm-env/bin/activate
						
						# Adaptați această comandă în funcție de outputul comenzii "litellm --help"
						# Dacă "--proxy" există ca opțiune, folosiți:
						# litellm --proxy --port 4000 --host 0.0.0.0
						# Dacă nu există, folosiți:
						litellm --port 4000 --host 0.0.0.0
						EOF
						
						chmod +x /usr/local/bin/start-litellm.sh
cat > /etc/systemd/system/litellm.service << EOF
						[Unit]
						Description=LiteLLM Service
						After=network.target
						
						[Service]
						ExecStart=/usr/local/bin/start-litellm.sh
						Restart=always
						User=root
						RestartSec=10
						
						[Install]
						WantedBy=multi-user.target
						EOF
systemctl daemon-reload
						systemctl enable litellm.service
						systemctl start litellm.service
systemctl status litellm.service
netstat -tulpn | grep 4000
În mod normal, acum totul ar trebui să fie gata de utilizare.
Dacă poți accesa interfața web a LiteLLM, înseamnă că totul funcționează corect.

Următorul pas este să îți arăt cum conectezi OpenWebUI la LiteLLM.
În mod implicit, aplicația LiteLLM folosește un API key foarte simplusk-1234.
🔐 Această cheie nu este tocmai ideală din punct de vedere al securității, așa că îți voi arăta imediat cum să setezi o cheie API personalizată.
Dar înainte de toate, hai să verificăm că cele două aplicații “vorbesc” între ele.

Ce îți trebuie pentru test:
  1. Adresa API-ului LiteLLM:
    http://IP-UL-SERVERULUI:4000/v1
  2. API key implicită (momentan):
    sk-1234

Verificare completă fără API extern
Dacă la rularea testului de conexiune totul apare cu verde, atunci ești pe drumul cel bun – conexiunea dintre OpenWebUI și LiteLLM funcționează
corect. Ajuns aici, poți merge mai departe și verifica funcționarea completă a setup-ului tău, fără să-ți bați capul cu vreun API extern sau să
plătești ceva. Vom descărca un LLM local – TinyLlama – care, sincer... e mic și cam prost, dar perfect pentru teste și pentru a vedea că totul
funcționează cap-coadă.

Ce trebuie să faci:
Rulează comenzile de mai jos, una câte una, și așteaptă să se finalizeze complet fiecare pas.
Copiază Comanda
ollama pull tinyllama
curl http://localhost:11434/api/tags
sudo curl -L -o /opt/litellm_config.yaml https://raw.githubusercontent.com/tutoriale-it/TutorialeIT/main/litellm_config.yaml
Mai avem un ultim pas important: trebuie să modificăm scriptul de pornire al LiteLLM pentru a include fișierul de configurare în care am introdus
modelul. 📝 Acest fișier va fi folosit și pe viitor, atunci când vei adăuga alte modele.
🔄 Acest pas trebuie făcut indiferent dacă folosești modelul pentru teste sau nu – e parte din setup-ul final corect.

Ce trebuie să faci:
  1. Rulează prima comandă, care va deschide fișierul scriptului de serviciu.
  2. Înlocuiește tot conținutul acelui fișier cu cel furnizat de a doua comandă (adică versiunea corectă, cu config inclus).
  3. Salvează modificările.
  4. Apoi rulează a treia comandă, care restartează serviciile.
  5. Rulează a patra comandă pentru a verifica dacă LiteLLM răspunde corect.
  6. Rulează a cincea comandă pentru a restarta sistemul. (dacă nu porneste dupa restart servicii)

✅ Dacă primești un mesaj valid (și nu un mesaj de eroare), înseamnă că totul funcționează bine.

Hai să vedem ce poate TinyLlama 😄
Copiază Comanda
sudo nano /usr/local/bin/start-litellm.sh
#!/bin/bash
						source /opt/litellm-env/bin/activate
						litellm --port 4000 --host 0.0.0.0 --config /opt/litellm_config.yaml
sudo systemctl restart litellm
curl http://localhost:4000/v1/models
sudo reboot
✅ Am reușit cu succes să instalăm și să verificăm funcționarea LiteLLM în tandem cu OpenWebUI.
Dacă vrei să faci puțină curățenie în sistem, următoarele comenzi sunt opționale, dar utile.

Ce fac aceste comenzi:
  1. Prima comandă va șterge modelul TinyLlama din sistem.
  2. A doua comandă va suprascrie conținutul legat de model și resetează conținutul la minimul necesar.
  3. A treia comandă restartează sistemul – recomandat pentru o resetare completă și curată a mediului.
Copiază Comanda
ollama rm tinyllama
sudo sh -c 'echo "model_list: []" > /opt/litellm_config.yaml'
sudo reboot
Am ajuns la ultima parte din acest tutorial.
Așa cum am spus de la bun început, dacă vrei, poți înlocui cheia API default a LiteLLM (sk-1234) cu una mai sigură și personalizată.
📝 Ca să fiu sincer, nu „o schimbi” efectiv, ci setezi o cheie personalizată, iar cea default nu va mai putea fi folosită cât timp există o cheie
definită manual.

Ce trebuie să faci:
Rulează comenzile de mai jos una câte una:
  1. Prima comandă deschide fișierul de configurare.
  2. În fișierul deschis, înlocuiește tot conținutul cu ceea ce se află în comanda 2.
    • Notă: Înainte de a salva, modifică textul dintre ghilimele "cheie-personalizata-securizata-123456" cu orice cheie API vrei tu.
    • Apoi salvează și închide fișierul.
  3. Ultima comandă restartează serviciul LiteLLM pentru ca modificările să intre în vigoare.
Copiază Comanda
sudo nano /usr/local/bin/start-litellm.sh
#!/bin/bash
						source /opt/litellm-env/bin/activate
						export LITELLM_MASTER_KEY="cheie-personalizata-securizata-123456"
						litellm --port 4000 --host 0.0.0.0 --config /opt/litellm_config.yaml
sudo systemctl restart litellm
Gata, ai LiteLLM full funcțional 🚀
Asta a fost tot pentru acest tutorial – am instalat, configurat, testat, securizat și am făcut curățenie. LiteLLM e acum complet funcțional, integrat
cu OpenWebUI și pregătit să proceseze local ce ai nevoie, fără API-uri externe și fără bătăi de cap.

🎥 Urmărește tutorialul video, unde îți arăt toți pașii pas cu pas, în timp real, plus câteva detalii utile care nu apar scrise aici.

📌 Într-un tutorial următor, îți voi arăta cum se conectează diverse servicii externe la LiteLLM, astfel încât să-l poți folosi ca un proxy universal
pentru tot ce ai nevoie. Ne auzim curând! 😎

Tutorial prezentat de: Remus @ Tutoriale IT & Tech

Canale și Platforme Sociale
Înapoi la cuprins