feat: DeepSeek-OCR endpoint + GPU request queue for AI calls

Mizan ve DeepSeek-OCR aynı self-hosted GPU'yu paylaşıyor; backend'de hiçbir
eşzamanlılık sınırı yoktu, yoğun anlarda istekler Ollama kuyruğunda 90sn'yi
aşıp sessizce "başarısız" görünüyordu. aiQueue.ts, GPU'ya giden istek sayısını
sınırlayıp fazlasını backend'de bekletiyor.

Yeni POST /documents/ocr-image, tek bir görseli DeepSeek-OCR ile metne
çeviriyor (Electron tarafındaki çok sayfalı TIFF/taranmış PDF işleme
adımının kullanacağı uç, ayrı bir PR'da bağlanacak).
This commit is contained in:
mstfyldz
2026-08-11 10:12:33 +03:00
parent 7915571130
commit 97ec7cd7f8
5 changed files with 162 additions and 20 deletions
+2 -1
View File
@@ -1,7 +1,7 @@
import { Router } from 'express';
import multer from 'multer';
import { requireAuth } from '../middleware/auth';
import { uploadDocument, registerLocalDocument, extractAttachmentText } from '../controllers/document.controller';
import { uploadDocument, registerLocalDocument, extractAttachmentText, ocrImage } from '../controllers/document.controller';
const router = Router();
const upload = multer({ storage: multer.memoryStorage() });
@@ -9,5 +9,6 @@ const upload = multer({ storage: multer.memoryStorage() });
router.post('/upload', upload.single('file'), requireAuth, uploadDocument);
router.post('/register-local', requireAuth, registerLocalDocument);
router.post('/extract-text', upload.single('file'), requireAuth, extractAttachmentText);
router.post('/ocr-image', requireAuth, ocrImage);
export default router;