Full-Library Search w Zotero — test: 10,000 PDF-ów zaindeksowanych w 7 minut, odpowiedzi w 19.5 ms
Twoja biblioteka Zotero zawiera setki — może dziesiątki tysięcy — PDF-ów. „Pamiętam, że w mojej bibliotece był artykuł dokładnie o tym"… i co dalej? Grzebanie w tagach, sortowanie po roku, zgadywanie słów kluczowych. Dziesięć minut później wciąż szukasz. Wbudowana wyszukiwarka Zotero znajdzie pozycję, ale nie odpowie na pytanie — a już na pewno nie zestawi za Ciebie wniosków z 50 publikacji.
Full-Library Search w PapersGPT powstała właśnie po to: zaznacz jedno pole, a cała biblioteka staje się bazą wiedzy, do której zadajesz pytania w języku naturalnym — dostajesz bezpośrednie odpowiedzi z klikalnymi cytowaniami, a nie listę publikacji do otwarcia.
W tym poście zero teorii — tylko trzy rzeczy: dane z benchmarku, jak z tego korzystać i gdzie to daje najwięcej.
Najpierw liczby: 10,000 PDF-ów, nadal 19.5 ms
Oficjalny benchmark objął pełne testy indeksowania i odpytywania przy dwóch rozmiarach biblioteki (dane z otwartego repozytorium, 2.7k+ stars):
| Metryka | 1,000 PDF-ów | 10,000 PDF-ów |
|---|---|---|
| Dane surowe | 4.2 GB | 42 GB (~170k pages) |
| Czas indeksowania | 51.5 s | 7m 01s |
| Średni czas zapytania | 13.1 ms | 19.5 ms |
| Pamięć (RSS) | 353 MB | 2.21 GB |
| Rozmiar indeksu | 100 MB | 901 MB |
Trzy liczby, które warto zapamiętać:
- 10× większa biblioteka, +6.4 ms na zapytanie. 13.1 ms → 19.5 ms — mniej niż jedna sieciowa podróż w obie strony w przeglądarce. W codziennym użyciu wyszukiwanie wśród 100 publikacji nie różni się odczuciem od wyszukiwania wśród 10,000.
- 170,000 stron w 7 minut — koszt jednorazowy. To około 400 stron na sekundę. Po indeksowaniu każde zapytanie pozostaje w zakresie milisekund, a nowo dodane publikacje są indeksowane przyrostowo. Bez przebudowy.
- 42 GB surowych PDF-ów kompresuje się do indeksu o rozmiarze 901 MB (~2%) — dlatego wszystko to spokojnie działa na zwykłym laptopie.
Jak to działa
Full-Library Search nie wysyła Twoich PDF-ów do czyjejś chmury — wszystko dzieje się na Twojej maszynie:
- Natywny silnik C++. Rdzeń indeksowania i wyszukiwania jest napisany w C++ — tej samej klasie języków, którą używają silniki baz danych i systemy transakcyjne — bez narzutu interpretera Python/Node na gorącej ścieżce wyszukiwania.
- Indeksowanie strukturalne, a nie „rozmyte" wektorowe wyszukiwanie semantyczne. Silnik rozumie strukturę dokumentu (gdzie są tytuł, sekcje, abstrakt i bibliografia) i łączy ją z rankingiem pełnotekstowym BM25 — tym samym modelem rankingu, na którym opierają się nowoczesne wyszukiwarki; dla trafności tekstu naukowego jest znacznie pewniejszy niż generyczne dopasowanie wektorowe.
- Zero rundtripów sieciowych. Brak kolejek uploadu, brak indeksowania po stronie serwera, brak opóźnień API. Prędkość, którą widzisz, to prędkość Twojej maszyny.
Z perspektywy użytkownika: cztery scenariusze, które się opłacają
1. Pisanie Related Work: niech 50 publikacji ustawi się w kolejce
„Które publikacje w mojej bibliotece używają transformerów do prognozowania szeregów czasowych i z jakimi baseline'ami je porównują?"
Full-Library Search przeczesuje całą bibliotekę, klasyfikuje według trafności i syntetyzuje — za każdym twierdzeniem stoi cytowanie, które przenosi prosto do źródła. Ty tylko weryfikujesz, zamiast szukać.
2. Odnalezienie „tej publikacji, której tytułu nie pamiętam"
„Kilka miesięcy temu czytałem coś o łagodzeniu halucynacji za pomocą danych syntetycznych — chyba niemiecka grupa."
Tytuł niepotrzebny; opisz zawartość. Wyszukiwanie obejmuje tytuły, autorów, tagi, abstrakty oraz Twoje własne adnotacje i notatki w Zotero — notatka na marginesie zapisana wtedy to najlepsze zapytanie, jakie możesz dziś wpisać.
3. Sprawdzanie sprzecznych dowodów: polisa przed obroną
Zaawansowaną formą tego jest Global Library Synthesis: analiza do 10,000+ dokumentów jednocześnie, by mapować trendy badawcze, ewolucję terminologii i — co najważniejsze — sprzeczne wnioski. „Jakie dowody za i jakie przeciw zawiera moja biblioteka na temat efektu X?" Pytanie, które ręcznie zajęłoby tydzień, tutaj zajmuje minuty.
4. Dziesięć minut przed spotkaniem zespołu
„Pogrupuj publikacje w mojej bibliotece o tym biomarkerze według wielkości próby, od największej, i podsumuj każdą grupę."
Odpowiedź ląduje w oknie czatu — do skopiowania, do zapisania jako notatka Zotero, z każdym cytowaniem do prześledzenia.
Czym się to różni od wbudowanej wyszukiwarki Zotero
| Wbudowana wyszukiwarka Zotero | Full-Library Search w PapersGPT | |
|---|---|---|
| Zwraca | Listę pozycji | Bezpośrednie odpowiedzi + klikalne cytowania |
| Synteza między dokumentami | ❌ | ✅ Porównania między publikacjami, analiza sprzecznych dowodów |
| Styl zapytania | Dopasowanie słów kluczowych | Język naturalny (dowolny język) |
| Zakres | Metadane + indeks pełnotekstowy | Pełny tekst + Twoje adnotacje i notatki |
| Typowe opóźnienie | Sekundy | ~19.5 ms do wyniku |
| Podsumowania | ❌ | ✅ Napędzane przez 30+ LLMs |
Uzupełniają się wzajemnie: wyszukiwarka Zotero znajduje pozycję; Full-Library Search daje Ci odpowiedź.
Prywatność: działa w trybie samolotowym
Indeksowanie i wyszukiwanie w 100% lokalnie, bez zależności od API w chmurze. W praktyce:
- Przyjazny trybowi samolotowemu: wyszukiwanie i indeksowanie działają w pełni offline.
- Zero wycieków bajtów: Twoje PDF-y, notatki, adnotacje i zapytania nigdy nie opuszczają Twojej maszyny.
- W pełni offline'owy przepływ pracy: połącz go z modelem lokalnym przez Ollama (lub wbudowane pobieranie modeli open source jednym kliknięciem) i cała pętla — od pytania do odpowiedzi — działa bez sieci. Idealne dla nieopublikowanych danych, wewnętrznych badań firmowych i prac wrażliwych na zgodność (compliance).
Jeśli chcesz podpiąć całą bibliotekę do Claude Code, Cursor i podobnych agentów, Zotero MCP Server przeszuka pełną bibliotekę bez otwierania Zotero — ten sam lokalny indeks, na Twoich warunkach.
Połącz z Literature Radar: odkryj → zapisz → przeszukuj
Literature Radar nieustannie dodaje nowe publikacje do Twojej biblioteki (Explore do odkrywania, Track do subskrybowania), a Full-Library Search zamienia każdą z nich — dziesięcioletnią klasykę czy wczorajszy preprint — w coś, o co możesz pytać od razu. Jeden zarządza napływem, drugi wyszukiwaniem. Razem domykają pętlę.
Pierwsze kroki
- Pobierz wtyczkę PapersGPT (Zotero 7+), zainstaluj ją i zaznacz Search entire library w panelu czatu.
- Pytaj językiem naturalnym — odpowiedzi przychodzą z cytowaniami.
- Full-Library Search jest wliczona w każdy płatny plan; nowi użytkownicy mogą najpierw wypróbować ją przez bezpłatny okres próbny.
FAQ
Czy moje PDF-y są wysyłane na serwer?
Nie. Indeksowanie i wyszukiwanie działają w całości lokalnie — powyższy benchmark uruchomiono bez jakiejkolwiek zależności od zewnętrznego API. Twoje PDF-y, notatki i zapytania nigdy nie opuszczają Twojej maszyny.
Jaki rozmiar biblioteki jest obsługiwany?
Od 100 do 10,000+ publikacji. Oficjalny benchmark obejmuje 1,000 PDF-ów (51.5 s indeksowania) i 10,000 PDF-ów (7m 01s indeksowania, 19.5 ms zapytania). Koszt indeksowania rośnie w przybliżeniu liniowo; opóźnienie zapytań pozostaje stałe.
Czym to się różni od wbudowanego wyszukiwania pełnotekstowego Zotero?
Wyszukiwanie pełnotekstowe Zotero zwraca listę trafień, które musisz otwierać i sprawdzać pojedynczo. Full-Library Search zwraca zsyntetyzowaną odpowiedź w poprzek dokumentów, z klikalnymi cytowaniami, obejmując też Twoje adnotacje i notatki.
Czy mogę zadawać pytania w swoim języku?
Tak. Język pytania zależy od wybranego LLM — chiński, angielski i inne działają; sam indeks obsługuje pełny tekst w każdym języku.
Czy działa w pełni offline?
Indeksowanie i wyszukiwanie tak (czysto lokalnie). Generowanie odpowiedzi wymaga sieci, jeśli wybierzesz model w chmurze (GPT, Claude, DeepSeek itd.); przełącz się na model lokalny przez Ollama, a cała pętla działa offline.