TgWitness / เอกสาร

อ้างอิง / การเก็บรักษาข้อมูลและการบูรณาการ

OCR และแปลงข้อความเป็นข้อความแบบท้องถิ่น

ระบุภาพและเสียงที่บันทึกได้ด้วย local worker; รักษาข้อความที่สร้างขึ้นให้เชื่อมโยงกับไฟล์ต้นฉบับ

เนื้อหาหลักปัจจุบัน: ใช้การเช็คเอาต์จากแหล่งที่มา; เวอร์ชัน 0.7.0 portable preview ยังไม่มีคุณสมบัตินี้

คู่มือขั้นตอนการทำงาน · Wiki

เปิดบันทึกสมุดบันทึกmedia.saved, เลือก “Recognize attachment” (ระบุไฟล์แนบ), แล้วเลือก “OCR” หรือ “transcription” (การถอดความ) ภายใต้ “Ask the archive” (ถามคลังข้อมูล). การประมวลผลเป็นแบบทำด้วยมือและดำเนินการในเครื่องท้องถิ่น. ไม่มีโหมดสื่อบนคลาวด์หรือการอัปโหลดอัตโนมัติ ไบต์ของไฟล์แนบต้นฉบับและ media_sha256 ยังคงไม่เปลี่ยนแปลง; ข้อความที่ได้รับการระบุจะถูกทำเครื่องหมายอย่างชัดเจนว่าเป็น การระบุโดยเครื่อง และเก็บไว้แยกต่างหากพร้อมกับแฮชของแหล่งที่มา, เวอร์ชันของเอนจิน/โมเดล, ภาษา, พารามิเตอร์ และเวลาที่เสร็จสิ้น การถอดความจะรักษาเวลาประทับที่ส่งกลับมา

ค้นหาผลลัพธ์เหล่านี้โดยใช้ฟังก์ชัน "ค้นหาข้อความที่ระบบระบุ" และตัวกรอง OCR/transcript นี่เป็นการค้นหาข้อมูลที่สกัดแยกต่างหาก; ระบบจะไม่แปลงข้อความที่ระบบ ระบุโดยอัตโนมัติให้เป็นข้อความต้นฉบับของ Telegram หรือเพิ่มมันเข้าไปในเหตุการณ์ที่ลงนาม

ตั้งค่า worker (ไม่บังคับ)#

เวอร์ชัน 1 ต้องการเครื่องโฮสต์ Linux ที่มี Docker daemon ท้องถิ่น สำหรับการติดตั้งบน Windows สามารถรัน TgWitness ภายในสภาพแวดล้อม Linux VM/WSL ที่มี Docker daemon ท้องถิ่นของตัวเอง แผงควบคุมจะไม่ถอดรหัสไฟล์แนบที่ไม่น่าเชื่อถือด้วยตัวเอง

docker build -f deploy/media-worker/Dockerfile -t tgwitness-media:local .
export TGWITNESS_MEDIA_IMAGE=tgwitness-media:local

ตั้งค่าตัวแปรเหล่านี้ในสภาพแวดล้อมบริการ TgWitness แล้วรีสตาร์ทบริการใหม่ ซ็อกเก็ตของเดมอนมีค่าเริ่มต้นเป็น /var/run/docker.sock; สำหรับการติดตั้งแบบ rootless สามารถตั้งค่าเป็น TGWITNESS_DOCKER_SOCKET ได้ ส่วน worker จะใช้ซ็อกเก็ต Unix ดังกล่าวอย่างชัดเจน แทนที่จะใช้บริบท Docker ระยะไกล อย่าเปิดเผย API ของ Docker ให้ผู้ใช้แผงควบคุม หรือติดตั้ง ซ็อกเก็ตของมันภายในคอนเทนเนอร์การระบุตัวตน

สำหรับการถอดข้อความ ให้ติดตั้งโมเดล Whisper ที่เข้ากันได้กับ CTranslate2 แยกต่างหาก จากนั้นตั้งค่า TGWITNESS_WHISPER_MODEL_DIR เป็นไดเรกทอรีของโมเดลนั้น ผู้ทำงานจะโหลดโมเดลด้วย local_files_only=True; โมเดลที่เลือกและข้อมูลนำเข้าจะถูกติดตั้งในโหมดอ่านอย่างเดียว ดูเอกสารการโหลดโมเดลของเครื่องยนต์ ภาพ OCR ที่มาพร้อมระบบมีข้อมูลฝึกอบรมทั้งภาษาอังกฤษและภาษารัสเซีย สร้าง ภาษาอื่นเพิ่มเข้าไปในภาพของคุณเมื่อจำเป็น; รหัสภาษาตามมาตรฐาน CLI ของ Tesseract

ไม่มีการเรียกใช้โมเดลใดระหว่างการประมวลผล การสร้าง/ดาวน์โหลดชุดติดตั้งอาจใช้เครือข่าย; แต่ละคอนเทนเนอร์การจดจำจริงมีเครือข่ายถูกปิดไว้ ให้ติดตั้งภาพ ก่อนที่จะเปิดใช้งาน; ช่วงการทำงานใช้ --pull=never.

ขอบเขตและการกู้คืน#

คอนเทนเนอร์ทำงานในฐานะผู้ใช้ที่ไม่มีสิทธิ์พิเศษ ด้วย root แบบอ่านอย่างเดียว, ความสามารถที่ถูกตัดทอน no-new-privileges , CPU หนึ่งตัว, หน่วยความจำ 2 GiB, ข้อจำกัด PID และระบบไฟล์ชั่วคราว ที่มีขอบเขตจำกัด เฉพาะสำเนาที่ได้รับการยืนยันของไฟล์ที่เลือกและไดเรกทอรีโมเดล แบบเลือกได้เท่านั้นที่ถูกติดตั้ง ฐานข้อมูล vault และเซสชันของตัวเก็บรวบรวม ไม่ถูกติดตั้ง แฟล็ก ของ Docker runtime บังคับใช้ข้อจำกัดเหล่านี้; สิ่งนี้ยังคงเป็นขอบเขตของคอนเทนเนอร์ ไม่ใช่เขตปลอดภัยของฮาร์ดแวร์

ไฟล์มีขนาดจำกัดที่ 50 MiB, ภาพที่ 20 ล้านพิกเซล, เสียงที่ 30 นาทีสำหรับ ไฟล์ที่มีระยะเวลาทราบแน่ชัด, และเวลาประมวลผลที่ 5 นาที มี worker หนึ่งตัวทำงานได้ครั้งละหนึ่งตัว โดยมีงานในคิว/กำลังทำงานได้สูงสุด 20 งาน และงานที่เก็บไว้ได้สูงสุด 100 งานต่อพื้นที่ทำงาน การยกเลิกจะหยุดคอนเทนเนอร์; การลองใหม่จะสร้างงานใหม่ที่เชื่อมโยงกับความพยายามครั้งก่อน งานที่ถูกขัดจังหวะจะถูกทำเครื่องหมายหลังการเริ่มต้นใหม่ การประมวลผลอาจล้มเหลวเมื่อโมเดล ไม่สามารถปรับให้เข้ากับขีดจำกัดที่กำหนดไว้ได้; มันจะไม่ทำงานเงียบๆ โดยไม่มีการแยกส่วน