Chcesz przeszukiwać umowy, instrukcje, raporty lub materiały szkoleniowe za pomocą AI, ale nie zamierzasz przesyłać ich do zewnętrznej usługi? W tym poradniku pokazujemy, jak uruchomić lokalny czat z plikami PDF przy użyciu Ollama i AnythingLLM. Model, baza dokumentów i historia rozmów mogą działać na Twoim komputerze, bez korzystania z chmurowego API.
- Do lokalnej rozmowy z PDF potrzebujesz modelu językowego, programu obsługującego dokumenty oraz lokalnego modelu embeddingowego.
- Najprostszy zestaw dla początkujących to Ollama jako silnik modelu i AnythingLLM Desktop jako interfejs do dokumentów.
- Plik PDF musi zawierać warstwę tekstową. Zeskanowane dokumenty mogą wymagać wcześniejszego OCR.
- 16 GB RAM to rozsądny punkt startowy, ale szybkość działania zależy przede wszystkim od wielkości modelu i możliwości procesora lub karty graficznej.
- Lokalna konfiguracja nie gwarantuje automatycznie całkowitego braku komunikacji z internetem. Trzeba wyłączyć telemetrię i nie wybierać dostawcy modelu działającego w chmurze.
Do wykonania tej instrukcji wykorzystamy dwa programy:
- Ollama – uruchamia model językowy bezpośrednio na komputerze,
- AnythingLLM Desktop – importuje dokumenty, tworzy lokalną bazę wiedzy i przekazuje modelowi fragmenty PDF potrzebne do udzielenia odpowiedzi.
AnythingLLM Desktop jest przeznaczony między innymi do lokalnej pracy z modelami i mechanizmem RAG. Aplikacja jest dostępna na Windows, macOS i Linux. Ollama również obsługuje te trzy systemy.

Jak działa lokalna rozmowa z dokumentem PDF?
Program nie „uczy” modelu całej treści dokumentu. Po dodaniu pliku jego tekst jest dzielony na mniejsze fragmenty, a następnie zamieniany na reprezentacje matematyczne nazywane wektorami. Trafiają one do lokalnej bazy danych.
Kiedy wpisujesz pytanie, system wyszukuje fragmenty dokumentu najbardziej zbliżone znaczeniowo do zapytania i przekazuje je modelowi językowemu. Ten mechanizm nosi nazwę RAG, czyli Retrieval-Augmented Generation.
Dzięki temu model nie musi za każdym razem przetwarzać całego, liczącego kilkaset stron pliku. Ma jednak również ograniczenie: otrzymuje tylko wybrane fragmenty, dlatego szerokie pytania dotyczące całego dokumentu czasami dają mniej kompletne odpowiedzi.
Krok 1. Sprawdź, czy komputer poradzi sobie z lokalnym modelem
AnythingLLM podaje jako zalecaną konfigurację do podstawowej pracy 16 GB RAM i ośmiordzeniowy procesor. Karta graficzna nie jest bezwzględnie wymagana, ale może znacząco przyspieszyć generowanie odpowiedzi. Na komputerze bez odpowiedniego GPU model będzie korzystał głównie z procesora.
Na początek można przyjąć następującą zasadę:
- przy 8 GB RAM wybierz bardzo mały model i licz się z ograniczoną jakością,
- przy 16 GB RAM zacznij od modelu klasy 4B,
- przy 24–32 GB RAM możesz sprawdzić model 9B lub większy,
- wybierając model dla karty graficznej, zwracaj uwagę również na ilość pamięci VRAM.
W dalszej części wykorzystamy qwen3.5:4b. W bibliotece Ollama jego pliki zajmują około 3,4 GB. Dostępny jest również większy wariant qwen3.5:9b, którego pliki zajmują około 6,6 GB. Rozmiar pobieranych danych nie odpowiada dokładnie późniejszemu zużyciu RAM lub VRAM – podczas pracy potrzebna jest także pamięć na kontekst rozmowy i pozostałe elementy aplikacji.
Qwen 3.5 jest modelem wielojęzycznym, jednak jakość odpowiedzi nadal może zależeć od tematu, sposobu przygotowania PDF oraz wielkości wybranego wariantu.
Krok 2. Sprawdź, czy PDF zawiera tekst
Przed instalowaniem modelu otwórz dokument w zwykłej przeglądarce PDF i spróbuj zaznaczyć kilka zdań.
Jeżeli tekst można zaznaczyć i skopiować do edytora, plik najprawdopodobniej nadaje się do bezpośredniego przetworzenia. Jeżeli każda strona zachowuje się jak jedno duże zdjęcie, dokument jest skanem i wymaga rozpoznania tekstu.
Jak przygotować zeskanowany PDF?
Do lokalnego wykonania OCR można wykorzystać program OCRmyPDF. Dodaje on do zeskanowanych stron warstwę rozpoznanego, przeszukiwalnego tekstu, nie wysyłając dokumentu do internetowego konwertera.
Po zainstalowaniu programu podstawowe polecenie wygląda następująco:
ocrmypdf -l pol dokument.pdf dokument-ocr.pdf
Parametr -l pol wskazuje język polski. Odpowiedni pakiet językowy musi być wcześniej zainstalowany w używanym silniku OCR. Dokument po konwersji trzeba sprawdzić, ponieważ jakość rozpoznawania zależy od rozdzielczości, ostrości, układu strony i jakości oryginalnego skanu.
Uwaga: wykonanie OCR na dokumencie podpisanym cyfrowo może unieważnić podpis. W takim przypadku pracuj na kopii i nie zastępuj oryginalnego pliku.
Krok 3. Zainstaluj Ollama
Pobierz Ollama z oficjalnej strony projektu i wybierz instalator odpowiedni dla swojego systemu.
Na Windows najprościej skorzystać z instalatora OllamaSetup.exe. Program instaluje się na koncie aktualnego użytkownika i nie wymaga uprawnień administratora. Na macOS aplikację instaluje się przez przeciągnięcie jej do katalogu Applications. Dostępna jest też oficjalna wersja dla systemów Linux.
Po instalacji otwórz Terminal, PowerShell albo Wiersz polecenia i wpisz:
ollama run qwen3.5:4b
Przy pierwszym uruchomieniu model zostanie pobrany. Po zakończeniu pobierania pojawi się pole, w którym możesz przeprowadzić prosty test, na przykład:
Odpowiedz jednym zdaniem: czym jest plik PDF?
Aby zakończyć rozmowę w terminalu, wpisz:
/bye
Ollama powinien pozostać uruchomiony w tle. AnythingLLM będzie łączyć się z jego lokalnym serwerem. Oficjalny przewodnik Ollama wykorzystuje polecenie ollama run zarówno do pobierania, jak i uruchamiania wybranego modelu.
Krok 4. Zainstaluj AnythingLLM Desktop
Pobierz wersję AnythingLLM Desktop odpowiednią dla systemu operacyjnego.
Na Windows instaluj aplikację wyłącznie dla aktualnego użytkownika. Twórcy nie zalecają instalacji dla wszystkich kont na komputerze. Na macOS trzeba wybrać właściwy plik dla procesora Apple Silicon lub Intel. W systemie Linux aplikacja jest rozpowszechniana między innymi jako AppImage dla architektur x64 i ARM64.
Po uruchomieniu aplikacja przeprowadzi Cię przez początkową konfigurację. Nazwy poszczególnych pól mogą zmieniać się wraz z aktualizacjami, ale potrzebne ustawienia pozostają podobne.
Krok 5. Połącz AnythingLLM z lokalnym modelem
W sekcji wyboru dostawcy modelu językowego wybierz Ollama.
Jako adres serwera wpisz:
http://127.0.0.1:11434
Jest to lokalny adres używany przez Ollama przy ustawieniach domyślnych. Następnie wybierz pobrany wcześniej model, na przykład qwen3.5:4b. AnythingLLM powinien automatycznie wykryć zarówno serwer, jak i dostępne modele.
Jeżeli połączenie nie działa:
- sprawdź, czy Ollama jest uruchomiony w tle,
- otwórz w przeglądarce adres http://127.0.0.1:11434,
- ponownie uruchom AnythingLLM,
- ręcznie wpisz lokalny adres w ustawieniach dostawcy modelu.
Jaki model embeddingowy wybrać?
Na początek pozostaw wbudowany, lokalny model embeddingowy AnythingLLM. Jest to najprostsze rozwiązanie i nie wymaga konfigurowania kolejnego programu.
Pozostaw również domyślną lokalną bazę wektorową LanceDB. Model embeddingowy jest odpowiedzialny za przekształcanie fragmentów PDF w wektory używane podczas wyszukiwania.
Nie zmieniaj go bez potrzeby po dodaniu dokumentów. Po zmianie modelu embeddingowego pliki powinny zostać ponownie przetworzone, ponieważ wektory utworzone przez różne modele nie są ze sobą zgodne.
Krok 6. Utwórz przestrzeń roboczą i dodaj PDF
W AnythingLLM utwórz nową przestrzeń roboczą, czyli workspace. Nadaj jej nazwę odpowiadającą rodzajowi dokumentów, na przykład:
Umowy
albo:
Instrukcje urządzeń
Nie wrzucaj wszystkich plików do jednego miejsca. Oddzielne przestrzenie dla umów, dokumentacji technicznej i materiałów szkoleniowych zmniejszają ryzyko pobierania fragmentów z niewłaściwego źródła.
Następnie:
- otwórz utworzoną przestrzeń,
- wybierz opcję dodawania dokumentu,
- wskaż plik PDF,
- poczekaj na zakończenie ekstrakcji tekstu,
- przenieś dokument do przestrzeni roboczej lub wybierz opcję osadzenia go w bazie, czyli Embed,
- zaczekaj na zakończenie indeksowania.
Samo przesłanie pliku do aplikacji nie zawsze oznacza, że model może już z niego korzystać. Dokument musi zostać dołączony do rozmowy w pełnej postaci albo osadzony w konkretnej przestrzeni. W przypadku dłuższych plików najlepszym wyborem jest zazwyczaj embedding i RAG.
Pełny dokument czy RAG?
Krótki plik można dołączyć bezpośrednio do rozmowy. Model otrzyma wtedy jego pełny tekst, o ile zmieści się on w oknie kontekstowym.
Dłuższy raport, książkę lub zbiór wielu plików lepiej osadzić w bazie RAG. System będzie wtedy wybierał tylko fragmenty związane z pytaniem. Próba przekazania całego bardzo długiego dokumentu może doprowadzić do obcięcia części zawartości i mniej dokładnych odpowiedzi.
Krok 7. Zadaj pierwsze pytania dotyczące PDF
Nie zaczynaj od ogólnego polecenia „opisz cały dokument”. Najpierw sprawdź, czy system prawidłowo odczytał treść.
Dobre pytanie testowe może wyglądać tak:
Podaj tytuł dokumentu i wypisz nazwy trzech pierwszych rozdziałów.
Odpowiadaj wyłącznie na podstawie dodanego pliku.
Następnie zadaj pytanie o konkretny fragment:
Jakie obowiązki użytkownika opisano w rozdziale dotyczącym bezpieczeństwa?
Podaj krótkie cytaty i wskaż sekcję źródłową.
Przydatne są również polecenia:
- „Wypisz terminy i daty wskazane w dokumencie”.
- „Porównaj wymagania opisane w rozdziałach 3 i 5”.
- „Znajdź fragmenty dotyczące wypowiedzenia umowy”.
- „Wyjaśnij ten rozdział prostym językiem, nie dodając informacji spoza dokumentu”.
- „Jeżeli odpowiedzi nie ma w pliku, napisz: nie znaleziono w dokumencie”.
W ustawieniach przestrzeni możesz dodać stałą instrukcję:
Odpowiadaj po polsku i korzystaj wyłącznie z dokumentów w tej przestrzeni.
Nie uzupełniaj brakujących informacji własną wiedzą.
Wskazuj nazwę dokumentu oraz numer strony lub sekcji, jeśli dane te są dostępne.
Jeżeli nie znajdziesz odpowiedzi, napisz to wprost.
Numer strony może nie być dostępny, gdy parser nie zachował informacji o podziale dokumentu. Dlatego poza numerem strony warto prosić także o nazwę sekcji i krótki cytat.
Krok 8. Sprawdź, czy konfiguracja rzeczywiście działa lokalnie
Sam fakt zainstalowania programu na komputerze nie oznacza jeszcze, że wszystkie elementy są lokalne. W ustawieniach sprawdź, czy:
- dostawcą modelu jest Ollama, a nie usługa chmurowa,
- adres modelu prowadzi do 127.0.0.1,
- używasz lokalnego modelu embeddingowego,
- nie podano klucza API do zewnętrznego dostawcy,
- dokumenty znajdują się w lokalnej przestrzeni AnythingLLM.
AnythingLLM zbiera anonimową telemetrię, ale można ją wyłączyć w ustawieniach prywatności. W przypadku dokumentów poufnych wyłączenie tej opcji jest rozsądnym dodatkowym zabezpieczeniem.
Po pobraniu wszystkich modeli możesz odłączyć komputer od internetu i ponownie zadać pytanie dotyczące wcześniej osadzonego PDF. Jeżeli odpowiedź nadal zostanie wygenerowana, podstawowe przetwarzanie działa bez dostępu do chmury. Taki test nie pokazuje jednak wszystkich prób komunikacji sieciowej. W środowisku o podwyższonych wymaganiach można dodatkowo zablokować ruch wychodzący aplikacji w zaporze systemowej.
Gdzie AnythingLLM zapisuje dokumenty?
AnythingLLM Desktop przechowuje przetworzone dokumenty, bazę wektorową, ustawienia i historię pracy w lokalnym katalogu aplikacji.
Domyślne lokalizacje to:
- Windows: C:\Users\<użytkownik>\AppData\Roaming\anythingllm-desktop\storage
- macOS: /Users/<użytkownik>/Library/Application Support/anythingllm-desktop/storage
- Linux: ~/.config/anythingllm-desktop/storage/
W podkatalogu documents znajduje się przetworzona treść plików, w lancedb lokalna baza wektorowa, natomiast anythingllm.db zawiera bazę danych aplikacji. Przed przekazaniem komputera innej osobie lub usunięciem programu warto sprawdzić także ten katalog.
Co zrobić, gdy model nie odpowiada na podstawie PDF?
Najczęstsze problemy wynikające z błędnych działań.
Dokument został przesłany, ale nie osadzony
Sprawdź, czy plik został rzeczywiście przypisany do używanej przestrzeni roboczej. Model widzi tylko dokumenty dostępne w danym workspace lub bezpośrednio dołączone do aktualnej rozmowy.
PDF jest skanem
Jeżeli nie możesz zaznaczyć tekstu w przeglądarce PDF, wykonaj OCR i ponownie dodaj utworzony plik. Sam model językowy nie naprawi nieudanej ekstrakcji tekstu.
Pytanie jest zbyt szerokie
RAG wyszukuje ograniczoną liczbę fragmentów. Zamiast pytać o „wszystkie różnice w całym dokumencie”, podziel zadanie na rozdziały, zagadnienia albo konkretne wymagania.
Odpowiedzi są zbyt ogólne
Dodaj do polecenia warunek korzystania wyłącznie z dokumentu oraz prośbę o cytaty. Możesz też zwiększyć liczbę pobieranych fragmentów w ustawieniach RAG, ale zbyt duża liczba fragmentów może przeładować kontekst i spowolnić model.
Model odpowiada bardzo wolno
Zamknij aplikacje zajmujące dużo pamięci, wybierz mniejszy model albo skróć historię rozmowy. Na komputerze bez wydajnego GPU generowanie na procesorze może trwać znacznie dłużej.
Odpowiedź pomija tabelę lub złożony wykres
Modele pracujące z RAG korzystają przede wszystkim z tekstu uzyskanego przez parser. Skomplikowane tabele, schematy wielokolumnowe, przypisy i elementy graficzne mogą zostać odczytane nieprawidłowo. W takim przypadku warto wyeksportować istotną tabelę do prostszego formatu tekstowego lub użyć modelu obsługującego obrazy i przekazać mu konkretną stronę jako grafikę.
Lokalny czat z PDF jest gotowy — odpowiedzi nadal wymagają kontroli
Połączenie Ollama i AnythingLLM pozwala stworzyć wygodną, lokalną wyszukiwarkę dokumentów bez konfigurowania własnego serwera czy pisania kodu. Rozwiązanie sprawdzi się przy instrukcjach, notatkach, raportach, dokumentacji projektowej oraz innych plikach, których nie chcesz przesyłać do zewnętrznego dostawcy.
Trzeba jednak pamiętać, że lokalny model nadal może źle zinterpretować fragment, pominąć ważną sekcję albo wygenerować nieprawidłowy wniosek. Przy umowach, dokumentacji prawnej, finansowej lub technicznej zawsze otwieraj wskazane źródło i porównuj odpowiedź z oryginalnym tekstem. Lokalna AI może przyspieszyć wyszukiwanie informacji, ale nie zastępuje samodzielnej weryfikacji dokumentu.
