مشروع عملElektroservis

البحث في الوثائق الهندسية

مطوّر Python · أبريل–أكتوبر 2026 · بحث دلالي ونصي كامل

بحث دلالي ونصي كامل في أرشيف الوثائق الهندسية — نحو 4.1 ألف ملف PDF وDOCX وXLSX وRTF: فهرس مقلوب خاص بالمشروع مع FAISS على sentence-transformers، خلف خدمة FastAPI. دون توليد نصوص بنماذج LLM.

كود خاص · NDA

الاستقبال

PDF · DOCX · XLSX · RTF
OCR · Tesseract · المستندات الممسوحة

الفهرسة

الفهرس المقلوب · الكلمات · التسميات
sentence-transformers
FAISS

الاستعلام

FastAPI · ترتيب هجين
HTML / JS · واجهة البحث
البحث في الوثائق الهندسية — معاينة
الكود خاص (NDA)، لذا يوضّح هذا المخطط البنية التي بنيتها.فتح بالحجم الكامل

المشكلة

كان المهندسون يبحثون يدوياً في أرشيف شبكي من ملفات PDF وWord وExcel وRTF والمستندات الممسوحة. ويجب أن تتطابق التسميات — رموز الكابلات والوثائق — تطابقاً تاماً، بينما تحتاج العبارات إلى بحث بالمعنى.

الحل

فهرس مقلوب خاص بالمشروع للتسميات الدقيقة مع بحث دلالي عبر FAISS، وOCR للمستندات الممسوحة، وتسمية موثوقية لكل نتيجة؛ وخلفية FastAPI وواجهة HTML/JS وخدمة systemd.

النتيجة

قبِله العميل في سبتمبر 2026: زمن p95 بلغ 0.18 ثانية، و739 اختباراً، ومجموعة تحكّم من 104 استعلامات.

نظرة عامة

تحفظ Elektroservis وثائقها الهندسية (قسم PTO) في أرشيف شبكي من نحو 4.1 ألف ملف PDF وDOCX وXLSX وRTF، منها نحو 1.5 ألف تحتوي نصاً. ومن أبريل إلى أكتوبر 2026، بموجب عقود مدنية، بنيتُ خدمة بحث فيه: يكتب المهندس رمز كابل أو رمز وثيقة أو تسمية معدّة أو عبارة، فيحصل على الوثيقة وصفحة PDF (أو ورقة Excel وصفوفها، أو قسم Word) ومقتطف من النص والمسار الشبكي. ولا تغادر الوثائق شبكة الشركة.

البحث هجين ودون توليد نصوص بنماذج LLM: فهرس مقلوب خاص بالمشروع للكلمات والتسميات، مع بحث دلالي عبر FAISS على تضمينات sentence-transformers ‏(all-MiniLM-L6-v2). وتُطابَق التسميات بقواعد عامة: الحروف اللاتينية والكيريلية المتشابهة والمسافات والشرطات لا تمنع التطابق، بينما لا تُستبدل الأرقام والرموز أبداً. وتُكتشف المستندات الممسوحة تلقائياً وتمرّ صفحات مختارة منها عبر OCR ‏(Tesseract + Poppler). الخلفية على FastAPI والواجهة HTML/JS دون أطر عمل، وتعمل الخدمة عبر systemd على Ubuntu Server مع استبدال ذرّي للفهرس وإمكانية التراجع.

انخفض زمن استعلامات الرموز من 9–10 ثوانٍ إلى 1.2–1.7 ثانية، والاستعلامات النصية من 55–70 ثانية إلى 2–4 ثوانٍ، وبعد الانتقال إلى الفهرس المقلوب بلغ زمن p95 ‏0.18 ثانية على 55 استعلام تحكّم. وتحفظ الجودةَ 739 اختبار pytest ومجموعة تحكّم من 104 استعلامات بمقاييس top-1/top-5. بنيتُه بمساعدة وكلاء الذكاء الاصطناعي (Codex وCursor وClaude Code): جمعتُ المتطلبات وكتبتُ المهام للوكلاء وراجعتُ التغييرات وتحقّقتُ منها على الفهرس الفعلي. وقبِل العميل العمل في سبتمبر 2026. الكود خاص، لذا يعرض المخطط البنية.

ماذا يفعل

  • يعثر على رمز كابل أو رمز وثيقة أو تسمية معدّة أو عبارة، ويعيد الوثيقة والصفحة (أو الورقة والصفوف) والمقتطف والمسار الشبكي
  • بحث هجين: فهرس مقلوب خاص بالمشروع مع بحث دلالي عبر FAISS على sentence-transformers ‏(all-MiniLM-L6-v2)
  • يكتشف المستندات الممسوحة تلقائياً ويمرّر صفحات مختارة عبر OCR ‏(Tesseract + Poppler)
  • تسميات موثوقية — تطابق تام، يحتاج إلى مراجعة، تطابق جزئي — ونتيجة واحدة لكل وثيقة

الخطوة التالية

تبحث عن مطوّر Full-Stack أو Python — أو تحتاج إلى بناء شيء مشابه؟ لنتحدث.

منفتح على عروض العمل — حضورياً أو بنظام هجين في موسكو، أو عن بُعد؛ بدوام كامل أو بعقد. أردّ خلال 48 ساعة — وأسرع عبر Telegram.

تواصل معي Telegramتحميل السيرة الذاتية

الحسن الفران.

© 2026 · صمّمته وبنيته بنفسي. التقنيات: Next.js وTailwind وFramer Motion.

توقيتي المحلي: · موسكو

ملاحظات
كيف بُني هذا الموقع

التقنيات

Next.js (App Router) وReact، مع Tailwind CSS للتنسيق وFramer Motion للحركة. يُرسل نموذج التواصل الرسائل عبر Resend، والموقع مستضاف على Vercel.

ثلاث لغات وتصميم واحد

لكل من النسخ الإنجليزية والروسية والعربية عنوانها الخاص (/en و/ru و/ar)، وكلها تستخدم المكوّنات نفسها. يعتمد التصميم على خصائص CSS المنطقية (start/end بدلاً من left/right)، فتنعكس النسخة العربية من اليمين إلى اليسار دون أنماط منفصلة. ويُرسل الخادم كل صفحة بلغتها واتجاه نصها مسبقاً، فلا ينقلب شيء بعد التحميل، ولا يُنزَّل الخط العربي إلا عند ظهور نص عربي على الشاشة.

الأداء وسهولة الوصول

لا تُعرض الأقسام الواقعة أسفل الشاشة الأولى إلا عند الاقتراب منها، ولا تُحمَّل القائمة السريعة إلا عند أول استخدام لها. يمكن استخدام كل شيء من لوحة المفاتيح، مع رابط للانتقال مباشرة إلى المحتوى وتركيز ظاهر، وتتوقف الحركة إذا طلب نظامك تقليلها.

الكود المصدري على GitHub