feat: implement TTS, Document processing, and Memory Service /facts API
- TTS: xtts-v2 integration with voice cloning support
- Document: docling integration for PDF/DOCX/PPTX processing
- Memory Service: added /facts/upsert, /facts/{key}, /facts endpoints
- Added required dependencies (TTS, docling)
This commit is contained in:
89
OCR-ARCHITECTURE-SUMMARY.md
Normal file
89
OCR-ARCHITECTURE-SUMMARY.md
Normal file
@@ -0,0 +1,89 @@
|
||||
# 🔍 OCR Architecture Summary
|
||||
|
||||
**Дата:** 2026-01-16
|
||||
|
||||
---
|
||||
|
||||
## ❓ Питання та відповіді
|
||||
|
||||
### 1. Чи можу я отримати ліцензію Datalab Chandra?
|
||||
**Ні** — це потребує контакту з Datalab та оплати. Модель закрита.
|
||||
|
||||
### 2. Альтернативи OCR моделей:
|
||||
|
||||
| Модель | Статус | Призначення | VRAM |
|
||||
|--------|--------|-------------|------|
|
||||
| **GOT-OCR2.0** | ✅ Встановлюється | Документи, таблиці, формули, рукопис | ~8GB |
|
||||
| **TrOCR** | ✅ Резервна | Друкований текст | ~2GB |
|
||||
| **DeepSeek VL** | ⚠️ Через API | Vision + OCR | - |
|
||||
| **IBM Docling** | ⚠️ Python бібліотека | PDF парсинг | CPU |
|
||||
|
||||
### 3. Чи потрібен MoE роутер?
|
||||
**НІ** — MoE (Mixture of Experts) це внутрішня архітектура моделей, не для маршрутизації сервісів.
|
||||
|
||||
### 4. Чи достатньо Swapper сервісу?
|
||||
**ТАК** — Swapper може:
|
||||
- Керувати завантаженням OCR моделей
|
||||
- Динамічно перемикати між моделями
|
||||
- Вивантажувати неактивні моделі
|
||||
|
||||
### 5. Коли потрібен окремий OCR роутер?
|
||||
Якщо потрібно:
|
||||
- Кілька OCR сервісів одночасно
|
||||
- Маршрутизація за типом документа (таблиці → GOT-OCR, текст → TrOCR)
|
||||
- Fallback між сервісами
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Обрана архітектура
|
||||
|
||||
```
|
||||
┌─────────────┐ ┌──────────────────┐ ┌─────────────────┐
|
||||
│ Gateway │────▶│ DAGI Router │────▶│ OCR Service │
|
||||
└─────────────┘ └──────────────────┘ │ (GOT-OCR2.0) │
|
||||
└─────────────────┘
|
||||
│
|
||||
┌───────▼───────┐
|
||||
│ Swapper │
|
||||
│ (керування) │
|
||||
└───────────────┘
|
||||
```
|
||||
|
||||
### Чому GOT-OCR2.0?
|
||||
1. **Найкраща open-source OCR** для документів та таблиць
|
||||
2. **Доступна на HuggingFace** без ліцензії
|
||||
3. **Підтримує**: документи, таблиці, формули, рукопис
|
||||
4. **~8GB VRAM** — підходить для RTX 4000 SFF Ada (20GB)
|
||||
|
||||
---
|
||||
|
||||
## 📊 Порівняння OCR рішень
|
||||
|
||||
| Критерій | GOT-OCR2.0 | TrOCR | DeepSeek VL | Chandra |
|
||||
|----------|------------|-------|-------------|---------|
|
||||
| Таблиці | ✅ Відмінно | ❌ Базово | ⚠️ Через vision | ✅ Відмінно |
|
||||
| Рукопис | ✅ Так | ✅ Окрема модель | ⚠️ Обмежено | ✅ Так |
|
||||
| Формули | ✅ Так | ❌ Ні | ❌ Ні | ✅ Так |
|
||||
| Ліцензія | ✅ Open | ✅ Open | ✅ Open | ❌ Платна |
|
||||
| VRAM | 8GB | 2GB | API | 16GB+ |
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Що встановлено
|
||||
|
||||
1. ✅ **OCR Inference Service** — з GOT-OCR2.0
|
||||
2. ✅ **OCR API Service** — wrapper на порту 8002
|
||||
3. ✅ **Router інтеграція** — `OCR_URL` та `CHANDRA_URL`
|
||||
4. ✅ **Fallback** — TrOCR як резервна модель
|
||||
|
||||
---
|
||||
|
||||
## 📝 Наступні кроки (опціонально)
|
||||
|
||||
1. **Додати IBM Docling** — для PDF парсингу з таблицями
|
||||
2. **Додати OCR роутер** — якщо потрібно кілька моделей одночасно
|
||||
3. **Інтегрувати DeepSeek API** — для складних випадків
|
||||
|
||||
---
|
||||
|
||||
**Оновлено:** 2026-01-16
|
||||
Reference in New Issue
Block a user