Budowa asystenta dokumentów
2. Przygotowanie środowiska i plików
2.1. Uruchomienie zaplecza RAG
Lokalne chatboty, agenci i systemy RAG z własną bazą wiedzy
Pliki lokalny.py, baza.py, indeks.py i rag.py pochodzą z poprzedniego poradnika chatbota. Dzięki temu skupisz się na warstwie asystenta. Przygotowane chunks.jsonl zawiera 10 zaakceptowanych fragmentów z czterech dokumentów kursowych. Ich identyfikatory to DOC-INSTR, DOC-HELP, DOC-PDF i DOC-REG.
| Plik | Zadanie |
|---|---|
| lokalny.py | Połączenie z lokalną Ollama, embedding i generacja. |
| baza.py | Odczyt i sprawdzenie fragmentów oraz metadanych. |
| indeks.py | Budowa małego indeksu JSON i wyszukiwanie przez podobieństwo kosinusowe. |
| rag.py | Wybór kontekstu, prompt, odpowiedź i kontrola etykiet cytowań. |
- Nie zmieniaj jeszcze fragmentów ani modelu embeddingowego. Zbuduj indeks.
- Wykonaj próbne wyszukiwanie i otwórz dokument instrukcja.txt.
- Porównaj zwrócone identyfikatory i teksty z pytaniem. Sprawdź, czy wśród fragmentów jest instrukcja sprawdzenia stanu usługi.
- Jeśli bazowe wyszukiwanie nie działa, usuń przyczynę przed dodawaniem pamięci. Warstwa asystenta nie naprawi błędnego indeksu.
python indeks.py build
python indeks.py search "Jak sprawdzić stan usługi docassist-api?"Indeks powstaje w dane/index.json i nie jest dołączony do pakietu. Przy budowie zapisywane są skrót fragmentów oraz identyfikator wersji modelu embeddingowego. Zmiana danych lub modelu wymaga nowego indeksu. Program odmawia nadpisania istniejącego pliku: zachowaj stary pod inną nazwą, a następnie zbuduj nowy.
Zgodność z kursem: używamy małego indeksu JSON z poradnika chatbota. Nie jest on bezpośrednio wymienny z plikami semantic_index lub wynikami NumPy z ćwiczeń modułów. Przenoś przygotowane dane świadomie, zachowując schemat i budując indeks tym samym kodem.
Sprawdź przed przejściem dalej
- Powstał indeks odpowiadający aktualnym fragmentom.
- Umiem odnaleźć tekst źródłowy trafienia.
- Rozumiem, że top_k oznacza liczbę kandydatów, a nie liczbę gwarantowanie trafnych dowodów.
Materiał uzupełniający do modułów 1–6 · wersja 1.0 · 30.09.2026