LOEMIND.md 5.6 KB

AnythingLLM – Docker kasutusjuhend

Dokumentide põhine LLM vestlusrobot (RAG – oma failidest küsimiseks).

Arhitektuur

Komponent Asukoht Ühendus
AnythingLLM Docker konteiner (anythingllm) port 3002
Ollama (LLM) Native systemd teenus host.docker.internal:11434
Ollama (embedding) Native systemd teenus host.docker.internal:11434
Qdrant Docker konteiner (qdrant) qdrant:6333 (docker-võrk)
llama.cpp Native (screen llama-120b) host.docker.internal:8070 (GPT-OSS)
GPU ROCm 7.2.2, gfx1151 (Radeon 8060S) hostil

NB! Ollama EI OLE Dockeris – see jookseb native systemd teenusena koos ROCm GPU toega. Ühendus toimub läbi host.docker.internal:11434.

Seadistus

Kasutab:

  • Ollama (native) – LLM mudel (qwen3:30b-fast, 18 GB)
  • Ollama (native) – embedding mudel (nomic-embed-text:latest, GPU, 274 MB)
  • Qdrant – vektorbaas (qdrant:6333; NB: host.docker.internal ei tööta, sest Qdrant on seotud ainult 127.0.0.1+tailnet, mitte docker-gateway)
  • llama.cpp – LLM provider localai (LOCAL_AI_BASE_PATH=http://host.docker.internal:8070/v1, mudel GPT-OSS)

Compose faili olulised keskkonnamuutujad:

  • LLM_PROVIDER=ollama – LLM läbi ollama
  • OLLAMA_BASE_PATH=http://host.docker.internal:11434 – native ollama
  • OLLAMA_MODEL_PREF=qwen3:30b-fast – LLM mudel
  • EMBEDDING_ENGINE=ollama – embedding läbi ollama
  • EMBEDDING_MODEL_PREF=nomic-embed-text:latest – GPU embedding
  • VECTOR_DB=qdrant – vektorbaasi tüüp
  • SETUP=false – süsteem juba seadistatud

NB! Mudelit saab igal ajal muuta AnythingLLM veebiliidese kaudu (Settings → LLM / Embedder). Compose failis olev mudelinimi on ainult algseadistuse jaoks.

Krüpteerimine (oluline!)

  • SIG_KEY / SIG_SALT peavad olema püsivad — AnythingLLM krüpteerib nendega tundlikud andmed (nt Telegram bot-token). Kui need puuduvad, genereerib ta need ja kirjutab konteineri /app/server/.env-i, mis pole mount'itud → recreate kaotab võtme ja vanad saladused ei dekrüpteeru.
  • Seetõttu on need viidud anythingllm/.env-i (gitignore): AUTH_PASS, AUTH_TOKEN, JWT_SECRET, SIG_KEY, SIG_SALT.
  • Patch: patches/validatedRequest.js (mount'itud) — vigane/aegunud JWT annab 401, mitte ei kuku (upstream bug: bcrypt.compareSync(null)).

Telegram bot

  • Bot @ardokanythingllm_bot (connector external_communication_connectors, active=1), default workspace liiklussagedus, kinnitatud kasutaja 5036685258.
  • Iga sõnum → workspace chat → vastus Telegrami. Allikate vaatamiseks boti käsk /proof.

RAG viited ja keel (system prompt)

  • System prompt asub prompts/system_prompt.txt (DB-s: workspaces.openAiPrompt, system_settings.default_system_prompt).
  • Reeglid: vasta alati eesti keeles, väljasta ainult lõplik vastus (ilma <think>/JSON), numbrilised viited [n] + lõpus "Allikad" loetelu, ära genereeri URL-e.
  • queryRefusalResponse = "Sellele küsimusele ei leidu selle tööruumi dokumentides vastust."

Docker käsud

# Ava kaust
cd /opt/docker-compose/third/server/anythingllm/

# Käivita
docker-compose up -d

# Peata
docker-compose down

# Taaskäivita
docker-compose restart

# Logid
docker-compose logs -f

# Uuenda
docker-compose pull
docker-compose up -d

Docker otse

# Konteineri seis
docker ps | grep anythingllm

# Logid
docker logs anythingllm

# Taaskäivita
docker restart anythingllm

# Kontrolli ollama ühendust
docker exec anythingllm curl -s http://host.docker.internal:11434/api/tags

Ligipääs

Teenus Port URL
AnythingLLM UI 3002 http://100.87.1.24:3002

Sisselogimine

  • Kasutaja: ardo
  • Parool: dwNs55RkiwSEC3TxQG0P

Olulised kataloogid

Asukoht Sisu
/opt/docker-compose/third/server/anythingllm/ Compose failid ja see dokument
/data/docker/anythingllm/storage Andmebaas, dokumendid, seadistused
/data/docker/anythingllm/logs Logid
/backups/docker/anythingllm Varukoopiad

Võrguinfo

  • Konteiner on main_ai_network peal (compose'is ai_network)
  • Ligipääs Ollamale ja Qdrantile läbi host.docker.internal
  • extra_hosts: host.docker.internal:host-gateway on compose failis seadistatud

Vead ja tõrkeotsing

Ei ühendu Ollamaga

# Testi ollama API-t
curl http://100.87.1.24:11434/api/tags

# Testi konteineri seest
docker exec anythingllm curl -s http://host.docker.internal:11434/api/tags

# Kontrolli compose faili
grep OLLAMA /opt/docker-compose/third/server/anythingllm/docker-compose.yml

Embedding aeglane

  • Kontrolli, et EMBEDDING_MODEL_PREF=nomic-embed-text:latest (GPU versioon)
  • Kontrolli ollama GPU olekut: ollama ps peaks näitama "100% GPU"
  • Kui mudel pole laetud, tee üks embedding päring UI kaudu

Andmebaasi lähtestamine

Kui on vaja kõik andmed kustutada ja otsast alustada:

# Peata konteiner
docker-compose -f /opt/docker-compose/third/server/anythingllm/docker-compose.yml down

# Kustuta storage (ETTEVAATUST – kustutab KÕIK)
sudo rm -rf /data/docker/anythingllm/storage/*

# Muuda compose failis SETUP=true (esmaseks seadistuseks)
# Käivita uuesti
docker-compose -f /opt/docker-compose/third/server/anythingllm/docker-compose.yml up -d

Ajalugu

Kuupäev Muudatus
2025-07-05 Konteiner viidud otse docker run pealt compose haldusesse
2025-07-05 SETUP=true → false (süsteem juba seadistatud)
2025-07-05 Ollama viidud native peale – ühendus host.docker.internal:11434