Szybki start z Vane (Perplexica 2.0), Ollama i llama.cpp
Własne wyszukiwanie AI z lokalnymi modelami językowymi (LLM)
Vane to jedna z bardziej praktycznych pozycji w przestrzeni „AI z wyszukiwaniem i cytowaniami": samodzielnie hostowana silnia odpowiedziowa, która łąży pobieranie danych z sieci w czasie rzeczywistym z lokalnymi lub chmurowymi modelami LLM, zachowując jednocześnie pełną kontrolę nad całą infrastrukturą.
Projekt pierwotnie nosił nazwę Perplexica, a zmiana nazwy na Vane nie była jedynie kosmetyczna: odzwierciedla ona zarówno porządkowanie marki, jak i stopniowe odejście od postrzegania projektu jako „klona" na rzecz bycia ogólnym silnikiem odpowiedziowym.

Ponieważ użyteczna część stosu technologicznego to nie tylko interfejs użytkownika, ale także miejsce, gdzie odbywa się wnioskowanie i przechowywane są dane, to porównanie hostowania LLM w 2026 roku łączy w sobie konfiguracje lokalne, samodzielnie hostowane i chmurowe, dzięki czemu możesz ustawić Vane obok innych środowisk wykonawczych i opcji wdrożeniowych.
Ten artykuł skupia się na aspektach, które faktycznie interesują technicznych czytelników: jak działa system, minimalny przewodnik uruchamiania w Dockerze oraz jak uruchomić go z lokalnym wnioskowaniem przez Ollama i llama.cpp (bezpośrednio lub przez LM Studio). W trakcie czytania każde pytanie z sekcji FAQ zostanie rozwinięte w kontekście, a nie odłożone na dół strony.
Czym jest Vane i jak działają silniki wyszukiwania AI
Na wysokim poziomie Vane to aplikacja Next.js łącząca interfejs czatu z funkcjami wyszukiwania i cytowania. Główne elementy architektoniczne to dokładnie to, czego oczekiwalibyśmy od nowoczesnego silnika wyszukiwania AI: trasy API do czatu i wyszukiwania, orkiestracja decydująca o momencie pobrania danych oraz generator odpowiedzi uwzględniający cytaty.
Gdy przekażesz zapytanie w interfejsie, Vane wywołuje POST /api/chat. Wewnętrznie przepływ pracy jest celowo zbudowany:
- Najpierw klasyfikuje pytanie, aby zdecydować, czy potrzebna jest analiza i które pomocniki mają zostać uruchomione.
- Uruchamia badanie i widżety równolegle.
- Generuje ostateczną odpowiedź i dołącza cytaty.
Ta etykieta „silnik wyszukiwania AI" ma znaczenie, ponieważ nie jest to zwykły frontend czatu. Kluczowa różnica polega na generowaniu rozszerzonym o pobranie danych (RAG): zamiast polegać wyłącznie na parametrach modelu LLM, Vane pobiera kontekst zewnętrzny (wyniki z sieci i opcjonalnie pliki przesłane przez użytkownika) i używa tego materiału jako podłoża dla ostatecznej odpowiedzi. Dokumentacja wyraźnie wskazuje wyszukiwanie w sieci i „wyszukiwanie w plikach przesłanych przez użytkownika" jako część procesu badawczego, wykorzystując wektory do wyszukiwania semantycznego w przesłanych plikach.
Cytaty nie są kwestią drugorzędnej wagi. Vane prosi model o podanie użytych źródeł, a następnie interfejs wyświetla te cytaty obok odpowiedzi. W praktyce to właśnie to rozdziela „użyteczne" wyszukiwanie AI od pewnego siebie generatora halucynacji, który akurat ma przycisk wyszukiwania.
W większości konfiguracji pod warstwą pobierania danych z sieci znajduje się SearxNG. SearxNG to darmowy silnik metawyszukiwania, który agreguje wyniki z wielu usług wyszukiwania i, z założenia, nie śledzi ani nie profiluje użytkowników. To fundamentalnie inna filozofia niż w przypadku płatnych API wyszukiwania, które zazwyczaj zapewniają indeks jednego dostawcy oraz komercyjną umowę dotyczącą danych.
Historia Perplexica i zmiana nazwy na Vane
Perplexica powstało jako open-source’owa, samodzielnie hostowana silnia odpowiedziowa zainspirowana przez Perplexity AI. Wiele publicznych przewodników nadal opisuje projekt jako „wcześniej znany jako Perplexica" i traktuje Vane jako kontynuację, a nie wrogi fork.
Zmiana nazwy została zaimplementowana bezpośrednio w repozytorium źródłowym. W historii commitów gałęzi master, commit zatytułowany feat(app): rename to 'vane' pojawił się 9 marca 2026 roku (SHA 39c0f19).
„Jak" jest bardziej interesujące niż sam nagłówek. Ten commit ze zmianą nazwy to nie tylko poprawka README: aktualizuje nazwy obrazów Docker z itzcrazykns1337/perplexica na itzcrazykns1337/vane, dostosowuje ścieżki w systemie plików kontenera z /home/perplexica na /home/vane oraz aktualizuje tekst i zasoby projektu odpowiednio.
Jeśli zastanawiasz się, dlaczego projekty open-source AI zmieniają nazwy, Vane jest podręcznikowym przykładem typowych przyczyn:
- Bliskość nazwy do marki komercyjnej powoduje zamieszkanie (a czasem ryzyko prawne).
- Zakres projektu rozszerza się poza pierwotne ramy (z „klona" do „silnika odpowiedziowego").
- Artefakty dystrybucyjne potrzebują spójnej tożsamości (obrazy Docker, dokumentacja, etykiety UI).
Ponadto ekosystem nie zmienia nazw z dnia na dzień. Docker Hub nadal pokazuje oba repozytoria pod kontem utrzymaniu, w tym itzcrazykns1337/vane oraz itzcrazykns1337/perplexica. Dlatego nadal możesz spotkać starsze wpisy blogowe, pliki compose i odniesienia do rejestrów używające nazewnictwa Perplexica, nawet po rebrandingu repozytorium.
Szybki start z Dockerem i podstawowa konfiguracja
Oficjalny README Vane jest odświeżająco bezpośredni: uruchom pojedynczy kontener i otrzymasz Vane wraz z dołączonym backendem wyszukiwania SearxNG. Minimalny szybki start z Dockerem wygląda następująco.
docker run -d -p 3000:3000 -v vane-data:/home/vane/data --name vane itzcrazykns1337/vane:latest
Ten obraz jest pozycjonowany jako ścieżka „działa od razu", ponieważ zawiera już SearxNG, więc nie potrzebujesz zewnętrznego backendu wyszukiwania tylko po to, aby przetestować interfejs. Konfiguracja odbywa się na ekranie konfiguracyjnym po otwarciu interfejsu webowego pod adresem http://localhost:3000.
Jeśli już uruchamiasz SearxNG (częste w domowych laboratoriach), „smukły" obraz Vane oczekuje, że wskaczesz go na zewnętrzną instancję SearxNG używając zmiennej SEARXNG_API_URL. README również wskazuje dwa praktyczne oczekiwania dotyczące ustawień SearxNG: włączone wyjście JSON oraz włączony silnik Wolfram Alpha.
docker run -d -p 3000:3000 \
-e SEARXNG_API_URL=http://your-searxng-url:8080 \
-v vane-data:/home/vane/data \
--name vane \
itzcrazykns1337/vane:slim-latest
Aktualizowanie Vane jest również udokumentowane w repozytorium. Oficjalny proces aktualizacji polega w zasadzie na pociągnięciu najnowszego obrazu i ponownym uruchomieniu z tym samym wolumenem, co zachowuje ustawienia.
docker pull itzcrazykns1337/vane:latest
docker stop vane
docker rm vane
docker run -d -p 3000:3000 -v vane-data:/home/vane/data --name vane itzcrazykns1337/vane:latest
Po uruchomieniu Vane można używać jako skrót do wyszukiwania w przeglądarce, wskazując niestandardowy silnik na http://localhost:3000/?q=%s. To niewielka funkcja o dużym wpływie, jeśli chcesz, aby „wyszukiwanie AI" czuło się jak wyszukiwanie, a nie jak aplikacja, do której się zagląda.
W celu automatyzacji i integracji Vane udostępnia API. Dokumentacja opisuje GET /api/providers do odkrywania skonfigurowanych dostawców i modeli oraz POST /api/search do wykonania wyszukiwania z wybranym modelem czatu, modelem wektorów, źródłami oraz optimizationMode (prędkość, zrównoważony, jakość).
Lokalne konfiguracje LLM z Ollama
Vane obsługuje lokalne LLM przez Ollama i dostawców chmurowych w tym samym interfejsie, co jest właściwą abstrakcją, jeśli myślisz w kategoriach „połączeń" i „modeli", a nie „dostawców".
Najczęstszy problem nie dotyczy wyboru modelu, ale sieci. Gdy Vane działa w Dockerze, a Ollama na hoście, „localhost" nie oznacza tego, co myślisz, wewnątrz kontenera. Vane dokumentuje specyficzne dla systemu operacyjnego podstawowe URL-e do łączenia się z Ollama z kontenera.
Pułapki połączeniowe z Dockerem
Sekcja rozwiązywania problemów w Vane wyraźnie zaleca:
- Windows i macOS:
http://host.docker.internal:11434 - Linux:
http://<private_ip_of_host>:11434
Dla Linuxa Vane zauważa również, że Ollama może być domyślnie przypisane do 127.0.0.1 i wymaga ekspozycji. README sugeruje ustawienie OLLAMA_HOST=0.0.0.0:11434 w usłudze systemd i ponowne uruchomienie usługi.
To zgadza się z własnymi zmiennymi środowiskowymi serve Ollama, gdzie OLLAMA_HOST kontroluje adres powiązania serwera i domyślnie wynosi 127.0.0.1:11434.
Trzymaj modele w gotowości i wybierz modele
Jeśli uruchamiasz lokalne wnioskowanie, poczujesz zimne starty. Ollama ma dwa powiązane mechanizmy utrzymywania modeli załadowanych:
OLLAMA_KEEP_ALIVEjako ustawienie serwera.keep_alivejako parametr dla każdego żądania dla/api/generatei/api/chat, który nadpisuje domyślne ustawienie serwera.
Vane dodało własne wsparcie dla keep_alive dla modeli Ollama (tak aby aplikacja mogła wpływać na to, jak długo model pozostaje w pamięci). Ta funkcja pojawiła się w notatkach wydania Vane v1.10.0.
Wybór modelu to część, która w internecie bywa nadmiernie komplikowana. Dla pracy w stylu Vane, najbardziej praktyczny podział to:
- Model czatu dostrojony do instrukcji (do podsumowań i syntezy).
- Model wektorowy do wyszukiwania podobieństw w przesłanych i pobranych tekstach. Dokumentacja API Vane pokazuje, że żądanie wyszukiwania wyraźnie wybiera zarówno model czatu, jak i model wektorowy.
Sam Ollama obsługuje przepływy pracy z wektorami, a nawet dokumentacja CLI zawiera przykład używania nomic-embed-text do wektorów.
To również jest odpowiedzią na pytanie z FAQ o uruchamianiu wyszukiwania AI lokalnie bez chmurowych API: z Vane w Dockerze, SearxNG lokalnie i Ollama na Twoim sprzęcie, możesz utrzymać zarówno zapytania wyszukiwania, jak i prywatne pliki przesłane w obrębie własnej sieci. (Jeśli zdecydujesz się połączyć z dostawcą chmurowym, ścieżka danych oczywiście się zmienia.)
Lokalne konfiguracje LLM z llama.cpp
Istnieją dwa realistyczne sposoby sparowania Vane z llama.cpp:
- Użyj LM Studio jako warstwy serwerowej (i pozwól Vane komunikować się z nim).
- Uruchom własny serwer HTTP llama.cpp (llama-server) i połącz się przez kompatybilny z OpenAI punkt końcowy.
Vane wyraźnie obsługuje „Lokalne serwery zgodne z API OpenAI" i wymienia typowe wymagania: powiązanie z 0.0.0.0 zamiast 127.0.0.1, użycie poprawnego portu, ustawienie nazwy modelu istniejącego na serwerze oraz niepozostawianie pola klucza API pustego, nawet jeśli serwer nie wymusza autoryzacji.
LM Studio jest istotne tutaj, ponieważ znajduje się nad lokalnymi backendami (często llama.cpp), jednocześnie udostępniając API zgodne z OpenAI. Vane v1.12.1 konkretnie wspomina o dodaniu dostawcy LM Studio.
Dokumentacja LM Studio wymienia obsługiwane punkty końcowe zgodne z OpenAI i pokazuje przykład podstawowego URL-a używającego http://localhost:1234/v1 (zakładając port 1234). To ma znaczenie, ponieważ z perspektywy Vane jest to „po prostu kolejny serwer stylu OpenAI".
Jeśli wolisz uruchamiać llama.cpp bezpośrednio, oficjalny serwer HTTP llama.cpp obsługuje zakończenia czatu zgodne z API OpenAI, odpowiedzi i trasy wektorów, wraz z długą listą funkcji serwera (grupowanie, monitorowanie, użycie narzędzi).
Nawet jeśli nie pamiętasz flag, ważne są następujące części:
- Serwer istnieje i jest aktywnie dokumentowany.
- Powierzchnia API jest wystarczająco kompatybilna, aby klienci stylu OpenAI mogli z nim rozmawiać, co jest dokładnie tym, czego Vane potrzebuje dla swojego wzorca połączenia „zgodnego z OpenAI".
Co zostało ostatnio wydane i co się zmienia teraz
Jeśli chcesz zrozumieć, czym Vane stało się w ciągu ostatniego roku, śledź notatki wydania i historię gałęzi master, a nie hypes.
Stanem na 10 kwietnia 2026 roku (Australia/Melbourne), najnowsza oznaczona wersja GitHub widoczna na stronie wydań to v1.12.1 (31 grudnia 2025). To wydanie notuje dodanie dostawcy LM Studio oraz poprawki wokół wywoływania funkcji z dostawcami zgodnymi z OpenAI i parsowaniem JSON.
Poprzednie wydania zarysowują większe zmiany:
- v1.11.0 (21 października 2025) wprowadziło nowy kreator konfiguracji i przebudowany system konfiguracyjny, wraz z szerszym wsparciem dla dostawców i ścieżką instalacji Docker w jednym poleceniu. Wspomina również o dynamicznym pobieraniu modeli oraz różnych poprawkach UI i doświadczenia deweloperskiego.
- v1.12.0 (27 grudnia 2025) to reset architektoniczny: usuwa LangChain na rzecz własnej implementacji dla strumieniowania, generowania i zachowań specyficznych dla dostawców. Zmienia również nazwę „dostawców" na „połączenia", dodaje poprawki renderowania UI i kodu oraz przenosi więcej możliwości do własnych abstrakcji projektu (w tym poprawione wywoływanie funkcji w porównaniu do poprzednich podejść do parsowania).
- Wcześniej, v1.10.0 (20 marca 2025) dodało przesyłanie plików (PDF, TXT, DOCX), dodało parametr
keep_alivedla Ollama, dodało klasę agenta metawyszukiwania dla poprawy utrzymywalności i tworzenia trybu skupienia oraz dodało automatyczne funkcje wyszukiwania obrazów i wideo.
Co do marki, zmiana nazwy na Vane została zatwierdzona 9 marca 2026 roku w masterze (feat(app): rename to 'vane'), aktualizując zarówno nazewnictwo kodu, jak i artefakty Docker.
Projekt nie przestał się rozwijać po wydaniu z grudnia 2025. Commity gałęzi master z dni 8-9 kwietnia 2026 obejmują pracę opisaną jako „uaktualniony tryb głębokiej analizy, zarządzanie kontekstem" oraz nowe zmiany dotyczące wykonywania wyszukiwania i scrapingu. Innymi słowy, część „silnika wyszukiwania AI" jest nadal aktywnie iterowana, a nie zamrożona za oznaczeniami wydań.