Sul on juba korralik komplekt olemas – Ollama, Qwen 14B ja Qdrant. Nüüd lisame AnythingLLM-i, mis oskab kõiki neid komponente kenasti kokku siduda. Allpool on täielik `docker-compose.yml`, mis arvestab sinu olemasoleva seadistusega. ```yaml # docker-compose.yml # Salvesta see kataloogi ~/anythingllm/ ja käivita: docker compose up -d services: anythingllm: image: mintplexlabs/anythingllm:latest container_name: anythingllm restart: unless-stopped ports: - "3002:3001" volumes: - /data/docker/anythingllm/storage:/app/server/storage - /data/docker/anythingllm/logs:/app/server/logs - /backups/docker/anythingllm:/backups - /etc/localtime:/etc/localtime:ro environment: # Üldine - NODE_ENV=production - PORT=3001 - STORAGE_DIR=/app/server/storage - SETUP=true # Autentimine (muuda kindlasti ära!) - AUTH_TOKEN=dwNs55RkiwSEC3TxQG0P - JWT_SECRET=muuda-see-samuti-turvaliseks # Andmebaas (AnythingLLM-i enda SQLite, mitte vektorbaas) - DATA_DIR=/app/server/storage # LLM – sinu juba töötav Ollama - LLM_PROVIDER=ollama - OLLAMA_BASE_PATH=http://host.docker.internal:11434 - OLLAMA_MODEL_PREF=qwen2.5:14b-instruct - OLLAMA_MODEL_TOKEN_LIMIT=8192 # Embedding-mudel (samuti Ollamast või eraldi) - EMBEDDING_ENGINE=ollama - EMBEDDING_BASE_PATH=http://host.docker.internal:11434 - EMBEDDING_MODEL_PREF=nomic-embed-text:latest - EMBEDDING_MODEL_MAX_CHUNK_LENGTH=8192 # Vektorbaas – sinu olemasolev Qdrant - VECTOR_DB=qdrant - QDRANT_ENDPOINT=http://host.docker.internal:6333 #- QDRANT_URI=http://qdrant:6333 # Kui Qdrant-il pole API võtit (vaikeseadistus), jäta tühjaks või kommenteeri välja # - QDRANT_API_KEY=sinu-api-võti-kui-on # Võimalik lisada ka transkriptsiooniks, aga pole kohustuslik # - WHISPER_PROVIDER=local extra_hosts: - "host.docker.internal:host-gateway" networks: - ai_network networks: ai_network: external: true name: main_ai_network ``` #### API key ```text API võti ardok_anythingllm AYKT87V-TYFMEYX-KG1411R-MYEYQ2Q ``` #### Seotud mõisted [[AnythingLLM API]] - vaata API päringute näiteid [[Qdrant]] - vektorbaas --- Docker volume'i kustutamine ```bash # Eemalda absoluutselt kõik storage kataloogist (ka peidetud failid) sudo rm -rf /data/docker/anythingllm/storage/* /data/docker/anythingllm/storage/.* 2>/dev/null sudo rm -rf /data/docker/anythingllm/logs/* /data/docker/anythingllm/logs/.* 2>/dev/null ``` ### Enne käivitamist tee kolm asja: #### 1. Tõmba embedding-mudel Ollamasse Qdrant vajab tekstide vektoriseerimiseks embedding-mudelit. Kõige lihtsam on kasutada Ollamat: ```bash ollama pull nomic-embed-text:latest ``` See on kerge (~274 MB), töötab kiiresti ja toetab paljusid keeli (sh eesti keelt mõistlikul tasemel). #### 2. Loo kaustad ```bash mkdir -p ~/anythingllm/storage ~/anythingllm/logs ``` #### 3. Käivita ```bash cd ~/anythingllm docker compose up -d ``` Seejärel ava brauseris `http://localhost:3001`. Esimesel käivitamisel palub AnythingLLM sul luua tööruumi (workspace) ja seadistada andmebaasi. Järgi viisardit – see peaks automaatselt tuvastama sinu compose-failis määratud seaded. --- ### Kui Qdrant jookseb hoopis Dockeris Kui su Qdrant jookseb samuti Dockeri konteineris, siis lisa see samasse compose-faili, et nad jagaksid sama Dockeri võrku: ```yaml # Lisa olemasoleva anythingllm teenuse alla või eraldi faili: qdrant: image: qdrant/qdrant:latest container_name: qdrant restart: unless-stopped ports: - "6333" volumes: - ./qdrant_storage:/qdrant/storage networks: - anythingllm_network ``` Ja muuda `QDRANT_ENDPOINT` väärtuseks `http://qdrant:6333` (Dockeri sisene teenuse nimi). --- ```bash docker exec -u 0 anythingllm npm install -g bcryptjs docker exec -u 0 -it anythingllm bash # Kontrolli onboarding lipu väärtust sqlite3 /data/docker/anythingllm/storage/anythingllm.db "SELECT label, value FROM system_settings WHERE label = 'onboarding_complete';" # Muuda seda väärtuseks False sqlite3 /data/docker/anythingllm/storage/anythingllm.db "UPDATE system_settings SET value = 'false' WHERE label = 'onboarding_complete';" # Users tabeli struktuur sqlite3 /data/docker/anythingllm/storage/anythingllm.db ".schema users" # Tabelite struktuur sqlite3 /data/docker/anythingllm/storage/anythingllm.db ".tables" ```