# AnythingLLM × Persona RAG Integration 28 persona workspace'i olan, kitap kütüphanesinden beslenen RAG sistemi. Her persona kendi uzmanlık alanındaki dokümanlarla vektör embed edilmiş durumda. ## Mimari - **AnythingLLM Desktop** — `http://localhost:3001` - **LLM:** Ollama local (qwen3:14b) - **Embedding:** Google Gemini (gemini-embedding-001) - **Vector DB:** LanceDB - **OCR:** ocrmypdf (tur+eng) - **Kitap Kaynağı:** `/mnt/storage/Common/Books/` Kitaplar diskte tek kopya halinde durur (`/mnt/storage/Common/Books/`). AnythingLLM API'sine upload edildiğinde tokenize edilmiş metadata kopyası `documents/` klasörüne alınır. `config.yaml`'da aynı klasör birden fazla persona'ya atanabilir — diskte duplicate oluşmaz, her workspace kendi vektör embedding'ini tutar. ## Personalar (5 Cluster) | Cluster | Personalar | |---------|-----------| | Intel | Frodo, Echo, Ghost, Oracle, Wraith, Scribe, Polyglot | | Cyber | Neo, Bastion, Sentinel, Specter, Phantom, Cipher, Vortex | | Military | Marshal, Centurion, Corsair, Warden, Medic | | Humanities | Chronos, Tribune, Arbiter, Ledger, Sage, Herald, Scholar, Gambit | | Engineering | Forge, Architect | ## Kullanım ### Durum Kontrolü ```bash python3 setup.py --status ``` ### Workspace Oluştur / Güncelle ```bash python3 setup.py --create-workspaces python3 setup.py --create-workspaces --persona frodo ``` ### Tam Pipeline (upload + OCR + embed) ```bash python3 setup.py --upload-documents --resume python3 setup.py --upload-documents --cluster cyber --resume python3 setup.py --upload-documents --persona neo --priority 1 --resume python3 setup.py --upload-documents --dry-run ``` ### Re-assign (vektör recovery — tarama/upload yapmadan) Dokümanlar zaten upload edilmiş ama vektörler silinmişse veya workspace atamaları bozulmuşsa: ```bash # Önizleme python3 setup.py --reassign --reset --dry-run # Tüm workspace'leri sıfırla + yeniden embed et python3 setup.py --reassign --reset # Sadece tek persona veya cluster python3 setup.py --reassign --reset --persona frodo python3 setup.py --reassign --reset --cluster intel # Sıfırlamadan sadece eksik atamaları tamamla python3 setup.py --reassign ``` | Flag | Açıklama | |------|----------| | `--reassign` | Disk taraması ve upload yapmadan, `upload_progress.json`'daki mevcut dosyaları workspace'lere embed eder | | `--reset` | `--reassign` ile birlikte kullanılır. Önce `workspace_docs` kaydını sıfırlar, sonra tümünü yeniden atar | ## Pipeline ``` Phase A: Text dosyaları upload Phase B: Scanned PDF'leri OCR (ocrmypdf) Phase C: OCR'lı dosyaları upload Final: Workspace'lere assign/embed ``` `--reassign` modu sadece "Final" adımını çalıştırır — diğer fazları atlar. ## Recovery ### Vektör DB Silinirse ```bash python3 setup.py --reassign --reset ``` ### Tek Persona Vektörü Bozulursa ```bash python3 setup.py --reassign --reset --persona frodo ``` ### Tam Sıfırlama (her şey baştan) ```bash rm upload_progress.json python3 setup.py --all ``` ## Dosyalar | Dosya | Açıklama | |-------|----------| | `setup.py` | Ana entegrasyon scripti (upload, OCR, workspace assignment, reassign) | | `config.yaml` | Persona-klasör eşlemeleri, API config, batch ayarları | | `upload_progress.json` | Upload/atama state tracker (gitignore'd, makineye özel) | | `ocr_output/` | OCR çıktıları (gitignore'd, büyük dosyalar) |