Situatie
Documentele companiei sunt împrăștiate în multiple sisteme: file share-uri, SharePoint, email, Confluence, ticketing. Un RAG construit manual (ChromaDB/Qdrant + script de indexare) acoperă doar fișierele copiate local și necesită întreținere constantă a conectorilor.
Onyx (fost Danswer) este o platformă open-source (licență MIT) de căutare enterprise cu chat AI, care se instalează self-hosted, se conectează direct la sursele existente prin 40+ conectori și oferă căutare hibridă (vectorială + keyword) cu permisiuni respectate per utilizator. Poate rula complet air-gapped, cu LLM local prin Ollama sau vLLM.
Solutie
Pasi de urmat
Pasul 1 — Cerințe preliminare
# Docker si Docker Compose necesare
docker --version
docker compose version
# Verifica resurse disponibile (minim recomandat: 4 CPU, 16GB RAM, 50GB disk)
Get-CimInstance Win32_ComputerSystem | Select-Object NumberOfLogicalProcessors, TotalPhysicalMemory
Get-PSDrive C | Select-Object Used, Free
Pasul 2 — Clonare și configurare Onyx
# Clonare repository
git clone https://github.com/onyx-dot-app/onyx.git
cd onyx\deployment\docker_compose
Creează fișierul .env cu configurația pentru LLM local:
# Autentificare
AUTH_TYPE=basic
# LLM local prin Ollama (nu iese nimic in cloud)
GEN_AI_MODEL_PROVIDER=ollama
GEN_AI_API_ENDPOINT=http://host.docker.internal:11434
GEN_AI_MODEL_VERSION=llama3
# Model pentru embeddings
DOCUMENT_ENCODER_MODEL=intfloat/e5-base-v2
# Dezactiveaza telemetria
DISABLE_TELEMETRY=true
Pasul 3 — Pornire stack Onyx
# Porneste toate serviciile
docker compose -f docker-compose.dev.yml up -d
# Verifica statusul containerelor
docker compose -f docker-compose.dev.yml ps
# Urmareste logurile pana la initializare completa
docker compose -f docker-compose.dev.yml logs -f api_server
Prima pornire poate dura 5-10 minute (descărcare imagini + inițializare bază de date + model de embeddings).
Pasul 4 — Configurare inițială și cont administrator
# Deschide interfata web
Start-Process "http://localhost:3000"
La primul acces, creează contul de administrator direct în interfață. Apoi navighează la Admin Panel → LLM și confirmă că modelul Ollama este detectat corect.
Pasul 5 — Adăugare conector pentru file share intern
În Admin Panel → Connectors, adaugă un conector de tip File:
# Pregateste documentele pentru upload (sau monteaza un share direct)
# Varianta cu volum montat in docker-compose:
Adaugă în docker-compose.dev.yml, la serviciul api_server:
volumes:
- /mnt/fileshare:/app/documents:ro
# Reporneste doar serviciul modificat
docker compose -f docker-compose.dev.yml up -d --force-recreate api_server
Pasul 6 — Verificare indexare și testare căutare
# Verifica progresul indexarii din loguri
docker compose -f docker-compose.dev.yml logs -f background
În interfața web, testează o întrebare în limbaj natural:
"Care este procedura de resetare parola pentru utilizatorii din domeniu?"
Onyx returnează răspunsul generat de LLM-ul local, cu citări către documentele sursă exacte.
Pasul 7 — Configurare permisiuni per utilizator (opțional)
În Admin Panel → Users, creează grupuri și asignează conectori specifici — utilizatorii vor vedea doar rezultate din documentele la care au acces, nu întreaga bază.
Leave A Comment?