הפניה / ארכיון ושילובים
OCR מקומי ותמלול
זיהוי תמונות וקבצי אודיו שנלכדו באמצעות עובד מקומי; שמירת הטקסט המופק מקושר לקובץ המקור שלו.
עיקרי כרגע: יש להשתמש ב-checkout מהמקור; גרסת התצוגה המקדימה הניידת 0.7.0 קדמה לתכונה זו.
פתחו רשומת יומן media.saved, בחרו באפשרות "זיהוי קובץ מצורף" (Recognize attachment), ולאחר מכן בחרו
ב-OCR או בתמלול תחת "שאל את הארכיון" (Ask the archive). העיבוד הוא ידני ומקומי.
אין מצב מדיה בענן או העלאה אוטומטית. בתים מקוריים של הקובץ המצורף ו-
media_sha256 נשארים ללא שינוי; טקסט מזוהה מסומן במפורש כזיהוי
ממוחשב ומאוחסן בנפרד עם ה-hash המקורי, גרסת המנוע/המודל,
השפה, הפרמטרים וזמן ההשלמה. תמלולים שומרים על חותמות הזמן שהוחזרו.
חפשו בתוצאות אלה באמצעות "חיפוש בטקסט מזוהה" ומסנן ה-OCR/תמלול. זוהי חיפוש נפרד בנתונים נגזרים; הוא אינו ממיר באופן אוטומטי זיהוי מכונה לטקסט מקורי של טלגרם ואינו מוסיף אותו לאירועים חתומים.
הגדר את ה-worker האופציונלי#
גרסה 1 דורשת מארח לינוקס עם דמון Docker מקומי. התקנות ב-Windows יכולות להריץ את TgWitness בתוך סביבת VM/WSL של לינוקס עם דמון מקומי משלה. הלוח לעולם אינו מפענח בעצמו קובץ מצורף שאינו מהימן.
docker build -f deploy/media-worker/Dockerfile -t tgwitness-media:local .
export TGWITNESS_MEDIA_IMAGE=tgwitness-media:local
הגדר את המשתנים הללו בסביבת השירות של TgWitness והפעל אותה מחדש.
שקע הדמון מוגדר כברירת מחדל ל-/var/run/docker.sock; בפריסות ללא הרשאות root ניתן להגדיר
TGWITNESS_DOCKER_SOCKET. ה-worker משתמש במפורש בשקע Unix זה
במקום בהקשר מרוחק של Docker. אין לחשוף ממשק API של Docker למשתמשי הפאנל או לעגן
את השקע שלו בתוך מכולת הזיהוי.
לצורך תמלול, התקן בנפרד מודל Whisper התואם ל-CTranslate2,
ואז הגדר את TGWITNESS_WHISPER_MODEL_DIR לספרייה שלו. ה-worker טוען אותו באמצעות
local_files_only=True; המודל הנבחר והקלט מותקנים לקריאה בלבד.
עיין בתיעוד טעינת המודלים של המנוע.
תמונת ה-OCR המסופקת כוללת נתונים שעברו אימון באנגלית וברוסית. הוסף שפה נוספת
לתמונה שלך לפי הצורך; קודי השפות תואמים
ל-CLI של Tesseract.
לא נטען מודל כלשהו במהלך העיבוד. תהליך ההרכבה/ההורדה עשוי להשתמש ברשת;
בכל מיכל זיהוי בפועל, הרשת מושבתת. יש להתקין את התמונה
לפני הפעלתה; סביבת הריצה משתמשת ב---pull=never.
מגבלות ושחזור#
הקונטיינר פועל כמשתמש ללא הרשאות מיוחדות, עם root לקריאה בלבד,
יכולות מצומצמות, no-new-privileges
, מעבד אחד, זיכרון של 2 GiB, מגבלת PID ומערכת קבצים זמנית
מוגבלת. רק עותק מאומת של הקובץ הנבחר וספריית מודלים אופציונלית
מוצמדים. מסד הנתונים, הכספת וההפעלה של האספן
אינם מותקנים. דגלי זמן הריצה
של
Docker
אוכפים מגבלות אלה; זהו גבול של הקונטיינר, ולא אזור מבודד בחומרה.
גודל הקבצים מוגבל ל-50 MiB, תמונות עד 20 מיליון פיקסלים, קבצי אודיו עד 30 דקות עם משך ידוע, ועיבוד עד חמש דקות. עובד אחד פועל בכל פעם, עם לכל היותר 20 משימות בתור/בביצוע ו-100 משימות שמורות לכל סביבת עבודה. ביטול עוצר את הקונטיינר; ניסיון חוזר יוצר משימה חדשה המקושרת לניסיון הקודם. משימות שהופסקו מסומנות לאחר ההפעלה מחדש. העיבוד עלול להיכשל כאשר מודל אינו עומד במגבלות שהוגדרו; הוא אינו פועל בשקט ללא בידוד.