Budowa chatbota CLI
1. Cel projektu i sposób pracy
Lokalne chatboty, agenci i systemy RAG z własną bazą wiedzy
Instrukcja krok po kroku · materiał uzupełniający
Budujemy chatbota w konsoli
Plan własnego chatbota
Zbudujesz lokalnego chatbota tekstowego, który przyjmuje pytania w konsoli, wyszukuje fragmenty dokumentów i pokazuje odpowiedź wraz ze źródłami.
Ta książka jest materiałem uzupełniającym do kursu „Lokalne chatboty, agenci i systemy RAG z własną bazą wiedzy”. Łączy wiadomości z modułów 1–6 w jeden mały projekt. Nie zmienia zasad zaliczenia. Interfejs gotowej aplikacji jest tekstowy; nie budujemy GUI ani serwera WWW.
Co będzie działało na końcu
- Rozmowa przez wpisywanie pytań i komend w terminalu.
- Nowe wyszukiwanie dla każdego pytania, lokalne embeddingi i lokalne generowanie.
- Źródła oznaczone [S1], [S2] oraz nazwa dokumentu, wersja, sekcja i identyfikator fragmentu.
- Zapis przebiegu do plików, osiem przypadków testowych oraz miejsce na własną ocenę.
Dwa etapy projektu
| Etap | Rezultat | Warunek przejścia dalej |
|---|---|---|
| Pierwszy czat | czat_llm.py: rozmowa z modelem bez własnej bazy | Potrafisz uruchomić program, zadać pytanie i zakończyć rozmowę. |
| Chatbot z dokumentami | chatbot.py: RAG, źródła i zapis wyników | Sprawdzasz znalezione fragmenty, odpowiedzi i zachowanie przy braku danych. |
Jak pracować z książką
- Pobierz i rozpakuj
Chatbot_konsolowy_kod.zip. Zachowaj cały folderchatbot. Jeśli pliku nie ma przy książce, poproś prowadzącego o pakiet towarzyszący. - Utwórz obok drugą kopię:
chatbot_moj. To w niej pracuj. Kopia wyjściowa posłuży do porównywania kodu. - Przechodź rozdziały po kolei. Wykonuj polecenia z ramki kodu dopiero w opisanym miejscu. Po każdym etapie zatrzymaj się na punkcie kontrolnym.
- Jeśli chcesz składać kod od początku, w folderze
chatbot_mojzachowaj dane,config.jsonitesty.json, a pliki Python twórz według kolejnych rozdziałów. Kompletne wersje są w kopii wyjściowej.
Warto wiedzieć. Przewidywany czas pracy to około 4–6 godzin bez instalacji i pobierania modeli; tempo zależy od znajomości Pythona i sprzętu. Czytaj książkę w krótkich sesjach. Nie musisz przepisywać kodu ręcznie: najważniejsze jest rozumienie, uruchamianie i sprawdzanie zmian.
Związek z kursem
| Moduł | Co wykorzystasz |
|---|---|
| M1 | Różnica między czatem a RAG, prompt, kontekst i ograniczenia modelu. |
| M2 | Zakres bazy, tekst, fragmenty i metadane. |
| M3 | Embeddingi, kosinus, top-k i trwały indeks. |
| M4 | Pełny przepływ RAG, kontrola kontekstu i źródła. |
| M5 | Pętla rozmowy, ograniczona pamięć i rozdzielenie interfejsu od RAG. |
| M6 | Plan testów, wyniki z jednego wywołania, ocena i porównanie jednej zmiany. |
Świadome uproszczenia
Indeks poradnika ma postać jednego pliku JSON i jest przeszukiwany w całości. Ułatwia to naukę na małej bazie i eliminuje instalowanie bibliotek. W M3 używasz macierzy NumPy i folderu semantic_index; tych formatów nie należy mieszać. Komendy aplikacji są rozpoznawane przez kod. Chatbot z tej książki nie wybiera narzędzi za pomocą modelu i nie jest pełną implementacją agenta z M5.
Punkt kontrolny
- Potrafisz powiedzieć, dla kogo tworzysz chatbota i na jakie pytania ma odpowiadać.
- Masz osobną kopię projektu i wiesz, gdzie znajdują się materiały wzorcowe.
Instrukcja uczestnika · Python i Ollama · wydanie 29.09.2026