هذا مترجم RiveScript للغة البرمجة Python. RiveScript هي لغة برمجة نصية لروبوتات الدردشة، مما يجعل من السهل كتابة أزواج التشغيل/الاستجابة لبناء ذكاء الروبوت.
تاريخيًا، دعمت هذه المكتبة كلا من Python 2 وPython 3 حتى اليوم الذي دخلت فيه Python 2 حالة نهاية العمر والذي حدث في 1 يناير 2020.
الإصدار النهائي الذي يدعم Python 2 هو الإصدار 1.14.9 والذي لا يزال بإمكانك تثبيته من PyPI إذا كنت بحاجة إلى دعم بيئة Python2. من الآن فصاعدا، ستستهدف إصدارات RiveScript الإصدارات الحديثة والمدعومة من لغة Python 3. اليوم، هذا يعني إصدار Python 3.6 والإصدارات الأحدث.
# Python2 آخر إصدار مدعوم من RiveScript هو 1.14.9pip install rivscript==1.14.9
وثائق الوحدة متاحة على http://rivescript.readthedocs.org/
راجع أيضًا RiveScript Community Wiki للتعرف على أنماط التصميم الشائعة والنصائح والحيل الخاصة بـ RiveScript.
هذه الوحدة متاحة على PyPI ويمكن تثبيتها عبر النقطة:
pip install rivescript
للتثبيت يدويًا، قم بتنزيل مستودع git أو نسخه وتشغيل python setup.py install
هناك أمثلة متاحة في دليل eg/ لهذا المشروع على GitHub والتي توضح كيفية التفاعل مع روبوت RiveScript بعدة طرق - مثل Twilio SMS API - ومقتطفات التعليمات البرمجية الأخرى والحيل المفيدة.
يمكن تنفيذ وحدة rivescript
كبرنامج نصي Python مستقل، أو تضمينها في كود Python آخر. عند تنفيذها مباشرة، فإنها تطلق جلسة محادثة تفاعلية:
python rivescript ./eg/brain
في حالة أن تشغيل RiveScript كبرنامج نصي غير مناسب (على سبيل المثال، عند تثبيته كوحدة نمطية للنظام)، يمكنك استخدام البرنامج النصي shell.py
كاسم مستعار:
python shell.py eg/brain
عند استخدامها كمكتبة، يكون الملخص كما يلي:
من استيراد rivescript RiveScriptbot = RiveScript()bot.load_directory("./eg/brain")bot.sort_replies()while True:msg = Raw_input('You> ')if msg == '/quit':quit()reply = bot.reply("localuser"، msg)اطبع 'Bot>'، رد
يقدم البرنامجان example.py
و example3.py
أمثلة بسيطة لاستخدام RiveScript كمكتبة لـ Python 2 و3، على التوالي.
يدعم RiveScript Unicode ولكن لا يتم تمكينه افتراضيًا. قم بتمكينه عن طريق تمرير قيمة True
لخيار utf8
في المُنشئ، أو باستخدام الوسيطة --utf8
إلى الوضع التفاعلي المستقل.
في وضع UTF-8، يتم ترك معظم الأحرف في رسالة المستخدم سليمة، باستثناء بعض الأحرف الأولية مثل الخطوط المائلة العكسية وأحرف الترقيم الشائعة مثل /[.,!?;:]/
.
إذا كنت تريد تجاوز التعبير العادي لعلامات الترقيم، فيمكنك توفير رمز جديد عن طريق تعيين سمة unicode_punctuation
لكائن الروبوت بعد التهيئة. مثال:
import rebot = RiveScript(utf8=True)bot.unicode_peptication = re.compile(r'[.,!?;:]')
بغض النظر عما إذا كان وضع UTF-8 قيد التشغيل أم لا، يتم تحويل جميع رسائل الإدخال المقدمة إلى الروبوت (إذا لزم الأمر) إلى نوع بيانات Python unicode
. لذا، على الرغم من أنه من الممارسات الجيدة التأكد من توفير سلاسل Unicode للروبوت، إلا أن المكتبة ستوفر لك التغطية إذا نسيت ذلك.
تدعم حزمة rivescript
، عند تشغيلها بشكل مستقل، "وضع JSON"، حيث تتواصل مع الروبوت باستخدام JSON. يعد هذا مفيدًا لبرامج الجهات الخارجية التي ترغب في استخدام RiveScript ولكن ليس لديها مترجم فوري بلغتها الأصلية.
فقط قم بتشغيله مثل: python rivescript --json /path/to/brain
قم بطباعة بنية بيانات مشفرة JSON في الإدخال القياسي. يجب أن يبدو التنسيق كما يلي:
{ "اسم المستخدم": "المستخدم المحلي"، "الرسالة": "مرحبًا بالبوت!"، "vars": { "name": "Aiden" } }
بعد إرسال هذا، يمكنك إرسال إشارة EOF
وسيستجيب الروبوت باستجابة JSON ثم يخرج. أو يمكنك إبقاء الجلسة مفتوحة، عن طريق إرسال السلسلة __END__
على سطر بمفردها بعد إدخالك. سيفعل الروبوت نفس الشيء عندما يستجيب، لذا يمكنك إعادة استخدام نفس الأنبوب لتفاعلات متعددة.
سيتم تنسيق استجابة الروبوت على النحو التالي:
{ "الحالة": "حسنًا"، "رد": "مرحبًا أيها الإنسان!"، "vars": { "name": "Aiden" } }
ستكون status
ok
عند النجاح، أو error
إذا كان هناك خطأ. reply
هو استجابة الروبوت (أو رسالة خطأ عند حدوث خطأ).
نوح بيتربريدج
اراش السعيدي
دانيلو بارغن
فوجي ماكوتو
هونغ تو دينه
جوليان سيكس
بابلو
بيجوان (شون) دينغ
The MIT License (MIT) Copyright (c) 2020 Noah Petherbridge Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
الموقع الرسمي لشركة RiveScript، http://www.rivescript.com/