Soovitaksin sul sättida lisaks mudelile veel **chunkimise**, otsingu ja batch‑töö seaded; need mõjutavad kvaliteeti rohkem kui see, kas embedding engine on Default või Ollama.[^1][^2] ### 1. Olulisemad embeddingu/RAG seaded Admin Panel → Settings → Documents alt tasub üle vaadata: - **Text Splitter / Chunk Size / Overlap** - Chunk Size: 1500–2500 märki (või ~500–800 tokenit) teadusartiklite jaoks. - Chunk Overlap: 200–300 märki, et säiliks lause kontekst.[^3][^2] - Markdown Header Splitting: soovitan sisse lülitada, et jaotada teksti H1–H3 pealkirjade järgi ja alles siis chars/tokens põhjal.[^2] - **Chunk Min Size Target** - Väldi liiga väikseid tükke; pane nt 800–1200 märki, et lühikesed lõigud ühendatakse naabritega üheks mõtestatud kontekstiks.[^2] - **Embedding Batch Size** - Kui kasutad GPU‑ga masinat (sul on tugev riistvara), alusta nt väärtusest 16 või 32. - Kui näed mälu‑ või ajaprobleeme, vähenda 8 või 4 peale.[^4][^1] - **Top K** - Kui artiklid on mahukad ja teemad sarnased, alusta väärtusega 10–20. - Kui tunned, et vastus ei kasuta piisavalt konteksti, tõsta 20–40; kui vastused lähevad “ujuma”, vähenda.[^5][^6] - **Hybrid Search** - Soovitan *On*: kasutab lisaks embeddingule ka BM25/lexical otsingut ja rerankerit; see aitab eriti siis, kui küsid täpseid termineid (eesti/inglise segus).[^7][^2] - **Full Context Mode** - Knowledge base’i jaoks hoia see *Off*, et kasutada tavalist fokuseeritud RAG‑i. - On sobib pigem üksikute väiksemate failide puhul, kus kogu dokument mahu häst i‑konteksti.[^8][^2] - **Reranking Model** (kui hybrid search on sees) - Pane mõni multilingual reranker, nt `jinaai/jina-reranker-v2-base-multilingual` või BGE reranker; see aitab, kui küsimused on eesti keeles.[^1] ### 2. Näide sobivast konfiguratsioonist teadusartiklitele Hea stardikonfiguratsioon sinu kasutusjuhtumi jaoks võiks olla: - Embedding Model Engine: **Ollama** - Embedding Model: `nomic-embed-text` - Embedding Batch Size: 16 - Text Splitter: `tiktoken` või `recursive` - Chunk Size: 2000 - Chunk Overlap: 250 - Chunk Min Size Target: 1000 - Markdown Header Splitting: On - Hybrid Search: On - Reranking Model: `jinaai/jina-reranker-v2-base-multilingual` - Top K: 20 - Full Context Mode: Off[^5][^1][^2] Kui soovid, võin järgmises vastuses kirjutada sulle ka konkreetsed `.env`/`docker-compose` näited nende väärtuste seadmiseks, et need jääksid püsivalt kehtima. Optimaalne Chunk Size ja Overlap sõltuvad teksti tüübist, aga teadusartiklite (Markdown) jaoks on hea lähtepunkt: - **Chunk Size**: 1500–2500 märki või 500–800 tokenit. [qdrant](https://qdrant.tech/course/essentials/day-1/chunking-strategies/) - **Chunk Overlap**: 10–20% `Chunk Size` väärtusest ehk u 150–300 märki / 50–150 tokenit. [firecrawl](https://www.firecrawl.dev/blog/best-chunking-strategies-rag-2025) ### Miks just sellised väärtused - Liiga väikesed chunkid tõstavad recall’i, aga LLM ei näe piisavat konteksti ja vastused muutuvad katkendlikuks. [arxiv](https://arxiv.org/html/2407.01219v1) - Liiga suured chunkid mahuvad küll embeddingusse, kuid retrieval muutub “uduseks” (mitu teemat ühes tükis) ja vektorite arv väheneb, mis võib küsimustele pihta saamist halvendada. [milvus](https://milvus.io/ai-quick-reference/what-is-the-optimal-chunk-size-for-rag-applications) - 10–20% overlap hoiab lõikude piiril olevad laused alles, ilma et vektoriarv plahvataks (Qdrant ja embedder ei koormatu üle). [dev](https://dev.to/peterabel/what-chunk-size-and-chunk-overlap-should-you-use-4338) Praktiline **soovitus sinu artiklitele**: - Pane Open WebUI Settings → Documents alla: - Chunk Size: **2000** - Chunk Overlap: **250** - Chunk Min Size Target: **1000** (väldib liiga väikseid juppe). [docs.openwebui](https://docs.openwebui.com/features/rag/) Seejärel testi 2–3 artikliga: küsi tüüpilisi küsimusi (eesti keeles) ja vaata, kas toodud lõigud on loogilised. Kui tunned, et oluline kontekst jääb välja, tõsta Chunk Size 2400–2600 või Overlap 300–400 peale; kui Qdrant kasvab liiga kiirelt ja indekseerimine on aeglane, liiguta vastupidises suunas (nt 1600 ja 200). ## Reindex Knowledge Base Vectors **Reindex Knowledge Base Vectors** nupp lasebki olemasolevad dokumendid uuesti vektoritesse arvutada ehk “ümber indekseerida”. [github](https://github.com/open-webui/open-webui/discussions/18167) Lühidalt, mida see teeb: - Käib läbi kõik olemasolevad Knowledge’i failid ja **tükeldab need uuesti** vastavalt hetkel kehtivatele Chunk Size/Overlap jms seadetele. [reddit](https://www.reddit.com/r/OpenWebUI/comments/1oe9m5u/changing_chunk_size_with_already_existing/) - Kutsub uuesti sinu valitud **embedding‑mudelit** (nt Ollama `nomic-embed-text`) ja kirjutab uued vektorid Qdranti (või valitud vektorbaasi) kollektsioonidesse. [docs.openwebui](https://docs.openwebui.com/getting-started/env-configuration/) - Seda on **hästi oluline** teha pärast muutusi, mis mõjutavad vektoreid: embedding‑mudel, embedding engine, chunk‑seaded, mõnikord ka multitenancy/collectioni muudatused. [reddit](https://www.reddit.com/r/OpenWebUI/comments/1js8v45/error_when_i_change_the_embedding_model_for_rag/) Erinevus teistest nuppudest: - **Reset Vector Storage/Knowledge** – puhastab vektorbaasi (kaotad kõik vektorid ja seosed, üldjuhul pead failid uuesti üles laadima). [github](https://github.com/open-webui/open-webui/issues/1072) - **Reindex Knowledge Base Vectors** – hoiab failid alles ja **arvutab nende vektorid uuesti**, ilma et peaksid käsitsi kõiki dokumente üle upload’ima. [github](https://github.com/open-webui/open-webui/discussions/9660) [^1]: https://github.com/open-webui/open-webui/discussions/11821 [^2]: https://docs.openwebui.com/features/rag/ [^3]: https://www.reddit.com/r/OpenWebUI/comments/1fi18gv/best_rag_choice_on_openwebui/ [^4]: https://docs.openwebui.com/troubleshooting/rag/ [^5]: https://github.com/open-webui/open-webui/issues/7942 [^6]: https://www.reddit.com/r/OpenWebUI/comments/1k4elym/rag_with_open_webui_help/?tl=de [^7]: https://www.youtube.com/watch?v=LmXaPUky_u4 [^8]: https://github.com/open-webui/open-webui/discussions/11227 [^9]: https://www.reddit.com/r/OpenWebUI/comments/1jhazxn/use_openwebui_with_rag/ [^10]: https://github.com/open-webui/open-webui/issues/16401 [^11]: https://www.reddit.com/r/OpenWebUI/comments/1hu58te/rag_with_openwebui/ [^12]: https://www.reddit.com/r/OpenWebUI/comments/1ivh81v/finally_figured_it_out_openweb_ui_with_your_own/ [^13]: https://www.reddit.com/r/OpenWebUI/comments/1r35uk3/kbrag_returns_different_results_for_different/ [^14]: https://github.com/open-webui/open-webui/discussions/13747 [^15]: https://docs.openwebui.com/tutorials/tips/rag-tutorial/