Zelfhosting van Perplexica - met Ollama
Lokale uitvoering van een Copilot-stijl service? Gemakkelijk!
Dat is erg spannend! In plaats van Copilot of perplexity.ai aan te roepen en de hele wereld te vertellen wat je zoekt, kun je nu een vergelijkbare dienst op je eigen PC of laptop hosten!
Perplexica is een systeem vergelijkbaar met Copilot en Perplexity.ai.
- Je stelt een vraag
- AI zoekt op het internet naar antwoorden (je kunt specificeren waar gezocht moet worden: academische papers, artikelen, YouTube, Reddit…)
- Vervolgens vat AI alles wat het heeft gevonden samen
- Daarna presenteert het resultaat met verwijzingen naar de originele websites
- Ook een lijst met afbeeldingen en YouTube-video’s aan de rechterkant
- Ook vervolgvragen klaar om op te klikken, als je het onderwerp nog wat meer wilt verkennen
Deze systemen worden in de cloud gehost en eigendom van bepaalde bedrijven (bijvoorbeeld Microsoft of Meta). Perplexica is Open Source-software die je op je PC of krachtige laptop kunt hosten.
Dezelfde upstream-codebase wordt nu gedistribueerd als Vane; Vane (Perplexica 2.0) Quickstart met Ollama en llama.cpp behandelt de huidige Docker-images, SearxNG en lokale inferentiepaden als je uitlijnt met het hernoemde project.
Voor een bredere vergelijking van lokale Ollama met vLLM, Docker Model Runner, LocalAI en cloudproviders – inclusief kosten- en infrastructuurafwegingen – zie LLM Hosting: Lokaal, Self-Hosted & Cloud Infrastructuur vergeleken.
Hier zien we de reactie van Perplexica met Chat-model llama3.1 8b q6 en jina Embedding-model - op de vraag Wie is Elon Musk?
Perplexica bestaat uit verschillende modules:
- SearxNG - Metazoekmachine. Het roept 10+ andere zoekmachines aan om de resultaten te krijgen, zodat Perplexica ze kan combineren. SearxNG is op zichzelf zeer configureerbaar; je kunt elke engine aan- en uitzetten en nieuwe toevoegen. Maar voor onze doeleinden werkt de standaardconfiguratie goed.
- Perplexica Backend en Frontend. Technisch gezien zijn dit twee afzonderlijke modules, de ene biedt de API, de andere de UI.
- Ollama Service - dit maakt geen deel uit van het Perplexica-project, maar als je je LLM’s lokaal wilt hosten, is Ollama de enige manier om ze te gebruiken.
De installatie van het hele systeem bestaat dus uit twee grote stappen:
- Installeer Ollama + download Ollama-modellen
- Installeer Perplexica samen met SearxNG
Ollama installeren
Om te beginnen met Ollama, volg deze stappen:
Installeer Ollama door het script uit te voeren:
curl -fsSL https://ollama.com/install.sh | sh
Zeg Ollama tegen om je favoriete LLM te downloaden. Als het Llama3.1 8b q4 is, voer het script uit:
ollama pull llama3.1:latest
Haal de nieuwste versie van Nomic-Embed-Text om te gebruiken als embedding-model (als dat je favoriet is) met:
ollama pull nomic-embed-text:latest
Bewerk het Ollama-servicebestand door het volgende uit te voeren:
sudo systemctl edit ollama.service
Voeg de volgende regels toe om Ollama aan het netwerk bloot te stellen (Perplexica moet er vanuit Docker mee verbinden):
[Service]
Environment="OLLAMA_HOST=0.0.0.0"
Herlaad de systemd-daemon en start de Ollama-service opnieuw:
sudo systemctl daemon-reload
sudo systemctl restart ollama
Controleer of Ollama succesvol is gestart:
systemctl status ollama.service
sudo journalctl -u ollama.service --no-pager
Een gedetailleerde beschrijving van hoe je Ollama installeert, bijwerkt en configureert, vind je hier: Installeer en configureer Ollama
Voor details over het gebruik van andere Ollama-modellen met Perplexica, zie hieronder het gedeelte ‘Andere Ollama-modellen installeren’.
Perplexica installeren
Ik heb dockerized Perplexica op Linux geïnstalleerd, maar een zeer vergelijkbare docker-compose kan ook worden gebruikt op Windows of Mac.
Laten we beginnen!
Aan de slag met Docker (Aanbevolen) Zorg ervoor dat Docker op je systeem is geïnstalleerd en draait.
Kloon de Perplexica-repository:
git clone https://github.com/ItzCrazyKns/Perplexica.git
Navigeer na het klonen naar de map met de projectbestanden.
cd Perplexica
Hernoem het bestand sample.config.toml naar config.toml. Als je Perplexica later wilt bijwerken via een git pull in deze repository, dan kopieer je het bestand sample.config.toml naar config.toml:
cp sample.config.toml config.toml
Bewerk het config-bestand:
nano config.toml
Voor Docker-opstellingen heb je alleen de volgende velden nodig:
OLLAMA: Jouw Ollama API-URL.
Je moet dit invoeren als http://host.docker.internal:PORT_NUMMER.
Als je Ollama op poort 11434 hebt geïnstalleerd (dat is de standaard), gebruik dan http://host.docker.internal:11434. Voor andere poorten, pas dit dienovereenkomstig aan.
Wanneer je nog steeds in de Perplexica-map bent, voer je uit:
docker compose up -d
Hiermee worden de SearxNG- en basis node-docker-images gedownload, twee Perplexica-docker-images gebouwd en drie containers gestart. Wacht een paar minuten tot de installatie voltooid is.
Je kunt Perplexica bereiken op http://localhost:3000 in je webbrowser.
Ga naar Instellingen. Je kent het - het tandwiel-icoon links onderaan, en kies je Ollama-modellen.

Hier zie je dat Chat-model geselecteerd is: llama3.1:8b-instruct-q6_K (Llama 3.1 8b met kwantisering q6_K), en Embedding-model nomic-embed-text:137m-v1.5-fp16.
Je kunt ook de Light- of Dark-tema kiezen, afhankelijk van wat je liever hebt.
Perplexica-zoekopties (klik op het oog-icoon in het vakje), in het Dark-tema:

Andere Ollama-modellen installeren
Je hebt de modellen llama3.1:latest en nomic-embed-text:latest al geïnstalleerd in het gedeelte “Ollama installeren” hierboven.
Je hebt slechts één model nodig voor chat, maar er zijn veel modellen beschikbaar. Ze gedragen zich iets anders, het is goed om te beginnen met de meest voorkomende: Llama3.1, Gemma2, Mistral Nemo of Qwen2.
Chat-modellen
De volledige naam van het chat-model dat je in het installatiegedeelte zag - llama3.1:latest - is llama3.1:8b-text-q4_0. Dit betekent dat het 8 miljard parameters heeft en kwantisering 4_0. Het is snel en relatief klein (4,8 GB), maar als je GPU wat meer geheugen heeft, raad ik je aan om het volgende te proberen:
- llama3.1:8b-instruct-q6_K (6,7 GB) - in mijn tests gaf dit een veel beter antwoord, hoewel het iets trager was.
- llama3.1:8b-instruct-q8_0 (8,5 GB) - of misschien deze.
Over het algemeen zijn alle modellen uit de llama3.1:8b-groep relatief snel.
Je kunt degenen die ik aanraad om te proberen, ophalen met het script:
ollama pull llama3.1:8b-instruct-q6_K
ollama pull llama3.1:8b-instruct-q8_0
Vergeleken met Llama3.1:8b, produceert Gemma2 meer beknopte en artistieke antwoorden. Probeer deze:
# 9,8 GB
ollama pull gemma2:9b-instruct-q8_0
# 14 GB
ollama pull gemma2:27b-instruct-q3_K_L
De Mistral Nemo-modellen produceren antwoorden ergens tussen gemma2 en llama3.1 in.
# de standaard, 7,1 GB
ollama pull mistral-nemo:12b-instruct-2407-q4_0
# 10 GB
ollama pull mistral-nemo:12b-instruct-2407-q6_K
# 13 GB
ollama pull mistral-nemo:12b-instruct-2407-q8_0
Je zou ook de Qwen2-modellen kunnen proberen:
# de standaard, 4,4 GB
ollama pull qwen2:7b-instruct-q4_0
# 8,1 GB
ollama pull qwen2:7b-instruct-q8_0
De modellen die mij het meest bevielen, zijn: llama3.1:8b-instruct-q6_K en mistral-nemo:12b-instruct-2407-q8_0.
Om te controleren welke modellen Ollama in de lokale repository heeft:
ollama list
Om een onnodig model te verwijderen:
ollama rm qwen2:7b-instruct-q4_0 # bijvoorbeeld
Embedding-modellen
Je kunt het installeren van deze overslaan; Perplexica heeft 3 embedding-modellen vooraf geïnstalleerd: BGE Small, GTE Small en Bert bilingual. Ze werken niet slecht, maar je zou andere embedding-modellen kunnen willen proberen.
In het Ollama-installatiegedeelte hierboven heb je het nomic-embed-text:latest-embedding-model geïnstalleerd, dat is een goed model, maar ik raad je ook aan om het volgende te proberen:
ollama pull jina/jina-embeddings-v2-base-en:latest
# en
ollama pull bge-m3:567m-fp16
Ik vond het resultaat van jina/jina-embeddings-v2-base-en:latest het leukst, maar beoordeel het zelf.
Perplexica Netwerkinstallatie
Als je het op een netwerkserver installeert, dan moet je voorafgaand aan:
docker compose up -d
of als Perplexica al draait en je de images opnieuw wilt bouwen:
# Stop het en verwijder alle containers (!!! alleen als je dit nodig hebt)
docker compose down --rmi all
Plaats het IP-adres van je Perplexica-server in docker-compose.yaml: voordat je uitvoert:
nano docker-compose.yaml
perplexica-frontend:
build:
context: .
dockerfile: app.dockerfile
args:
- NEXT_PUBLIC_API_URL=http://127.0.0.1:3001/api # << hier
- NEXT_PUBLIC_WS_URL=ws://127.0.0.1:3001 # << hier
depends_on:
- perplexica-backend
Start nu de Perplexica- en SearxNG-containers:
docker compose up -d
Of opnieuw bouwen en starten:
docker compose up -d --build
Perplexica bijwerken
Perplexica draait op Docker:
# Stop het en verwijder alle containers (!!! alleen als je dit nodig hebt)
docker compose down --rmi all
# Navigeer naar de projectmap
# waar je Perplexica tijdens de installatie hebt gekloned
cd Perplexica
# Haal de updates op
git pull
# Bijwerken en opnieuw bouwen van Docker-containers:
docker compose up -d --build
Voor niet-Docker-installaties zie je: https://github.com/ItzCrazyKns/Perplexica/blob/master/docs/installation/UPDATING.md
Veelgestelde vragen
-
V: Wat is Perplexica?
-
A: Perplexica is een gratis self-hosted AI-zoekmachine en een alternatief voor perplexity.ai en Copilot-systemen waarmee gebruikers hun eigen zoekmachine lokaal op hun computer kunnen draaien.
-
V: Wat zijn de stappen om Perplexica met Ollama te installeren en op te zetten?
-
A: De stappen omvatten het installeren van Ollama, het ophalen van de modellen en vervolgens het installeren van Perplexica.
-
V: Welke aanpassingsmogelijkheden zijn er in Perplexica?
-
A: Opties omvatten het kiezen van verschillende modellen zoals Llama 3.1, Mistral Nemo of Gemma2, het opzetten van lokale embedding-modellen en het verkennen van verschillende zoekopties zoals nieuws, academische papers, YouTube-video’s en Reddit-forums.
-
V: Welk Ollama-model moet je gebruiken met Perplexica?
-
A: De beste resultaten kregen we in onze tests toen we Perplexica draaiden met llama3.1:8b-instruct-q6_K en jina/jina-embeddings-v2-base-en:latest.
Om te zien hoe Ollama (Perplexica’s typische backend) past bij vLLM, Docker Model Runner, LocalAI en cloudproviders, bekijk onze gids LLM Hosting: Lokaal, Self-Hosted & Cloud Infrastructuur vergeleken.