7. Uruchomienie chatbota z dokumentami

7.1. Pamięć rozmowy i komendy

Lokalne chatboty, agenci i systemy RAG z własną bazą wiedzy

Instrukcja krok po kroku · materiał uzupełniający

Budujemy chatbota w konsoli

Jasne granice interfejsu

Odniesienie: M5 R2–R3   |   Czas: 15 min

Zapis historii nie oznacza jeszcze rozumienia pytań uzupełniających. W tej wersji RAG każda wiadomość merytoryczna powinna być samodzielnym pytaniem.

KomendaDziałanieWywołanie modelu
/sourcesŹródła ostatniej poprawnie zakończonej tury; po błędzie bieżącej tury lista jest pusta.Nie
/historyWyświetlenie maksymalnie trzech ostatnich udanych tur od ostatniego /clear.Nie
/clearWyczyszczenie pamięci i źródeł w sesji. Pliki na dysku pozostają.Nie
/exitZakończenie programu.Nie

Dwa sposoby użycia historii w tej książce

W czat_llm.py trzy pary wiadomości trafiają do modelu. W chatbot.py historia służy tylko do wyświetlania przez /history. Nie przekazujemy poprzednich odpowiedzi jako faktów do RAG. Odpowiedź modelu nie staje się dokumentem źródłowym.

Jak zadawać pytania uzupełniające w wersji podstawowej

Niepełna wiadomośćSamodzielne pytanie
A co potem?Co należy sprawdzić po ponownym uruchomieniu usługi DocAssist?
A po godzinach?Jak zgłosić awarię całego zespołu poza godzinami dyżuru operatora DocAssist?
Jaki ma limit?Jaka jest zalecana wartość timeout_seconds w dokumentacji DocAssist?

Niepełne pytanie może otrzymać przypadkową odpowiedź, ponieważ ten program nie rozpoznaje automatycznie niejasnego odniesienia. To jawne ograniczenie prototypu. Przed dodaniem pamięci semantycznej warto najpierw upewnić się, że poprawnie działa pojedyncze pytanie.

Ćwiczenie kontroli stanu

  1. Po udanej odpowiedzi wpisz pustą wiadomość. Program nie powinien uruchomić modelu.
  2. Wpisz /sources. W tej implementacji źródła są puste, bo niepoprawne pytanie rozpoczęło nową turę i wyczyściło poprzednią listę.
  3. Ponownie zadaj pełne pytanie, a potem /clear. Sprawdź, że pamięć jest pusta, lecz wcześniejszy plik wyniku nadal istnieje.

Punkt kontrolny

  • Nie mylisz historii wyświetlanej z historią przekazaną modelowi.
  • Potrafisz przeredagować „a potem?” na pełne pytanie.

Instrukcja uczestnika · Python i Ollama · wydanie 29.09.2026