Self-hosta Perplexica – med Ollama
Kör en copilot-stil tjänst lokalt? Enkelt!
Det är mycket spännande! I stället för att anropa copilot eller perplexity.ai och berätta för hela världen vad du eftersträvar, kan du nu värd en liknande tjänst på din egen dator eller laptop!
Vad det är
Perplexica är ett system som liknar Copilot och Perplexity.ai.
- Du ställer en fråga
- AI söker efter svar på internet (du kan specificera var du vill söka: akademiska artiklar, skrivning, YouTube, Reddit…)
- Sedan sammanfattar AI allt den har hittat
- Sedan presenterar den resultatet med referenser till de ursprungliga webbplatserna
- En lista med bilder och YouTube-klipp på höger sida
- En lista med följdfrågor redo för dig att klicka på, om du vill utforska ämnet lite mer
Dessa system är värdade i molnet och tillhör vissa företag (till exempel, Miscrosoft eller Meta). Perplexica är en Open Source programvara som du kan värd på din dator eller kraftfull laptop. För en bredare jämförelse mellan lokal Ollama med vLLM, Docker Model Runner, LocalAI och molntjänsteföretag—inklusive kostnader och infrastrukturtrade-off—se LLM Hosting: Local, Self-Hosted & Cloud Infrastructure Compared.
Här ser vi Perplexicas svar med Chat-modell llama3.1 8b q6 och Jina Embedding-modell – till frågan Vem är Elon Mask?
Perplexica består av flera moduler
- SearxNG – Metasökmotor. Den kommer att anropa 10+ andra sökmotorer för att få resultaten, så att Perplexica kan kombinera dem. SearxNG är mycket konfigurerbar, du kan slå på och av varje motor och lägga till nya. Men för våra syften fungerar standardkonfigurationen bra.
- Perplexica Backend och Frontend. Tekniskt sett är dessa två separata moduler, en ger API, den andra är UI
- Ollama-tjänst – som inte är en del av Perplexica-projektet, men om du vill ha dina LLMs värd lokalt, är Ollama den enda vägen att använda dem.
Så installationen av hela systemet består av två stora steg:
- Installera Ollama + ladda ner Ollama-modeller
- Installera Perplexica tillsammans med SearxNG
Installera Ollama
För att börja med Ollama, följ dessa steg:
Installera Ollama genom att köra skriptet:
curl -fsSL https://ollama.com/install.sh | sh
Berätta för Ollama att ladda ner din favorit LLM. Om det är Llama3.1 8b q4 – kör skriptet:
ollama pull llama3.1:latest
Ladda ner den senaste versionen av Nomic-Embed-Text för att använda som embegging-modell (om det är din favorit) med
ollama pull nomic-embed-text:latest
Redigera Ollama-tjänstfilen genom att köra
sudo systemctl edit ollama.service
Lägg till följande rader för att exponera Ollama till nätverket (Perplexica behöver ansluta till den från inuti docker)
[Service]
Environment="OLLAMA_HOST=0.0.0.0"
Ladda om systemd-daemonen och starta om Ollama-tjänsten:
sudo systemctl daemon-reload
sudo systemctl restart ollama
Kontrollera att Ollama startade framgångsrikt
systemctl status ollama.service
sudo journalctl -u ollama.service --no-pager
Detaljerad beskrivning av hur man installerar, uppdaterar och konfigurerar Ollama se: Installera och konfigurera Ollama
För detaljer om att använda andra Ollama-modeller med Perplexica se avsnittet ‘Installera andra Ollama-modeller’ nedan.
Installera Perplexica
Jag har installerat dockeriserad Perplexica på Linux, men en mycket liknande docker-compose kan användas på Windows eller Mac.
Låt oss börja!
Komma igång med Docker (Rekommenderas) Se till att Docker är installerat och kör på din dator.
Klona Perplexica-repositoriet:
git clone https://github.com/ItzCrazyKns/Perplexica.git
Efter att ha klonat, navigera till mappen som innehåller projektfilerna.
cd Perplexica
Byt namn på sample.config.toml-filen till config.toml. Om du planerar att uppdatera Perplexica senare – genom att köra git pull in i detta repository – så kopiera bara sample.config.toml-filen till config.toml
cp sample.config.toml config.toml
Redigera konfigurationsfilen
nano config.toml
För Docker-konfigurationer behöver du bara fylla i följande fält:
OLLAMA: Din Ollama API-URL.
Du bör ange den som http://host.docker.internal:PORT_NUMBER.
Om du installerade Ollama på port 11434 (som är standardporten), använd http://host.docker.internal:11434. För andra portar, justera enligt behov.
När du fortfarande är i Perplexica-katalogen, kör:
docker compose up -d
Det kommer att hämta SearxNG och grundläggande nod Docker-bilder, bygga två Perplexica Docker-bilder och starta 3 behållare. Vänta några minuter tills installationen är klar.
Du kan komma åt Perplexica på http://localhost:3000 i din webbläsare.
Gå till Inställningar. Du vet – ikonen som ser ut som en cogs nedanför till vänster, och välj dina Ollama-modeller

Här ser du den valda chat-modellen llama3.1:8b-instruct-q6_K (Llama 3.1 8b med kvantifiering q6_K), och Embedding-modellen nomic-embed-text:137m-v1.5-fp16.
Du kan också välja mellan Ljus eller Mörk tema beroende på vad du föredrar mest.
Perplexica sökalternativ (Klicka på den här ögonen i rutan ikon), i mörkt tema:

Installera andra Ollama-modeller
Du har redan installerat modellerna llama3.1:latest och nomic-embed-text:latest i avsnittet “Installera Ollama” tidigare.
Du behöver bara en modell för chatten, men det finns många modeller tillgängliga. De beter sig något olika, det är bra att börja med de vanligaste: Llama3.1, Gemma2, Mistral Nemo eller Qwen2.
Chat-modeller
Fullständigt namn på chat-modellen som du såg i installationsavsnittet – llama3.1:latest är llama3.1:8b-text-q4_0. Det innebär att den har 8 miljarder parametrar och kvantifiering 4_0. Den är snabb och relativt liten (4,8 GB), men om din GPU har lite mer minne skulle jag rekommendera dig att prova
- llama3.1:8b-instruct-q6_K (6,7 GB) – i mina tester visade den mycket bättre svar, men var lite långsammare.
- llama3.1:8b-instruct-q8_0 (8,5 GB) – eller kanske denna.
Överlag är alla modeller från gruppen llama3.1:8b relativt snabba.
du kan hämta de jag rekommenderar att prova med skriptet:
ollama pull llama3.1:8b-instruct-q6_K
ollama pull llama3.1:8b-instruct-q8_0
Jämfört med Llama3.1:8b producerar Gemma2 mer koncisa och artistiska svar. Prova dessa:
# 9,8 GB
ollama pull gemma2:9b-instruct-q8_0
# 14 GB
ollama pull gemma2:27b-instruct-q3_K_L
Mistral Nemo-modellerna producerar svar någonstans mellan gemma2 och llama3.1.
# standarden, 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
Du kan också vilja prova Qwen2-modellerna
# standarden, 4,4 GB
ollama pull qwen2:7b-instruct-q4_0
# 8,1 GB
ollama pull qwen2:7b-instruct-q8_0
De modeller jag tyckte bäst om är: llama3.1:8b-instruct-q6_K och mistral-nemo:12b-instruct-2407-q8_0.
För att kontrollera vilka modeller Ollama har i lokal databas:
ollama list
För att ta bort någon onödig modell:
ollama rm qwen2:7b-instruct-q4_0 # till exempel
Embedding-modeller
Du kan hoppa över installationen av dessa, Perplexica har förinstallerat 3 embedding-modeller: BGE Small, GTE Small och Bert bilingual. De fungerar inte dåligt, men du kan vilja prova andra embedding-modeller.
I avsnittet för Ollama-installation ovan installerade du nomic-embed-text:latest embedding-modell, det är en bra modell, men jag skulle rekommendera dig också att prova:
ollama pull jina/jina-embeddings-v2-base-en:latest
# och
ollama pull bge-m3:567m-fp16
Jag tyckte mest om resultatet av jina/jina-embeddings-v2-base-en:latest, men prova själv.
Perplexica Nätverksinstallation
Om du installerar den på en nätverksserver, så innan
docker compose up -d
eller om du redan kör Perplexica och behöver återställa bilderna
# Stoppa den och ta bort alla behållare (!!! om du bara behöver den)
docker compose down --rmi all
Sätt in din perplexica-server IP-adress i docker-compose.yaml: sedan innan
nano docker-compose.yaml
perplexica-frontend:
build:
context: .
dockerfile: app.dockerfile
args:
- NEXT_PUBLIC_API_URL=http://127.0.0.1:3001/api # << här
- NEXT_PUBLIC_WS_URL=ws://127.0.0.1:3001 # << här
depends_on:
- perplexica-backend
nu starta Perplexica och SearxNG-behållare:
docker compose up -d
Eller återställ och starta:
docker compose up -d --build
Uppdatera Perplexica
Perplexica som körs på docker:
# Stoppa den och ta bort alla behållare (!!! om du bara behöver den)
docker compose down --rmi all
# Navigera till projektmappen
# där du klonade perplexica under installationen
cd Perplexica
# Hämta uppdateringarna
git pull
# Uppdatera och Bygg om Docker-behållare:
docker compose up -d --build
För icke-dockerinstallationer se: https://github.com/ItzCrazyKns/Perplexica/blob/master/docs/installation/UPDATING.md
Vanliga frågor
-
Fråga: Vad är Perplexica?
-
Svar: Perplexica är en gratis, självvärd AI-sökmotor och en alternativ till perplexity.ai och Copilot-system som låter användare köra sin egen sökmotor lokalt på deras dator.
-
Fråga: Vilka steg krävs för att installera och konfigurera Perplexica med Ollama?
-
Svar: Stegen inkluderar installation av Ollama, hämta modellerna, sedan installation av Perplexica.
-
Fråga: Vilka anpassningsalternativ finns i Perplexica?
-
Svar: Alternativ inkluderar att välja olika modeller som LLama 3.1, Mistral Nemo eller Gemma2, konfigurera lokala embedding-modeller och utforska olika sökalternativ som nyheter, akademiska artiklar, YouTube-klipp och Reddit-forum.
-
Fråga: Vilken Ollama-modell bör jag använda med Perplexica?
-
Svar: De bästa resultaten som vi fick i våra tester var när vi körde Perplexica med llama3.1:8b-instruct-q6_K och jina/jina-embeddings-v2-base-en:latest.
För att se hur Ollama (Perplexicas typiska backend) passar in med vLLM, Docker Model Runner, LocalAI och molntjänsteföretag, se vår LLM Hosting: Local, Self-Hosted & Cloud Infrastructure Compared-guide.