Skip to content

Commit 86881fb

Browse files
author
Paweł Kędzia
committed
Docs: add quick‑start guide for speakleash/Bielik-11B-v2.3-Instruct-FP8 with vLLM and LLM‑Router
1 parent ef23e7d commit 86881fb

File tree

1 file changed

+228
-0
lines changed
  • examples/quickstart/speakleash-bielik-11b-v2_3-Instruct

1 file changed

+228
-0
lines changed
Lines changed: 228 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,228 @@
1+
# 🚀 **Przewodnik Szybkiego Startu** dla `speakleash/Bielik-11B-v2.3-Instruct-FP8` z **vLLM** & **LLM‑Router**
2+
3+
Ten przewodnik prowadzi Cię krok po kroku przez:
4+
5+
1. **Instalację vLLM** i modelu `speakleash/Bielik-11B-v2.3-Instruct-FP8`.
6+
2. **Instalację LLM‑Router** (bramki API).
7+
3. **Uruchomienie routera** z konfiguracją modeli dostarczoną w `models-config.json`.
8+
9+
Wszystkie polecenia zakładają, że pracujesz na systemie Unix‑like (Linux/macOS) z **Python 3.10.6**, `virtualenv` oraz (
10+
opcjonalnie) kartą GPU obsługującą CUDA 11.8.
11+
12+
---
13+
14+
## 📋 **Wymagania wstępne**
15+
16+
| Wymaganie | Szczegóły |
17+
|---------------|--------------------------------------------------------------|
18+
| **OS** | Ubuntu 20.04 + (lub dowolna nowsza dystrybucja Linux/macOS) |
19+
| **Python** | 3.10.6 (domyślna wersja projektu) |
20+
| **GPU** | CUDA 11.8 + (minimum 12 GB VRAM) **lub** środowisko CPU‑only |
21+
| **Narzędzia** | `git`, `curl`, `jq` (opcjonalnie, przydatne do testowania) |
22+
| **Sieć** | Dostęp do PyPI oraz Hugging Face w celu pobrania modelu |
23+
24+
---
25+
26+
## 1️⃣ **Utworzenie i aktywacja wirtualnego środowiska**
27+
28+
```shell script
29+
# (opcjonalnie) utwórz katalog demo i przejdź do niego
30+
mkdir -p ~/bielik-demo && cd $_
31+
32+
# Inicjalizacja venv
33+
python3 -m venv .venv
34+
source .venv/bin/activate
35+
36+
# Aktualizacja pip (zawsze dobry pomysł)
37+
pip install --upgrade pip
38+
```
39+
40+
---
41+
42+
## 2️⃣ Instalacja **vLLM** oraz pobranie modelu Bielik
43+
44+
> Pełną instrukcję znajdziesz w pliku [`VLLM.md`](./VLLM.md).
45+
46+
---
47+
48+
## 3️⃣ **Uruchomienie serwera vLLM**
49+
50+
Skopiuj do bieżącego katalogu dostarczony skrypt Bash (dostosuj ścieżkę, jeśli potrzebujesz) i uruchom go:
51+
52+
```shell script
53+
cp path/to/llm-router/examples/quickstart/speakleash-bielik-11b-v2_3-Instruct/run-bielik-11b-v2_3-vllm.sh .
54+
chmod +x run-bielik-11b-v2_3-vllm.sh
55+
56+
# Uruchom (warto w tmux/screen)
57+
./run-bielik-11b-v2_3-vllm.sh
58+
```
59+
60+
Serwer nasłuchuje na **`http://0.0.0.0:7000`** i udostępnia endpoint zgodny z OpenAI pod `/v1/chat/completions`.
61+
62+
Możesz szybko go przetestować:
63+
64+
```shell script
65+
curl http://localhost:7000/v1/chat/completions \
66+
-H "Content-Type: application/json" \
67+
-d '{
68+
"model": "speakleash/Bielik-11B-v2.3-Instruct-FP8",
69+
"messages": [{"role": "user", "content": "Cześć, jak się masz?"}],
70+
"max_tokens": 100
71+
}' | jq
72+
```
73+
74+
Powinieneś otrzymać odpowiedź w formacie JSON.
75+
76+
---
77+
78+
## 4️⃣ Instalacja **LLM‑Router**
79+
80+
```shell script
81+
# Sklonuj repozytorium (jeśli jeszcze go nie masz)
82+
git clone https://github.com/radlab-dev-group/llm-router.git
83+
cd llm-router
84+
85+
# Instalacja core + API (w tym samym venv)
86+
pip install .[api]
87+
88+
# (Opcjonalnie) wsparcie dla Prometheus
89+
pip install .[api,metrics]
90+
```
91+
92+
> **Uwaga:** Router używa tego samego wirtualnego środowiska, które utworzyłeś wcześniej, więc wszystkie zależności
93+
> pozostają odizolowane.
94+
95+
---
96+
97+
## 6️⃣ **Przygotowanie konfiguracji routera**
98+
99+
Plik `models-config.json` znajdujący się w katalogu **speakleash‑bielik** już zawiera definicję naszego modelu:
100+
101+
```json
102+
{
103+
"speakleash_models": {
104+
"speakleash/Bielik-11B-v2.3-Instruct-FP8": {
105+
"providers": [
106+
{
107+
"id": "bielik-11B_v2_3-vllm-local:7000",
108+
"api_host": "http://localhost:7000/",
109+
"api_type": "vllm",
110+
"input_size": 56000,
111+
"weight": 1.0
112+
}
113+
]
114+
}
115+
},
116+
"active_models": {
117+
"speakleash_models": [
118+
"speakleash/Bielik-11B-v2.3-Instruct-FP8"
119+
]
120+
}
121+
}
122+
```
123+
124+
Skopiuj go (lub przenieś) do katalogu `resources/configs/` routera:
125+
126+
```shell script
127+
mkdir -p resources/configs
128+
cp path/to/speakleash-bielik/models-config.json resources/configs/
129+
```
130+
131+
---
132+
133+
## 6️⃣ Uruchomienie **LLM‑Router**
134+
135+
### Lokalny Gunicorn
136+
137+
W repozytorium znajduje się pomocniczy skrypt `run-rest-api-gunicorn.sh`. Upewnij się, że jest wykonywalny, a następnie
138+
go uruchom:
139+
140+
```shell script
141+
chmod +x run-rest-api-gunicorn.sh
142+
./run-rest-api-gunicorn.sh
143+
```
144+
145+
Domyślne zmienne środowiskowe (można zmienić w skrypcie):
146+
147+
| Zmienna | Domyślna wartość | Opis |
148+
|-----------------------------|----------------------------------------|-----------------------------------|
149+
| `LLM_ROUTER_SERVER_TYPE` | `gunicorn` | Backend serwera |
150+
| `LLM_ROUTER_SERVER_PORT` | `8080` | Port nasłuchiwania routera |
151+
| `LLM_ROUTER_MODELS_CONFIG` | `resources/configs/models-config.json` | Ścieżka do pliku konfiguracyjnego |
152+
| `LLM_ROUTER_USE_PROMETHEUS` | `1` (jeśli zainstalowano `metrics`) | Włącza endpoint `/api/metrics` |
153+
154+
Router będzie dostępny pod **`http://0.0.0.0:8080/api`**.
155+
Pełna lista dostępnych zmiennych środowiskowych znajduje się w
156+
[opisie zmiennych środowiskowych](../../../llm_router_api/README.md#environment-variables)
157+
158+
---
159+
160+
## 7️⃣ **Test pełnego stosu (router → vLLM)**
161+
162+
```shell script
163+
curl http://localhost:8080/api/v1/chat/completions \
164+
-H "Content-Type: application/json" \
165+
-d '{
166+
"model": "speakleash/Bielik-11B-v2.3-Instruct-FP8",
167+
"messages": [{"role": "user", "content": "Opowiedz krótki żart."}],
168+
"max_tokens": 80
169+
}' | jq
170+
```
171+
172+
Zapytanie przechodzi przez **LLM‑Router**, który przekazuje je do lokalnego serwera vLLM, a odpowiedź zostaje zwrócona w
173+
formacie JSON.
174+
175+
---
176+
177+
## 🚀 **Uruchamianie przykładów**
178+
179+
W folderze [`examples/`](../../../examples) znajduje się szereg przykładów (LangChain, LlamaIndex, OpenAI SDK, LiteLLM,
180+
Haystack). Aby je uruchomić:
181+
182+
1. **Ustaw adres routera** – w środowisku (`LLM_ROUTER_HOST`) lub w pliku `examples/constants.py`:
183+
184+
```shell script
185+
export LLM_ROUTER_HOST="http://localhost:8080/api"
186+
187+
# lub w Pythonie (constants.py):
188+
HOST = "http://localhost:8080/api"
189+
```
190+
191+
2. **Zainstaluj zależności przykładów**
192+
193+
```shell script
194+
pip install -r examples/requirements.txt
195+
```
196+
197+
3. **Uruchom wybrany przykład**
198+
199+
```shell script
200+
python examples/langchain_example.py
201+
python examples/llamaindex_example.py
202+
python examples/openai_example.py
203+
python examples/litellm_example.py
204+
python examples/haystack_example.py
205+
```
206+
207+
Wszystkie pozostałe szczegóły konfiguracji (obsługa promptów, strumieniowanie, użycie wielu modeli, obsługa błędów itp.)
208+
są udokumentowane w poszczególnych plikach przykładów oraz w plikach [`examples/README.md`](../../README.md) i [
209+
`examples/README_LLAMAINDEX.md`](../../README_LLAMAINDEX.md). Dostosuj jedynie zmienną `HOST`/`LLM_ROUTER_HOST`
210+
(ewentualnie także `MODELS`), a przykłady automatycznie odpytają instancję uruchomionego llm‑routera.
211+
212+
---
213+
214+
## 🎉 **Co dalej?**
215+
216+
| Obszar | Co możesz zrobić |
217+
|---------------------------|------------------------------------------------------------------------------------------------------------------------------|
218+
| **Prometheus** | Jeśli włączyłeś `metrics`, dodaj endpoint `/api/metrics` do swojego systemu monitorującego. |
219+
| **Guardrails & Masking** | Ustaw zmienne `LLM_ROUTER_FORCE_MASKING`, `LLM_ROUTER_FORCE_GUARDRAIL_REQUEST`, itp., aby dodać warstwy ochronne. |
220+
| **Wiele dostawców** | Rozbuduj `models-config.json` o kolejne providery (np. Ollama, OpenAI) i eksperymentuj z różnymi strategiami load‑balancing. |
221+
| **Aktualizacje** | `pip install -U vllm` oraz `pip install -U llm-router` zapewnią najnowsze poprawki i funkcje. |
222+
| **Optymalizacja pamięci** | Przy ograniczonej VRAM użyj flagi `--cpu-offload` w skrypcie `run-bielik-11b-v2_3-vllm.sh`. |
223+
224+
---
225+
226+
**Powodzenia i miłego korzystania z modelu Bielik!**
227+
228+
---

0 commit comments

Comments
 (0)