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
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ă.
⚠️ 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.
În acest prim set de comenzi, nu trebuie să schimbi nimic – doar rulezi liniștit.
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.
 
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 simplu – 
🔐 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ă.
 sk-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:
 -  Adresa API-ului LiteLLM:
http://IP-UL-SERVERULUI:4000/v1 -  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.
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:
 -  Rulează prima comandă, care va deschide fișierul scriptului de serviciu.
 -  Înlocuiește tot conținutul acelui fișier cu cel furnizat de a doua comandă (adică versiunea corectă, cu config inclus).
 -  Salvează modificările.
 -  Apoi rulează a treia comandă, care restartează serviciile.
 - Rulează a patra comandă pentru a verifica dacă LiteLLM răspunde corect.
 - 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 😄
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:
 -  Prima comandă va șterge modelul TinyLlama din sistem.
 -  A doua comandă va suprascrie conținutul legat de model și resetează conținutul la minimul necesar.
 -  A treia comandă restartează sistemul – recomandat pentru o resetare completă și curată a mediului.
 
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:
 -  Prima comandă deschide fișierul de configurare.
 -  Î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.
 
 -  
 -  Ultima comandă restartează serviciul LiteLLM pentru ca modificările să intre în vigoare.
 
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