Budowa chatbota CLI
Wymagania zaliczenia
9. Przejście do własnego projektu
9.1. Rozwiązywanie problemów
Lokalne chatboty, agenci i systemy RAG z własną bazą wiedzy
Instrukcja krok po kroku · materiał uzupełniający
Budujemy chatbota w konsoli
Powrót do działającego etapu
Czytaj pierwszy komunikat błędu i sprawdzaj po jednej rzeczy. Nie zmieniaj modelu, bazy i promptu jednocześnie.
| Objaw | Co zrobić |
|---|---|
| „py” nie jest rozpoznawane | Otwórz nowy terminal po instalacji. Sprawdź dostępne polecenie python; na macOS/Linux użyj python3. |
| Nie można otworzyć pliku .py | Sprawdź folder terminala i rozszerzenie pliku. Skrypt ma leżeć obok config.json. |
| ModuleNotFoundError: lokalny / baza / indeks | Zachowaj wszystkie pliki projektu w jednym folderze. Nie uruchamiaj pojedynczego skryptu wyjętego z ZIP. |
| Connection refused / brak odpowiedzi Ollama | Uruchom usługę. Sprawdź ollama list i lokalny.py. |
| HTTP 404 lub brak modelu | Porównaj dokładny tag w config.json z ollama list. Pobierz brakujący model. |
| Timeout podczas pierwszej odpowiedzi | Sprawdź obciążenie i pamięć. Poczekaj na załadowanie modelu; zwiększ timeout w config.json, potem uruchom ponownie. |
| Brak pamięci | Zamknij zbędne procesy. Możesz wybrać mniejszy lokalny model generujący, wpisując jego pełny tag; zapisz zmianę i powtórz testy. |
| index.json nie istnieje | Najpierw uruchom indeks.py build. |
| Plik już istnieje | Zachowaj dotychczasowy plik pod inną nazwą albo użyj nowej kopii projektu. Program nie nadpisuje bazy i indeksu. |
| Digest lub baza nie pasują do indeksu | Zbuduj nowy indeks dla aktualnych fragmentów i modelu. |
| JSONDecodeError | Sprawdź przecinki i podwójne cudzysłowy. W JSON nie dodawaj komentarzy ani przecinka po ostatnim polu. |
| IndentationError / TabError | Skopiuj cały blok od nowa. Zachowaj cztery spacje i nie mieszaj tabulatorów ze spacjami. |
| Złe polskie znaki w danych | Zapisz pliki jako UTF-8. Nie „naprawiaj” samego widoku, jeśli błędne znaki są już w bazie. |
| Ucięta odpowiedź | Sprawdź done_reason. Zwiększ num_predict tylko w nowej porównywanej konfiguracji. |
| Bot odpowiada spoza dokumentów | Obejrzyj prompt i kontekst. Zapisz błąd jakości, nie oznaczaj go automatycznie jako poprawnego answered. |
Nieoczekiwane pytanie o kontynuację
Jeśli po „a potem?” odpowiedź dotyczy niewłaściwego tematu, zadaj pełne pytanie. Pamięć interpretująca historię jest rozszerzeniem opisanym przy M5; nie jest ukrytą funkcją tej wersji.
Minimalny zestaw informacji do diagnozy
- Dokładne polecenie i komunikat błędu.
- Wersja Python i Ollama, dokładne tagi modeli.
- Etap, który ostatnio działał.
- Czy zmieniłeś dane, indeks lub konfigurację.
- Dla błędnej odpowiedzi: result_id, pytanie, właściwy fragment i obserwowana rozbieżność.
Punkt kontrolny
- Po usunięciu problemu ponawiasz kontrolę etapu, który nie działał.
Instrukcja uczestnika · Python i Ollama · wydanie 29.09.2026