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/

