إلقاء بدون حشو: Whisper على الحاسوب وClaude للتنقية

الكلام الحي لا يكون نظيفًا أبدًا: فهو مليء بالكلمات الحشو والجمل المقطوعة والتصحيحات الذاتية. أنشأ مبرمج من كلية إدارة الأعمال العليا بجامعة الأبحاث الوطنية للاقتصاد (HSE) نظامًا يحوّل الإلقاء الفوضوي إلى نص نظيف في غضون 2 إلى 3.5 ثانية. يتكون النظام من طبقتين: يتعرف Whisper Large v3 Turbo على الكلام محليًا على الحاسوب، ويقوم Claude Sonnet 5.5 بحذف الكلمات الحشو وتصحيح الأخطاء. الوسيط «تشيستوفيك» الموضوع بين Handy وواجهة برمجة التطبيقات يحتفظ باتصال واحد ويعيد قراءة القواعد مع كل عملية إلقاء.

معالج بواسطة الذكاء الاصطناعي من Habr AI؛ بتحرير Hamidun News
إلقاء بدون حشو: Whisper على الحاسوب وClaude للتنقية
المصدر: Habr AI. كولاج: Hamidun News.
استمع للمقال
بطاقة الحقائق والأرقام
المعيارالتفاصيل
المصدر الأصليHabr AI ↗
رئيس التحرير
8 ثوانٍ من الكلام0.17 ثانية للتعرف، و1.7 ثانية للتنقية، أي حوالي 2 ثانية إجمالًا
42 ثانية من الكلام0.45 ثانية للتعرف، و3 ثوانٍ للتنقية، أي حوالي 3.5 ثانية إجمالًا

الكلام الحي لا يكون نظيفًا أبدًا: فهو مليء بالكلمات الحشو والجمل المقطوعة والتصحيحات الذاتية. أنشأ مبرمج من كلية إدارة الأعمال العليا بجامعة الأبحاث الوطنية للاقتصاد (HSE)، وهو كاتب يُلقي نصوصه كثيرًا، نظامًا قادرًا على تحويل عبارة مثل «حسنًا، بالمختصر، أنا، يعني، أردت أن أقول، حسنًا، الاجتماع غدًا تأجل، حسنًا، إلى الساعة الثالثة، لا، إلى الرابعة» إلى نص نظيف يقول: «أردت أن أقول إن الاجتماع غدًا تأجل إلى الساعة الرابعة»، وذلك في غضون 2 إلى 3.5 ثانية.

التعرف المحلي والتنقية السحابية

تعمل ميزة الإلقاء عبر Handy، وهو برنامج مفتوح المصدر مبني على Tauri (بترخيص MIT). يتعرف Whisper Large v3 Turbo على الكلام مباشرة على الحاسوب، ولا يُرسل الصوت إلى أي مكان آخر. على بطاقة الرسوميات RTX 4080 Super، يتم التعرف على 8 ثوانٍ من الكلام في 0.17 ثانية، وعلى 42 ثانية في 0.45 ثانية. أما للغة الروسية، فيُستخدم إصدار klava-nevinovata الذي يحتوي على تلميحات Whisper جاهزة وحماية من التكرار اللانهائي عند الصمت.

لا يكفي Whisper وحده: فالاستبدال البسيط بالاعتماد على قائمة ثابتة لا ينجح، بل يتطلب الأمر فهمًا للمعنى. يُرسل النص المُتعرَّف عليه إلى Claude Sonnet 5.5، الذي يحذف الكلمات الحشو، ويصحح التصحيحات الذاتية، ويحافظ على الطابع الحواري للنص. تستغرق عملية التنقية من 1.7 إلى 3 ثوانٍ، حسب طول النص.

الطبقة الوسيطة والقاموس السياقي

الوسيط «تشيستوفيك» — وهو ملف واحد بلغة Python يستخدم المكتبة القياسية فقط — يعمل بين Handy وواجهة برمجة التطبيقات. ومن مزايا هذه الطبقة: يُحفظ النص التوجيهي (prompt) والقاموس في ملفات نصية تُقرأ من جديد مع كل عملية إلقاء (يمكن تصحيح قاعدة ما ثم الإلقاء مجددًا دون إعادة تشغيل البرنامج)؛ ويُستخدم اتصال واحد دائم بدلًا من إنشاء عميل HTTP جديد مع كل طلب؛ ويُخزَّن مفتاح واجهة برمجة التطبيقات في متغير بيئي، لا في إعدادات البرنامج؛ ويوجد حد زمني مدته 10 ثوانٍ لمنع التعليق.

يفهم القاموس السياق. فـWhisper يخلط بين الكلمات النادرة: فكلمة «آي آي-شني» (المتعلقة بالذكاء الاصطناعي) يسمعها على أنها «ياييتشني» (المتعلقة بالبيض). والاستبدال البسيط هنا ضار، لأن الكلمة قد تكون صحيحة في سياقها. ويُشرح للنموذج شرط دقيق: «آي آي-شني، آي آي-شنيه، آي آي-شنو ← إيچني، ياييتشني (replace «ياييتشني» only when the text is not about eggs or food)». ويفهم Claude الشروح باللغتين الروسية والإنجليزية على حد سواء. وعند الاختبار: في عبارة «وصفة سلطة البيض» تبقى الكلمة كما هي (لأن النص يتعلق بالطعام)، وفي عبارة «أصبح النص شيئًا متعلقًا بالبيض» يتم تغيير الكلمة إلى «متعلق بالذكاء الاصطناعي» (لأن النص يتعلق بالذكاء الاصطناعي).

أخطاء التكامل وحلولها

ظهرت ثلاث فئات من المشكلات خلال عملية التطوير. كان النموذج يستجيب للإلقاء كما لو كان طلبًا — وقد حُلّت هذه المشكلة بوضع النص داخل وسم <dictation> وإضافة قاعدة واضحة في النص التوجيهي تنص على عدم تنفيذ الطلبات. كان النموذج يستبدل الكلمات العامية بصيغ رسمية — وقد ساعدت أمثلة مباشرة داخل النص التوجيهي نفسه: فكلمة «رائع» (بالعامية) تبقى «رائع»، وكلمة «لا يهمني» تبقى «لا يهمني». كانت أخطاء المعالجة اللاحقة غير مرئية (كان Handy يُدرج النص الخام بصمت) — أصبح الوسيط الآن يسجّل كل عملية إلقاء في سجل. وعلى نظام Windows، قد يتحول localhost إلى بروتوكول IPv6، لذلك أصبح الوسيط يستمع على كلا العنوانين 127.0.0.1 و ::1.

الأداء والخلاصة

السلسلة الكاملة من لحظة الضغط على المفتاح إلى إدراج النص:

  • 8 ثوانٍ من الكلام: 0.17 ثانية للتعرف، و1.7 ثانية للتنقية، أي حوالي 2 ثانية إجمالًا
  • 42 ثانية من الكلام: 0.45 ثانية للتعرف، و3 ثوانٍ للتنقية، أي حوالي 3.5 ثانية إجمالًا

يستهلك الطلب الواحد إلى واجهة برمجة التطبيقات حوالي 1100 رمز (token)، ومعظمها عبارة عن القواعد والقاموس. الكود مفتوح المصدر (بترخيص MIT) ومتاح على [github.com/Tataut/chistovik](github.com/Tataut/chistovik)، ويُثبَّت عبر نص برمجي واحد بلغة PowerShell على نظام Windows. الوسيط متوافق مع جميع الأنظمة، وتتوفر نسخة من Handy لنظامي macOS وLinux أيضًا. ويناسب النظام أي واجهة برمجة تطبيقات متوافقة مع OpenAI: مثل OpenAI أو OpenRouter أو النماذج المحلية عبر Ollama أو LM Studio (ومع النماذج المحلية، لا يخرج أي شيء من الحاسوب). وقد جرى اختبار النظام مع Claude Sonnet 5.5. ويُعدّ أكثر فائدة في تطبيقات المراسلة وتيليغرام.

القصة

أسئلة وأجوبة حول الخبر

ما أبرز التفاصيل حول التعرف المحلي والتنقية السحابية؟

تعمل ميزة الإلقاء عبر Handy، وهو برنامج مفتوح المصدر مبني على Tauri (بترخيص MIT). يتعرف Whisper Large v3 Turbo على الكلام مباشرة على الحاسوب، ولا يُرسل الصوت إلى أي مكان آخر. على بطاقة الرسوميات RTX 4080 Super، يتم التعرف على 8 ثوانٍ من الكلام في 0.17 ثانية، وعلى 42 ثانية في 0.45 ثانية. أما للغة الروسية، فيُستخدم إصدار klava-nevinovata الذي يحتوي على تلميحات Whisper جاهزة وحماية من التكرار اللانهائي عند الصمت. لا يكفي Whisper وحده: فالاستبدال البسيط بالاعتماد على قائمة ثابتة لا ينجح، بل يتطلب الأمر فهمًا للمعنى. يُرسل النص المُتعرَّف عليه إلى Claude Sonnet 5.5، الذي يحذف ال

ما أبرز التفاصيل حول الطبقة الوسيطة والقاموس السياقي؟

الوسيط «تشيستوفيك» — وهو ملف واحد بلغة Python يستخدم المكتبة القياسية فقط — يعمل بين Handy وواجهة برمجة التطبيقات. ومن مزايا هذه الطبقة: يُحفظ النص التوجيهي (prompt) والقاموس في ملفات نصية تُقرأ من جديد مع كل عملية إلقاء (يمكن تصحيح قاعدة ما ثم الإلقاء مجددًا دون إعادة تشغيل البرنامج)؛ ويُستخدم اتصال واحد دائم بدلًا من إنشاء عميل HTTP جديد مع كل طلب؛ ويُخزَّن مفتاح واجهة برمجة التطبيقات في متغير بيئي، لا في إعدادات البرنامج؛ ويوجد حد زمني مدته 10 ثوانٍ لمنع التعليق. يفهم القاموس السياق. فـWhisper يخلط بين الكلمات النادرة: فكلمة «آي آي-شني» (المتعلقة بالذكاء الاصطناعي) يسمعه

ما أبرز التفاصيل حول أخطاء التكامل وحلولها؟

ظهرت ثلاث فئات من المشكلات خلال عملية التطوير. كان النموذج يستجيب للإلقاء كما لو كان طلبًا — وقد حُلّت هذه المشكلة بوضع النص داخل وسم <dictation> وإضافة قاعدة واضحة في النص التوجيهي تنص على عدم تنفيذ الطلبات. كان النموذج يستبدل الكلمات العامية بصيغ رسمية — وقد ساعدت أمثلة مباشرة داخل النص التوجيهي نفسه: فكلمة «رائع» (بالعامية) تبقى «رائع»، وكلمة «لا يهمني» تبقى «لا يهمني». كانت أخطاء المعالجة اللاحقة غير مرئية (كان Handy يُدرج النص الخام بصمت) — أصبح الوسيط الآن يسجّل كل عملية إلقاء في سجل. وعلى نظام Windows، قد يتحول localhost إلى بروتوكول IPv6، لذلك أصبح الوسيط يستمع على

ZK
جمال حميدون — مدير المنتجات في Alpina Digital ومدير منتج AlpinaGPT. يبني منتجات الذكاء الاصطناعي منذ 2019. بدأ Hamidun News كمشروع شخصي ثم أصبح مُجمِّعًا إنتاجيًا بأكثر من 6000 قارئ.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
ما رأيك؟
جارٍ تحميل التعليقات…