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

Orientacyjny czas: 25 min · Tryb pracy: najpierw własna próba, potem przykład

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.

PlikZadanie
lokalny.pyPołączenie z lokalną Ollama, embedding i generacja.
baza.pyOdczyt i sprawdzenie fragmentów oraz metadanych.
indeks.pyBudowa małego indeksu JSON i wyszukiwanie przez podobieństwo kosinusowe.
rag.pyWybór kontekstu, prompt, odpowiedź i kontrola etykiet cytowań.
  1. Nie zmieniaj jeszcze fragmentów ani modelu embeddingowego. Zbuduj indeks.
  2. Wykonaj próbne wyszukiwanie i otwórz dokument instrukcja.txt.
  3. Porównaj zwrócone identyfikatory i teksty z pytaniem. Sprawdź, czy wśród fragmentów jest instrukcja sprawdzenia stanu usługi.
  4. 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