Add --reassign mode for fast vector recovery without disk scanning
Skips the slow folder scan (50K+ files) and upload phases — directly re-embeds already-uploaded documents to workspaces using progress state. Use with --reset to clear assignment tracking first. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
76
README.md
76
README.md
@@ -11,6 +11,8 @@
|
||||
- **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 |
|
||||
@@ -23,24 +25,52 @@
|
||||
|
||||
## Kullanım
|
||||
|
||||
### Durum Kontrolü
|
||||
|
||||
```bash
|
||||
# Durum kontrolü
|
||||
python3 setup.py --status
|
||||
```
|
||||
|
||||
# Workspace oluştur / güncelle
|
||||
### Workspace Oluştur / Güncelle
|
||||
|
||||
```bash
|
||||
python3 setup.py --create-workspaces
|
||||
python3 setup.py --create-workspaces --persona frodo
|
||||
```
|
||||
|
||||
# Tam pipeline (upload + OCR + embed)
|
||||
### Tam Pipeline (upload + OCR + embed)
|
||||
|
||||
```bash
|
||||
python3 setup.py --upload-documents --resume
|
||||
|
||||
# Tek cluster veya persona
|
||||
python3 setup.py --upload-documents --cluster cyber --resume
|
||||
python3 setup.py --upload-documents --persona neo --priority 1 --resume
|
||||
|
||||
# Önizleme
|
||||
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
|
||||
|
||||
```
|
||||
@@ -50,14 +80,34 @@ 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:
|
||||
1. `upload_progress.json`'da `workspace_docs` → `{}` sıfırla
|
||||
2. `python3 setup.py --upload-documents --resume` (sadece re-embed yapar)
|
||||
### 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
|
||||
|
||||
- `setup.py` — Ana entegrasyon scripti (upload, OCR, workspace assignment)
|
||||
- `config.yaml` — Persona-klasör eşlemeleri, API config, batch ayarları
|
||||
- `upload_progress.json` — Upload/atama state tracker (gitignore'd)
|
||||
| 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) |
|
||||
|
||||
Reference in New Issue
Block a user