README.md
ΠΠ»Π°Π³ΠΈΠ½ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π² LM Studio ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ process_pdf. ΠΠΎΠ³Π΄Π° ΠΏΠ»Π°Π³ΠΈΠ½ Π²ΠΊΠ»ΡΡΡΠ½ ΡΡΠΌΠ±Π»Π΅ΡΠΎΠΌ
Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ, Π²Ρ Π² ΡΠ°ΡΠ΅ ΠΏΡΠΈΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΠ΅ PDF ΠΈΠ»ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ ΠΏΡΡΡ ΠΈ ΠΏΠΈΡΠ΅ΡΠ΅ Β«ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΠΉ ΡΡΠΎΡ PDFΒ» β
Π·Π°Π³ΡΡΠΆΠ΅Π½Π½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ°ΠΌΠ° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, Π° ΠΎΠ½ ΠΏΡΠΎΠ³ΠΎΠ½ΡΠ΅Ρ ΡΠ°ΠΉΠ» ΡΠ΅ΡΠ΅Π· Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅ Π΄Π²ΠΈΠΆΠΊΠΈ
(Qwen3-VL, EasyOCR, Tesseract) ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅ΠΊΡΡ.
ΠΡΠΊΡΠΎΠΉΡΠ΅ PowerShell ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ (Π² ΡΠΎΡ Python, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°ΠΆΠ΅ΡΠ΅ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΏΠ»Π°Π³ΠΈΠ½Π°):
pip install pypdfium2 pillow numpy requests
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΠΎΠ΄ Π½ΡΠΆΠ½ΡΠ΅ Π΄Π²ΠΈΠΆΠΊΠΈ:
pip install easyocr # Π΄Π»Ρ EasyOCR (GPU) pip install pytesseract # Π΄Π»Ρ Tesseract (Π½ΡΠΆΠ΅Π½ Π΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ tesseract.exe + ΡΠ·ΡΠΊΠΈ rus/eng)
Poppler ΠΠ Π½ΡΠΆΠ΅Π½ β ΡΠ΅Π½Π΄Π΅Ρ PDF ΠΈΠ΄ΡΡ ΡΠ΅ΡΠ΅Π· pypdfium2.
Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΏΠ°ΠΏΠΊΡ qwen-pdf-ocr-plugin ΡΠ΅Π»ΠΈΠΊΠΎΠΌ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² LM Studio:
%USERPROFILE%\.lmstudio\extensions\plugins\local\qwen-pdf-ocr
(Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΡΡΠΈ Π½Π΅Ρ β ΡΠΌ. Π¨Π°Π³ 2-Π°Π»ΡΡ Π½ΠΈΠΆΠ΅ ΡΠ΅ΡΠ΅Π· CLI).
npx lmstudio install-cli.cd ΠΏΡΡΡ\Π΄ΠΎ\qwen-pdf-ocr-plugin lms dev
LM Studio ΠΏΠΎΠ΄ΡΡΠ½Π΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈΠ· package.json, ΡΠΎΠ±Π΅ΡΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ Π΅Π³ΠΎ Π² ΡΠΏΠΈΡΠΊΠ΅.
lms dev Π½ΡΠΆΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅; ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ LM Studio Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ°ΠΌ.
ru,en), DPI, ΠΏΡΡΡ ΠΊ Python;http://localhost:1234).qwenModelId ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ.ΠΡΠ»ΠΈ Π²ΠΊΠ»ΡΡΡΠ½ ΡΠΎΠ»ΡΠΊΠΎ EasyOCR/Tesseract β ΡΠ΅ΡΠ²Π΅Ρ Π½Π΅ Π½ΡΠΆΠ΅Π½, Π΄Π²ΠΈΠΆΠΊΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°ΠΏΡΡΠΌΡΡ.
process_pdf, ΠΏΠ»Π°Π³ΠΈΠ½ ΠΏΡΠΎΠ³ΠΎΠ½ΠΈΡ ΡΠ°ΠΉΠ» ΡΠ΅ΡΠ΅Π· Π²ΠΊΠ»ΡΡΡΠ½Π½ΡΠ΅ Π΄Π²ΠΈΠΆΠΊΠΈ
ΠΈ Π²Π΅ΡΠ½ΡΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡ (Π΅ΡΠ»ΠΈ Π΄Π²ΠΈΠΆΠΊΠΎΠ² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ β ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π±ΡΠ΄ΡΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ ΠΏΠΎ Π΄Π²ΠΈΠΆΠΊΠ°ΠΌ).ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ:
file_path β ΠΏΡΡΡ ΠΊ PDF (ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ);pages β "1-5" ΠΈΠ»ΠΈ "2,4,7" (ΠΎΠΏΡ.);mode β ocr (ΡΠΈΡΡΡΠΉ ΡΠ΅ΠΊΡΡ) ΠΈΠ»ΠΈ layout (ΡΠ°Π±Π»ΠΈΡΡ Π² HTML, ΡΠΎΡΠΌΡΠ»Ρ Π² LaTeX).pip list Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ΅.lmStudioServerUrl ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π½Π΅Π³ΠΎ.qwen-pdf-ocr-plugin/
manifest.json # ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Π° (runner: node)
package.json
tsconfig.json
src/
index.ts # ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΏΠ»Π°Π³ΠΈΠ½Π°
config.ts # Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ = ΡΡΠΌΠ±Π»Π΅ΡΡ Π΄Π²ΠΈΠΆΠΊΠΎΠ² Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ
toolsProvider.ts # ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ process_pdf, Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ python-Π±ΡΠΊΠ΅Π½Π΄
python/
ocr_backend.py # ΡΠ΅Π°Π»ΡΠ½Π°Ρ OCR-Π»ΠΎΠ³ΠΈΠΊΠ° (Qwen ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΠ²Π΅Ρ / EasyOCR / Tesseract)