نموذج بحثي لاستكشاف وتنظيم أشكال كتابية متعددة باستخدام نماذج اللغة الكبيرة. اقرأ المزيد عن المشروع في ورقة CHI2024 هذه.
لاعتماد هذا النظام، يرجى الاستشهاد بورقة CHI'24 الخاصة بنا، "ABScribe: الاستكشاف السريع وتنظيم اختلافات الكتابة المتعددة في مهام الكتابة المشتركة بين الإنسان والذكاء الاصطناعي باستخدام نماذج لغوية كبيرة": موهي رضا، ناثان لوندري، إيليا موسابيروف، بيتر دوشنيكو، زهي يوان "مايكل" يو، كاشيش ميتال، توفي غروسمان، مايكل ليوت، أناستاسيا كوزمينيخ وجوزيف جاي ويليامز. 2024
@inproceedings { reza2024abscribe ,
title = { ABScribe: Rapid Exploration & Organization of Multiple Writing Variations in Human-AI Co-Writing Tasks using Large Language Models } ,
author = { Mohi Reza, Nathan Laundry, Ilya Musabirov, Peter Dushniku, Zhi Yuan "Michael" Yu, Kashish Mittal, Tovi Grossman, Michael Liut, Anastasia Kuzminykh, Joseph Jay Williams } ,
booktitle = { Proceedings of the 2024 CHI Conference on Human Factors in Computing Systems } ,
pages = { 1-18 } ,
organization = { Association for Computing Machinery } ,
doi = { https://doi.org/10.1145/3613904.3641899 } ,
year = { 2024 }
}
يعد استكشاف الأفكار البديلة عن طريق إعادة كتابة النص جزءًا لا يتجزأ من عملية الكتابة. يمكن لنماذج اللغات الكبيرة الحديثة (LLMs) أن تبسط عملية توليد تنوعات الكتابة. ومع ذلك، تطرح الواجهات الحالية تحديات للنظر المتزامن في أشكال متعددة: قد يكون إنشاء إصدارات جديدة دون الكتابة فوق النص أمرًا صعبًا، وقد يؤدي لصقها بشكل تسلسلي إلى ازدحام المستندات، مما يزيد من عبء العمل ويعطل تدفق الكتاب. لمعالجة هذه المشكلة، نقدم ABScribe، وهي واجهة تدعم الاستكشاف السريع والمنظم بصريًا لتنوعات الكتابة في مهام الكتابة المشتركة بين الإنسان والذكاء الاصطناعي. باستخدام ABScribe، يمكن للمستخدمين إنتاج أشكال متعددة بسرعة باستخدام مطالبات LLM، والتي يتم تحويلها تلقائيًا إلى أزرار قابلة لإعادة الاستخدام. يتم تخزين الاختلافات بشكل متجاور داخل مقاطع النص لإجراء مقارنات سريعة في مكانها باستخدام تفاعلات تمرير الماوس على شريط أدوات السياق. تُظهر دراسة المستخدم التي أجريناها مع 12 كاتبًا أن ABScribe يقلل بشكل كبير من عبء عمل المهام (d = 1.20، p <0.001)، ويعزز تصورات المستخدم لعملية المراجعة (d = 2.41، p <0.001) مقارنة بسير العمل الأساسي الشائع، ويوفر نظرة ثاقبة حول كيف يستكشف الكتاب الاختلافات باستخدام LLMs.
لبدء استخدام ABScribe، قم بزيارة ABScribe.ca أو قم بالإعداد محليًا باتباع الإرشادات الموجودة في ملف CONTRIBUTING.md.
يتم تنظيم المشروع في الدلائل التالية:
/abscribe_backend
يوفر تطبيق الواجهة الخلفية مجموعة من الأدوات لإدارة المستندات والأجزاء والإصدارات. يتيح التطبيق للمستخدمين إنشاء ومعالجة المستندات التي تحتوي على محتوى نصي منسق. تم إنشاء الواجهة الخلفية باستخدام Python وMongoDB، وهي تستفيد من MongoEngine ODM لعمليات قاعدة البيانات.
/abscribe_backend/models
يحتوي دليل النماذج على نماذج البيانات التالية المستخدمة في التطبيق:
Document
: بيانات تعريف المستند وقائمة الأجزاء التي تحتوي على محتوى.Chunk
: المحتوى الفعلي داخل المستند.Version
: الإصدارات المختلفة للمحتوى داخل قطعة واحدة.Feedback
: التعليقات والتعليقات على كل جزء من المستند.Recipe
: مجموعة من التعليمات لتعديل المحتوى داخل المستند. /abscribe_backend/services
يحتوي دليل الخدمات على الخدمات التالية المستخدمة في التطبيق:
document_service.py
: يوفر عمليات CRUD للمستندات.chunk_service.py
: يوفر عمليات CRUD للأجزاء داخل المستند.version_service.py
: يوفر عمليات CRUD للإصدارات الموجودة داخل قطعة واحدة.recipe_service.py
: يوفر عمليات CRUD للوصفات.feedback_item_*_service.py
: يوفر عمليات CRUD للتعليق على المكونات المختلفة للمستند. /abscribe_backend/tests
يحتوي دليل الاختبارات على مجموعة الاختبار لتطبيق الواجهة الخلفية
/abscribe_backend/app.py
يحتوي على جميع المسارات ونقاط نهاية واجهة برمجة التطبيقات (API) الموضحة في الخدمات الخاصة بالتطبيق.
/abscribe_frontend
يوفر تطبيق الواجهة الأمامية واجهة تحرير خالية من الفوضى مدعومة بنماذج اللغات الكبيرة.
/abscribe_frontend/src/services
وظائف للتفاعل مع واجهة برمجة التطبيقات الخلفية.
/abscribe_frontend/src/components
مكونات قابلة لإعادة الاستخدام لتطبيق الواجهة الأمامية. هذه هي المكونات المستخدمة حاليا في التطبيق:
PopupToolbar.jsx
: مكون شريط الأدوات الذي يسهل التفاعل مع المستند. الأدوات المساعدة الرئيسية لمحرر النصوص مثل التنسيق والاستيراد وما إلى ذلك.
Editor.jsx
: مكون محرر نص منسق لإنشاء المستندات وتحريرها.
VariationSidebar.jsx
: مكون الشريط الجانبي لتخزين وإدارة اختلافات الكتابة.
AIModifiers.jsx
: مكون الشريط الجانبي لإدارة وتطبيق تعديلات/وصفات LLM.
DocumentContainer.jsx
: الواجهة الرئيسية لتفاعل المستخدم. يجمع بين مكونات المحرر وABToolbar.
يرجى الاطلاع على ملف المساهمة للحصول على إرشادات حول كيفية المساهمة في هذا المشروع.
هذا المشروع مرخص بموجب ترخيص MIT. راجع ملف الترخيص للحصول على التفاصيل.