في هذا النموذج، قمت بإنشاء واجهة AI أساسية مع قدرات المكونات الإضافية الخارجية؛ واجهة AI_Contracts تتيح التفاعل مع الذكاء الاصطناعي؛ يؤدي تنفيذ الواجهة ووضع ملف DLL المترجم في المجلد APPPlugins إلى تمكين AI_Interface من اكتشاف المكون الإضافي واستدعاءه للحصول على استجابة ليتم إرجاعها إلى المستخدم؛ تم تصميم المشروع على 4 مراحل ; تتيح كل مرحلة أو معلم رئيسي تطوير وتوسيع Chatbot ليصبح منتجًا غنيًا يستحق الإصدار العام؛
هنا يتم إعطاء الواجهة تصميمًا أساسيًا للإدخال والإخراج عبر النص؛ الحفاظ على تاريخ الدردشة؛ تتيح هذه الواجهة إجراء الاختبار الأساسي للواجهة؛ لم تتم إضافة الصورة الرمزية. ويرجع ذلك أيضًا إلى أن الصورة الرمزية ليست ضرورية ولكنها تجميلية؛ المرحلة الأولى نركز فيها بشكل أساسي على إنتاج واجهة وظيفية؛
هذه هي الآلية التي سنمكن فيها المستخدم من تصميم البرامج النصية التي يمكن تنفيذها بواسطة الذكاء الاصطناعي؛ في مرحلة البداية؛ إن توفير الآلية هو التركيز الرئيسي. توفر الواجهة الأولية المستخدمة فقط بنية الفئة المطلوبة للتنفيذ؛ سيتم استدعاء وظيفة المستخدم بواسطة البرنامج النصي الرئيسي لجميع الكائنات من هذا النوع الموجودة في الموقع المحدد. وهذا يتيح للتوسعة واسعة النطاق. فيما يلي أيضًا نقطة يمكن من خلالها توفير الإضافات والوظائف الداخلية أو إطار عمل الذكاء الاصطناعي للمستخدم لاستخدامه كبرامج نصية مساعدة.
في الإصدار الأول من الذكاء الاصطناعي، سيتم أيضًا إنشاء نموذج إضافي لتمكين اختبار الواجهة. SAMPLE_PLUGIN سيوفر هذا أيضًا نموذجًا لإنشاء المزيد من المكونات الإضافية؛ ###ملاحظة: خطأ صغير!!!!! هل يلزم نشر AI_Contracts.Dll في مجلد الإضافات إلى جانب البرنامج المساعد؟ المرجع النسبي لفصل البرنامج المساعد. عندما كان المكون الإضافي موجودًا في نفس المجلد الذي يوجد به التطبيق، حاول التطبيق الاستمرار في قراءة نفسه وتعطله، لذلك كان من الضروري وجود مجلد منفصل؛ يحتاج MAN EXE أيضًا إلى الوصول إلى AI_Contacts DLL SO...
نشر مزدوج!.
نقوم في هذه المرحلة بإنشاء وظيفة الذاكرة الداخلية، من خلال توفير قاعدة بيانات للأسئلة والأجوبة. هنا يمكن إنشاء إجابات بسيطة على شكل سؤال وجواب مما يوفر نقطة بداية لمستخدمي التطبيق. على الرغم من وجود تطبيقات حيث يتم حفظ كل دورة في قاعدة البيانات. في هذا التكرار تم اختياره ليكون أكثر تركيزًا على الطريقة الخاضعة للإشراف. يجب توفير محرر قاعدة البيانات. ومع ذلك سيتم توفير ذلك في مرحلة لاحقة؛ سيكون ترتيب التنفيذ هو PLUGINS أولاً ثم سؤال وجواب ثانياً، مما يسمح بتحديد أولويات اكتشاف الاستجابة. ستكون الاستجابة الاحتياطية مطلوبة أيضًا للتعامل في أي وقت لا يستجيب فيه الذكاء الاصطناعي؛
يمكن لآلة الحالة أن توفر آلية للحفاظ على الحالات العاطفية؛ في هذا التكرار، تم استخدام واجهة لتوفير هيكل لكائنات الحالة العاطفية؛ يتم تحميل كل حالة إلى المعالج؛ يتم الكشف عن العواطف في كل دورة من البرنامج النصي لضبط المشاعر الحالية بشكل إيجابي وسلبي مما يسمح بتكثيف المشاعر. هنا يتم إعطاء استجابة عامة مع تغير الحالة العاطفية. يمكن أيضًا نقل الأشكال الأخرى للدولة من دور إلى آخر باستخدام آلة الدولة؛ غالبًا ما استخدمت طريقة البرمجة السابقة "متغيرات السفر" ولكنها غالبًا ما تستبدل حالة إلى حالة بقيم حاصل قسمة محدود للانحراف العاطفي. أي سعيد = 0.78، حزين 0.23؛ هذه التقنية لا تسمح بحدة الانفعال؛ تزداد شدة العاطفة، أي: تزداد السعادة إذا تم اكتشاف السعادة في المنعطف التالي؛ ولكن تقل إذا كانت العاطفة التالية محايدة بكل بساطة. حتى ينخفض مستوى الكثافة إلى القيمة 0 والتي يمكن أن تغير الحالة إلى محايد.
يمكن توفير القدرة على ترميز البرنامج الإضافي وتجميعه من خلال واجهة chatbot؛ لقد قمت هنا بتوفير واجهة مبوبة لإنشاء المكونات الإضافية، ويتم استخدام القالب الذي قمنا بتنفيذه في المرحلة 1 لتوفير مثال لبرنامج نصي للمستخدم لتحريره والتوسع فيه. يتم توفير حفظ البرنامج النصي وتجميع البرنامج النصي؛
يتم أيضًا إنشاء محرر بيانات لتحرير ملفات الأسئلة والأجوبة لكل جدول.
سنقوم هنا بإعادة هيكلة ترتيب التعليمات البرمجية وتوسيع الوظيفة إلى إطار عمل UserScripting. تتيح عملية إعادة البناء والتعليق إمكانية تحرير التطبيق وتحسينه لاحقًا؛ وكذلك توفير الفهم للمستخدم؛
سيكون الكلام مطلوبًا أيضًا لتوفير واجهة مستخدم غنية، على الرغم من تحسن التعرف على الكلام بمرور الوقت؛ ستتم إضافته بشكل أساسي للتحدث.
ستتم إضافة بعض التحسينات الرسومية والموضوعات إلى التطبيق: (ربما LCARS _ Star trek Design!)
بالنسبة للنشر والوصول المركزي لمكون AI_Contracts: تقرر أيضًا جعل المكتبة مركزية مع NUGET باسم SpydazWb.AI.Contracts؛ يتيح ذلك مركزية المزيد من التحديثات لإنشاء المكونات الإضافية والتسليم الأمثل: في هذه المرحلة، تمت أيضًا إزالة AI_Contracts SourceCode من المشروع وإضافته كتجميع مرجعي لـ NUGET؛ يمكن الآن تطوير مشروع AI_Contracts بشكل منفصل عن واجهة المستخدم والمكونات الإضافية؛ يمكن أيضًا نشر المكونات الإضافية كحزم Nuget على مصدر مركزي بشكل منفصل عن Nuget؛ أي موقع مركزي!