Kompleksowy stos AI zawierający proxy LiteLLM, Ollama, Open-WebUI, bazę danych PostgreSQL i monitoring Prometheus.
- LiteLLM Proxy - Brama API dla wielu dostawców LLM (port 4000)
- Ollama - Lokalne środowisko uruchomieniowe LLM z zarządzaniem modelami (port 11434)
- Open-WebUI - Interfejs webowy do interakcji z modelami AI (port 3000)
Usługi wspierające:
- PostgreSQL - Baza danych do przechowywania danych LiteLLM (port 5432)
- Prometheus - Zbieranie metryk i monitoring (port 9090)
- Docker i Docker Compose
- Absolutne minimum to 8GB RAM (16GB+ lub więcej jest zdecydowanie zalecane)
- Obsługa GPU (zalecana karta graficzna nVidia lub AMD dla lepszej wydajności)
git clone <adres-repozytorium>
cd ai_stackUtwórz plik .env w katalogu głównym z następującymi zmiennymi:
LITELLM_MASTER_KEY="sk-[wpisz tutaj 10-16 losowych cyfr]"
LITELLM_SALT_KEY="sk-[wpisz tutaj 10-16 losowych cyfr]"LITELLM_MASTER_KEY to Twoje początkowe hasło administratora dla liteLLM
WAŻNE: Zmień domyślne hasła do bazy danych w docker-compose.yml:
# W sekcji usługi db zmień:
POSTGRES_PASSWORD: TWOJE_BEZPIECZNE_HASŁO
# W sekcji usługi proxy zaktualizuj DATABASE_URL:
DATABASE_URL: "postgresql://llmproxy:TWOJE_BEZPIECZNE_HASŁO@db:5432/litellm"docker-compose up -dSprawdź, czy wszystkie usługi działają:
docker-compose ps- Open-WebUI: http://localhost:3000
- LiteLLM Proxy: http://localhost:4000
- Prometheus: http://localhost:9090
- Ollama API: http://localhost:11434
- PostgreSQL: localhost:5432
System jest skonfigurowany do automatycznego proxy wszystkich modeli Ollama przez LiteLLM. Modele są konfigurowane w litellm_config.yaml.
Pobierz modele używając usługi Ollama:
docker exec ollama ollama pull qwen3:latest
docker exec ollama ollama pull gemma3:latestKonfiguracja zawiera obsługę GPU dla kart AMD/Intel. Dla kart NVIDIA odkomentuj odpowiednie sekcje w docker-compose.yml.
- Modele Ollama:
./ollama/ollama - Dane Open-WebUI:
./data/open-webui - Dane PostgreSQL: Wolumin Docker
litellm_postgres_data - Dane Prometheus: Wolumin Docker
prometheus_data
Prometheus jest skonfigurowany do zbierania metryk z proxy LiteLLM. Dostęp do interfejsu webowego Prometheus pod adresem http://localhost:9090.
- Konflikty portów: Upewnij się, że porty 3000, 4000, 5432, 9090 i 11434 są dostępne
- Problemy z połączeniem do bazy danych: Zweryfikuj, czy DATABASE_URL w pliku
.envodpowiada poświadczeniom bazy danych - Dostęp do GPU: Upewnij się, że Twój użytkownik należy do grupy
dockeri ma dostęp do/dev/dri
Wyświetl logi usługi:
docker-compose logs [nazwa-usługi]Stos zawiera kontrole stanu dla kluczowych usług. Sprawdź stan usługi:
docker-compose ps- Zmień wszystkie domyślne hasła przed wdrożeniem produkcyjnym
- Rozważ użycie zmiennych środowiskowych dla wrażliwej konfiguracji
- Regularnie aktualizuj obrazy kontenerów w celu uzyskania poprawek bezpieczeństwa
- Ogranicz dostęp sieciowy tylko do wymaganych portów
Aby zmodyfikować konfigurację:
- Edytuj odpowiednie pliki konfiguracyjne (
docker-compose.yml,litellm_config.yaml, itp.) - Zrestartuj dotknięte usługi:
docker-compose restart [nazwa-usługi]
Upewnij się, że wszelkie zmiany zachowują najlepsze praktyki bezpieczeństwa i odpowiednio aktualizuj ten plik README.