## 1. RAG – Retrieval-Augmented Generation (soovitatav alustuseks)

RAG tähendab, et sa **ei õpeta mudelit ümber**, vaid annad talle päringu tegemise hetkel kaasa asjakohased artiklid kontekstina. Mudel "loeb" need läbi ja vastab nende põhjal.

See on teadustöö jaoks ideaalne, sest:
- Sa saad alati kontrollida, **millisele allikale** mudel tugineb (hallutsinatsioonide vähendamiseks kriitiline).
- Uute artiklite lisamine on hetkega tehtud – ei mingit uuesti treenimist.
- Saad kasutada palju väiksemaid ja kiiremaid mudeleid.

### Kuidas see käiks:

1. **Kogu artiklid** – PDF-id, veebilehed, arXiVi eeltrükid.
2. **Tee neist puhas tekst** – kasuta `pymupdf` (PDF), `markitdown` või lihtsalt kopeeri sisu.
3. **Tükelda tekst** – jaga 500–1000 tähemärgi pikkusteks lõikudeks (chunk'ideks).
4. **Loo vektorindeks** – kasuta embedding-mudelit (nt `BAAI/bge-small-et` või `intfloat/multilingual-e5-large`) ja salvesta vektorid andmebaasi (ChromaDB, FAISS, Qdrant).
5. **Päringu ajal** – otsi kasutaja küsimusele kõige sarnasemad lõigud, lisa need prompt'i kontekstiks ja küsi mudelilt.

Lõpptulemus: küsid mudelilt *"Kuidas mõõdetakse liiklussagedust kaudsete meetoditega?"* – RAG otsib su artiklitest asjakohased lõigud, lisab need prompt'i ja mudel vastab nende põhjal koos viidetega.

---

## 2. Peenhäälestus (fine-tuning)

Siin õpetad sa baasmudelit oma andmetega – mudel "õpib" liiklussageduse spetsiifilist sõnavara, meetodeid, valemeid ja kirjutamisstiili.

**Plussid:** mudel kirjutab ise nagu valdkonnaekspert, ilma et peaks igale päringule eraldi konteksti lisama.

**Miinused:**
- Nõuab korralikku GPU-d. Sinu arvutil pole eraldi graafikakaarti (APU on integreeritud), seega treenimine oleks aeglane – isegi QLoRA-ga (4-bitine kvantimine) võib 7B mudeli treenimine võtta päevi.
- Artiklite lisamine nõuab uuesti treenimist.
- Suurem oht hallutsineerimiseks, sest mudel ei näita, kust ta info võttis.

**Alternatiiv:** kasuta pilve-GPU-sid (RunPod, Lambda Labs) – paari euro eest saad paariks tunniks A100, mis treenib QLoRA-ga 7B mudeli ära.

---

## Mida ma soovitan sinu olukorras:

| Samm  | Tegevus                                                                                                                                                                                                                  |
| ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **1** | Lae alla mõni 7B–14B suurune avatud mudel (nt `Mistral-7B-Instruct-v0.3` või `Qwen2.5-14B-Instruct`) – mahub vabalt 128 GB RAM-i.                                                                                        |
| **2** | Sea üles RAG-torustik: [Ollama](https://ollama.com/) + [Open WebUI](https://openwebui.com/) või [AnythingLLM](https://anythingllm.com/) – viimane on loodud just dokumendipõhiseks RAG-iks ja töötab kohe karbist välja. |
| **3** | Lae oma artiklid AnythingLLM-i (toetab PDF-e, URL-e, isegi arXiVi linke).                                                                                                                                                |
| **4** | Katseta: esita küsimusi, võrdle vastuseid allikatega.                                                                                                                                                                    |
| **5** | Hiljem, kui RAG töötab ja vajad *stiililiselt* paremat kirjutamist, saad peenhäälestada väiksemat mudelit (nt 7B) oma kogutud küsimuste-vastuste paaride peal.                                                           |

---

## Mis puutub "veebist kättesaadavate" artiklite kodeerimisse:

Jah, see on RAG-iga triviaalne – kas:
- Salvestad PDF-id kohalikku kausta ja loed sisse,
- Või kasutad tööriistu nagu [Zotero](https://www.zotero.org/) + [Better BibTeX](https://retorque.re/zotero-better-bibtex/) ekspordiks,
- Või kogud artiklid arXiVi API kaudu (nt `arxiv.py`).

Kui artiklid on veebis ja avalikult ligipääsetavad, võid lasta RAG-torustikul need ise veebist tõmmata (AnythingLLM oskab URL-i järgi sisu indekseerida).

---

Tahad, et paneksime esimese sammu kohe paika? Näiteks: **installime Ollama ja AnythingLLM-i ning laeme esimese 5 artiklit liiklussageduse kohta sisse?**

### Seotud mõisted

[[AAA_isiklik/LLM loomine/Tegevusplaan/AnythingLLM]]
