User Tools

Site Tools


homelab:besluiten:26.007_ai_search_max

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

homelab:besluiten:26.007_ai_search_max [2026/03/12 16:24] – created mielshomelab:besluiten:26.007_ai_search_max [2026/03/13 17:06] (current) – uitleg van div. containers en leermomenten toegevoegd miels
Line 21: Line 21:
   * **Gekozen optie:**    * **Gekozen optie:** 
     * Bouwen van een stack met:     * Bouwen van een stack met:
-      * AnythingLLM +      * **QDrant**: De database voor LLM-tools 
-      * QDrant +      * **Python**: Voor de indexatiescripts die QDrant vullen 
-      * Scripts +      * **AnythingLLM**: User interface waarin je de zoekopdracht kan geven 
-  * **Motivatie:** +
-    Wat waren criteria +
-    Welke alternatieven zijn overwogen +
-    Argumenten voor/tegen+
  
-===== Acties =====+  * **Motivatie** (Keuze gebaseerd op ChatGPT): 
 +    * **LLM: AnythingLLM** simpel te deployen, selfhosted, en integratieklaar met Qdrant. Alternatieven zoals LlamaIndex/LangChain zijn krachtiger en flexibeler, maar vragen meer setup, Python-kennis en resources, en draaien minder soepel op een NAS met beperkte CPU/RAM. Tools zoals Weaviate-only hebben wél vector DB, maar missen een gebruiksvriendelijke ingest- en search frontend. Met andere woorden: AnythingLLM is de balans tussen gemak, selfhosted, en functionaliteit op een NAS. 
 +    * **Database: QDrant** makkelijkste, stabiele en resource-vriendelijke keuze voor lokale LLM document search op een NAS, terwijl alternatieven zoals Weaviate en Milvus meer resources en setup vereisen. 
 + 
 +===== Leermomenten & notities ===== 
 +==== Python / Scripts-container ==== 
 +In /volume2/docker/localsearchai heb ik de volgende bestanden gezet: 
 +  * Dockerfile_tbv_JoplinIndexer-PythonInclPIP \\ Bij het builden van een image zoekt Docker standaard naar een bestand dat Dockerfile heet (zonder extensie). Maar daarbij zag ik de kans dat ik dat in de toekomst niet meer zou snappen. Dus heb ik de naam aangepast. Builden kan met het volgende commando: ''docker build -t joplin-indexer:latest -f Dockerfile_tbv_JoplinIndexer-PythonInclPIP .'' 
 +  * joplin_indexer.py \\  Deze verzorgt de indexatie van Joplin naar QDrant. Het is niet nodig om de build opnieuw uit te voeren als het script wordt gewijzigd. Hij kijkt altijd naar het bestaan van dit bestand in de datadir en gebruikt die. \\ Het was nog een heel gedoe om de vertaling van de Joplin databasestructuur naar QDrant goed te maken (zodanig dat de titel, datum en inhoud van de notitie allemaal netjes in hun eigen velden in QDrant terecht kwamen) 
 + 
 +==== AnythingLLM / QDrant ==== 
 +Ik dacht dat je in Anything meerdere bronnen kon koppelen, maar dat is niet zo. Je kan maar 1 database toevoegen. Dus ook in QDrant kan ik maar 1 database gebruiken waarin ik vervolgens al mijn bronnen kan toevoegen. (Het is wel mogelijk om de source te specificeren, zodat je die kan herkennen in de zoekresultaten).
  
  
Line 39: Line 46:
     * Aandachtspunten mbt beheer, onderhoud/updates, monitoring, backups     * Aandachtspunten mbt beheer, onderhoud/updates, monitoring, backups
   * **Risico’s / aandachtspunten:**   * **Risico’s / aandachtspunten:**
-    * Wat kan er misgaan+    * Ik wilde alle containers aanvankelijk draaien onder user Dockeruser-apps (3031:100), maar daarmee liep ik tegen problemen aan. Uiteindelijk geen user gespecificeerd (dus draait nog onder root)
     * Mitigaties     * Mitigaties
  
Line 50: Line 57:
   * **Aanleiding voor herziening:**   * **Aanleiding voor herziening:**
     * Gebeurtenissen die aanleiding kunnen zijn voor herziening van dit besluit     * Gebeurtenissen die aanleiding kunnen zijn voor herziening van dit besluit
- 
  
homelab/besluiten/26.007_ai_search_max.1773329077.txt.gz · Last modified: by miels