ملخص موضوع Discourse AI 🤖

|||
-|-|-|
:information_source: | ملخص | يستخدم نموذج لغة ذكاء اصطناعي عن بُعد لإعداد ونشر ملخص لموضوع ما.
:hammer_and_wrench: | رابط المستودع | GitHub - merefield/discourse-ai-topic-summary: Uses a remote AI language model to prepare and post a summary of a Topic
:open_book: | دليل التثبيت | كيفية تثبيت الإضافات في Discourse
:heart: | الرعاية | يرجى التفكير في أن تصبح راعياً لعملي مفتوح المصدر بشكل مستمر بمستوى يناسب موارد واحتياجاتك أو مؤسستك لضمان حصول هذه الإضافة على الصيانة التي تستحقها واستمرار عملها لموقعك في المستقبل.

هل تستمتع بهذه الإضافة؟ يرجى :star: على GitHub ! :pray:

الميزات

  • ملخصات المواضيع التي تم إنشاؤها بواسطة الذكاء الاصطناعي:
    • يمكنك اختيار وقت إنشائها لأول مرة وعدد المشاركات الجديدة المطلوبة لإعادة إنشائها، مما يجعل الإضافة فعالة من حيث التكلفة.
    • اختيار موقع عرض الموضوع، إما في الأعلى أو في الشريط الجانبي (يتطلب مكون سمة الأشرطة).
    • نظام تصويت للسماح للمجتمع بتقييم الملخصات السيئة. إذا تجاوزت الأصوات حدًا معينًا، يتم البحث عن ملخص جديد.
    • عرضها في قائمة المواضيع - يتم عرض ملخصات الذكاء الاصطناعي بدلاً من المقتطفات عند توفرها.
  • نظام وضع العلامات التلقائي
    • يعيد استخدام الملخص لوضع علامات ذكية على موضوعك.
    • اختر بين استراتيجيتين لتناسب حالة الاستخدام الخاصة بك بشكل أفضل.
  • إنشاء صورة مصغرة للموضوع تلقائيًا تصور الموضوع.
  • جميع المطالبات قابلة للتحرير في تخصيص → نص.
  • كانت هذه الإضافة أول إضافة ذكاء اصطناعي لـ Discourse :1st_place_medal:

(ملاحظة، هذه مجرد معاينة واجهة مستخدم تستخدم بعض البيانات العشوائية السيئة، النتائج أفضل بكثير على البيانات الحقيقية)

بعد الحد الأدنى لعدد المشاركات، إذا كان الموضوع موجودًا في فئة ضمن النطاق، سترسل الإضافة نص الموضوع إلى نموذج لغة كبير من OpenAI مع مطالبة وتنشر الاستجابة، والتي يُقصد بها أن تكون ملخصًا للمحتويات، وهو ما تنجح في القيام به بشكل جيد جدًا. هناك خيار للنموذج.

غالبًا ما تكون الملخصات جيدة بشكل مدهش، وأحيانًا تكون رائعة. ومع ذلك، عندما لا يكون أحدها جيدًا بما فيه الكفاية، فقد أضفت آلية تصويت مجتمعي لإجبار تحديث الملخصات السيئة بعد حد معين.

على أي حال، يتم البحث عن الملخصات مرة أخرى عند إجراء عدد معين من المشاركات الإضافية.

يمكنك تعديل المطالبة والحدود.

ملاحظة هامة: لا يتم عرض الملخصات أبدًا للمستخدمين المجهولين، لذا لن يكون النص قابلاً للزحف (قد تفكر في هذا الأمر أو لا، ولكن على الأقل لن تعمل برامج الزحف إلا على بياناتك البشرية الحقيقية).

دعم وضع العلامات التلقائي:

هل سئمت من وضع العلامات على المواضيع؟ دع الذكاء الاصطناعي يقوم بذلك نيابة عنك! (بذكاء نسبيًا!)

في بعض الأحيان يصبح الذكاء الاصطناعي مبدعًا جدًا على الرغم من التوجيهات التي نعطيها له هنا، لذا يمكنك تقييده بمجموعة العلامات الموجودة.

يمكنك بسرعة إنشاء مستخدم غير إداري لهذا الغرض من وحدة تحكم rails باستخدام:

rake admin:create (لا تمنح هذا المستخدم امتيازات إدارية)

(هذا حل بديل تقريبي بعض الشيء لأن واجهة برمجة التطبيقات الداخلية الحالية لـ Discourse لوضع العلامات لا تسمح حاليًا بتحديد “لا توجد علامات جديدة”، لذا فإن الطريقة الوحيدة لمنع ذلك بسهولة في الوقت الحالي هي إنشاؤها كمستخدم لا يمتلك هذه الامتيازات (أي مستوى ثقة أقل من min_trust_to_create_tag))

تجاوز المقتطفات اختياريًا في قائمة المواضيع باستخدام ملخص الذكاء الاصطناعي

سيؤدي إعداد ai_topic_summary_expose_as_excerpt عند تمكينه إلى تجاوز المقتطف في قوائم المواضيع التي تعرض مقتطفات (على سبيل المثال، عبر مكون السمة مثل معاينات قائمة المواضيع أو مقتطفات قائمة المواضيع)، مع ملخص الذكاء الاصطناعي إذا كان متاحًا.

تبديل المقتطفات:

يمكنك استخدامه مع مكون السمة الخاص بي Topic List Previews (TLP) - #592 by merefield

صورة اختيارية تصور موضوع الصورة المصغرة

تمت إضافة ميزة إنشاء صورة مصغرة اختيارية لهذه الإضافة.

ستصور الملخص في صورة ستضيفها تلقائيًا إلى الجزء العلوي من المنشور الأصلي.

  • يجب عليك تمكينه في إعدادات الإضافة.
  • يمكنك اختياريًا اختيار حذف الصورة العلوية الأخيرة تلقائيًا في كل مرة.
  • يمكنك تحرير المطالبة عبر الرابط في إعدادات الإضافة حتى تتمكن من التأثير على الأسلوب والمحتوى (ولكن سيتم تطبيق هذا على جميع الصور التي تم إنشاؤها لاحقًا).

استمتع :framed_picture:

القيود

نظرًا لحدود الرموز، فهي جيدة فقط لحوالي 160 مشاركة كحد أقصى حاليًا (يعتمد على النموذج!)، لذا لن تتضمن مواد في المشاركات بعد نقطة معينة. سيتغير هذا على الأرجح في المستقبل مع تطور النماذج وزيادة تطور الخدمات.

حدود المعدل والتكاليف

استرداد البيانات من OpenAI ليس مجانيًا. ومع ذلك، تستند حدود المعدل ضمنيًا إلى النشر. لديك سيطرة على عدد المشاركات التي تستغرقها قبل البحث عن ملخصات جديدة. من غير المرجح أن يكون هذا مشكلة.

دعم “الأشرطة” الجانبية!!

يوجد الآن عنصر واجهة مستخدم متوافق مع الأشرطة يأتي مع الإضافة. ما عليك سوى تثبيت مكون سمة الأشرطة وتكوينه:

بمجرد التثبيت، يمكنك إيقاف تشغيل ملخص الجزء العلوي القياسي للموضوع والاعتماد على عنصر واجهة المستخدم في الشريط الجانبي.

ملاحظات

إخلاء المسؤولية: أنا لست مسؤولاً عما قد تستجيب به LLM. يرجى فهم الإيجابيات والسلبيات لـ LLM وما هي قدراتها وما ليست كذلك وقيودها. إنها جيدة جدًا في إنشاء نصوص مقنعة وواعية بالسياق، ولكنها قد تكون خاطئة من الناحية الواقعية.

ملاحظة خصوصية هامة: يتم إرسال بيانات منتداك إلى OpenAI. بينما من المؤكد أنها لن تُدمج في نماذجها المدربة مسبقًا، إلا أنها ستستخدم البيانات في تحليلاتها وتسجيلاتها. تأكد من إضافة هذه الحقيقة إلى شروط الخدمة وبيانات الخصوصية الخاصة بمنتدى الخاص بك. الروابط ذات الصلة: شروط الاستخدام، سياسة الخصوصية

حقوق النشر: أصدرت OpenAI بيانًا بشأن حقوق النشر هنا: هل ستطالب OpenAI بحقوق النشر على المخرجات التي أنشئها باستخدام واجهة برمجة التطبيقات؟ | مركز مساعدة OpenAI

للمستقبل (TODO)

  • إضافة اختبارات أمامية وخلفية :construction:
  • إضافة المزيد من تكوين المستخدم للتأثير على أسلوب الاستجابة :white_check_mark:
  • إضافة دعم اسم نموذج مخصص :white_check_mark:
  • إضافة دعم GPT-4 عند توفره :white_check_mark:
  • جعل إعداد النموذج قائمة منسدلة :white_check_mark:
  • إضافة دعم عنصر واجهة المستخدم لمكون التخطيطات :white_check_mark:
30 إعجابًا

كان هذا مجرد مسألة وقت حتى نحصل على هذا!

لكن سؤالي الأساسي هو ما مدى تكلفة هذا بالنسبة لنا؟

4 إعجابات

لقد كان مباشرًا على أحد منتدياتي لبضعة أيام الآن. إنه نشط في جميع الفئات العامة تقريبًا.

من الصعب الإجابة لأنني لا أعرف مدى نشاط منتداك.

اقتراحي هو تجربته في فئة واحدة ومعرفة كيف تسير الأمور.

هناك لوحة تحكم لائقة.

بعد تطوير مكونين إضافيين يعتمدان على GPT3 (النموذج الأكثر تكلفة) وتم إطلاقهما على موقع واحد في أواخر الشهر الماضي، يبدو موقعي على هذا النحو لشهر فبراير:

لذا ربما أقل من تكاليف بريدك الإلكتروني.

10 إعجابات

قد يكون ذلك جيدًا لتنمية مواضيع مسردنا.
هل يجب أن يعمل بالإسبانية؟

3 إعجابات

ليس لدي أي فكرة، قد تحتاج إلى تغيير المطالبة في الإعدادات. لكن جربها!

(يجب أن يكون هذا نصًا مترجمًا، سأقوم بتغييره قريبًا)

4 إعجابات

شكرًا @merefield - تبدو هذه إضافة رائعة!

لقد قمت بتمكينها وإدخال مفتاح API الخاص بي، وتمكين الفئات وما إلى ذلك، ولكن لم أر أي ملخصات بعد. هل هناك أي طريقة يمكنني من خلالها مراقبة تقدمها على منتدى Discourse الخاص بي؟ لا أرى شيئًا في السجلات أو sidekiq (على الرغم من أنني لم ألقِ نظرة فاحصة بعد).

3 إعجابات

مرحباً كريس، إنه يتفاعل مع المنشورات الجديدة. إذا كانت ضمن الحدود وتفي بمعايير موقع الفئة، فسيقوم بإنشاء ملخص.

3 إعجابات

حسنًا، شكرًا للتوضيح يا @merefield

إعجابَين (2)

مرحبًا،

فشل إعادة البناء الخاصة بي عند تمكين إضافة الملخص هذه. لا أعرف ما إذا كان هذا يتعلق بإعداداتي الأساسية أو الإضافات المتعارضة. أرفق بعض التفاصيل في حال كانت مفيدة.

يؤدي التعليق على إضافة ai-topic-summary إلى حل المشكلة ونجاح البناء.

شكرًا جزيلاً على أي توجيه.

I, [2023-03-12T17:24:25.390052 #1]  INFO -- : cd /var/www/discourse & su discourse -c 'LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all'
I, [2023-03-12T17:24:31.668769 #1]  INFO -- : discourse-ai-topic-summary is already at latest compatible version
discourse-assign is already at latest compatible version
discourse-chat-integration is already at latest compatible version
discourse-chatbot is already at latest compatible version
discourse-checklist is already at latest compatible version
discourse-solved is already at latest compatible version
docker_manager is already at latest compatible version

I, [2023-03-12T17:24:31.677801 #1]  INFO -- : cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate'
rake aborted!
Gem::LoadError: can't activate ruby-openai-3.4.0, already activated ruby-openai-3.3.0
/var/www/discourse/lib/plugin_gem.rb:26:in `load'
/var/www/discourse/lib/plugin/instance.rb:796:in `gem'
/var/www/discourse/plugins/discourse-chatbot/plugin.rb:9:in `activate!'
/var/www/discourse/lib/plugin/instance.rb:693:in `instance_eval'
/var/www/discourse/lib/plugin/instance.rb:693:in `activate!'
/var/www/discourse/lib/discourse.rb:352:in `block in activate_plugins!'
/var/www/discourse/lib/discourse.rb:349:in `each'
/var/www/discourse/lib/discourse.rb:349:in `activate_plugins!'
/var/www/discourse/config/application.rb:216:in `block in <class:Application>'
/var/www/discourse/lib/plugin.rb:6:in `initialization_guard'
/var/www/discourse/config/application.rb:216:in `<class:Application>'
/var/www/discourse/config/application.rb:75:in `<module:Discourse>'
/var/www/discourse/config/application.rb:74:in `<top (required)>'
/var/www/discourse/Rakefile:7:in `require'
/var/www/discourse/Rakefile:7:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
(See full trace by running task with --trace)
I, [2023-03-12T17:24:38.020166 #1]  INFO -- : gem install httparty -v 0.21.0 -i /var/www/discourse/plugins/discourse-ai-topic-summary/gems/3.2.1 --no-document --ignore-dependencies --no-user-install
When you HTTParty, you must party hard!
Successfully installed httparty-0.21.0
1 gem installed
gem install ruby-openai -v 3.3.0 -i /var/www/discourse/plugins/discourse-ai-topic-summary/gems/3.2.1 --no-document --ignore-dependencies --no-user-install
Note if upgrading: The `::Ruby::OpenAI` module has been removed and all classes have been moved under the top level `::OpenAI` module. To upgrade, change `require 'ruby/openai'` to `require 'openai'` and change all references to `Ruby::OpenAI` to `OpenAI`.
Successfully installed ruby-openai-3.3.0
1 gem installed
gem install httparty -v 0.21.0 -i /var/www/discourse/plugins/discourse-chatbot/gems/3.2.1 --no-document --ignore-dependencies --no-user-install
When you HTTParty, you must party hard!
Successfully installed httparty-0.21.0
1 gem installed
gem install ruby-openai -v 3.4.0 -i /var/www/discourse/plugins/discourse-chatbot/gems/3.2.1 --no-document --ignore-dependencies --no-user-install
Note if upgrading: The `::Ruby::OpenAI` module has been removed and all classes have been moved under the top level `::OpenAI` module. To upgrade, change `require 'ruby/openai'` to `require 'openai'` and change all references to `Ruby::OpenAI` to `OpenAI`.
Successfully installed ruby-openai-3.4.0
1 gem installed

I, [2023-03-12T17:24:38.021523 #1]  INFO -- : Terminating async processes
I, [2023-03-12T17:24:38.022106 #1]  INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 41
2023-03-12 17:24:38.022 UTC [41] LOG:  received fast shutdown request
I, [2023-03-12T17:24:38.022874 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 102
102:signal-handler (1678641878) Received SIGTERM scheduling shutdown...
2023-03-12 17:24:38.035 UTC [41] LOG:  aborting any active transactions
2023-03-12 17:24:38.046 UTC [41] LOG:  background worker "logical replication launcher" (PID 50) exited with exit code 1
2023-03-12 17:24:38.049 UTC [45] LOG:  shutting down
102:M 12 Mar 2023 17:24:38.053 # User requested shutdown...
102:M 12 Mar 2023 17:24:38.054 * Saving the final RDB snapshot before exiting.
102:M 12 Mar 2023 17:24:38.120 * DB saved on disk
102:M 12 Mar 2023 17:24:38.122 # Redis is now ready to exit, bye bye...
2023-03-12 17:24:38.153 UTC [41] LOG:  database system is shut down


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 1043 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
3 إعجابات

عفوًا، خطئي. إنه تعارض بين اثنين من إضافاتي الذكاء الاصطناعي. سأقوم بحله وسأعود! :sweat_smile: أعتذر!

5 إعجابات

جرب ذلك: FIX: conflict with chatbot · merefield/discourse-ai-topic-summary@0067eaf · GitHub

5 إعجابات

شكراً جزيلاً على سرعة ردك. سأجرب هذا غداً. أتطلع لرؤية هذه الإضافة أثناء العمل!

3 إعجابات

تحديث سريع، لقد حصلت على أول ملخص حقيقي لي وتمكن من القيام بعمل معقول جدًا. @merefield أعتقد أنك أتقنت هذا المكون الإضافي :-). أعتقد في الواقع أن وضع ChatGPT في العمل بهذه الطريقة لديه إمكانات مستقبلية أفضل بكثير من مجرد إضافته إلى سلسلة مناقشة.

إليك الملخص الذي تم إنشاؤه والذي تم وضعه في أعلى الموضوع وهو يقوم بعمل رائع في تشجيع الآخرين على القراءة - أو عدم القراءة.

لقد تلقيت خطأ (خطأ 500) عند نشر تحديث كان من شأنه أن يؤدي إلى تشغيل الملخص. كان هذا بسبب أنني حاولت استخدام gpt-3.5-turbo في الإعدادات. ربما إذا كان هناك خطأ في واجهة برمجة تطبيقات ChatGPT، فسيكون من الأفضل السماح بتقديم المنشور بدلاً من حصول المستخدم على خطأ 500 لا يعرف ما يجب فعله به.

في السجلات، كان من الواضح ما فعلته بشكل خاطئ

StandardError (هذا نموذج دردشة وغير مدعوم في نقطة النهاية v1/completions. هل كنت تقصد استخدام v1/chat/completions؟)

التطورات المحتملة:

  • السماح لمالك الموضوع / المسؤول بإزالة الملخص إذا لم يكن ذا صلة / مناسبًا؟
  • ربما مكان للذهاب لعرض جميع الملخصات في فئة / بشكل عام

بخلاف ذلك، أتطلع إلى رؤية كيف يتطور هذا. شكرًا جزيلاً لك على ما قمت به حتى الآن. موقعي صغير جدًا وبه عدد قليل من المستخدمين فقط ولكني أرى حقًا إمكاناته.

4 إعجابات

ملاحظات رائعة شكراً. هذه أفكار لطيفة.

نعم، قد يكون زر مسؤول/مؤلف لطيفًا جدًا. سأضيفه إلى خارطة الطريق.

لطيف!

أتساءل عما إذا كانت قائمة “المكان لرؤية الملخصات” هي في الواقع مقتطف بديل في قائمة الموضوع؟

سأضيفه إلى خارطة الطريق.

نعم، يجب أن أحول هذا إلى قائمة منسدلة كما فعلت مع روبوت الدردشة. محاولة جيدة رغم ذلك :wink:

GPT-4 قادم بالمناسبة والذي سيحسن الملخصات بشكل كبير ويتعامل مع المواضيع الأطول بكثير.

6 إعجابات

هل يمكنك إخباري ما إذا كانت الإضافة تدعم حاليًا ChatGPT 4 وواجهة برمجة تطبيقات تطبيق POE (منصة الدردشة بالذكاء الاصطناعي التي طورتها Quora)؟

3 إعجابات

هاها، أعطني فرصة! :sweat_smile: أليس كذلك تم الإعلان عنه بالأمس فقط؟

تم منح عدد قليل جدًا من المطورين إمكانية الوصول إلى واجهة برمجة التطبيقات حتى الآن. توجد قائمة انتظار. لذلك من غير المرجح أن يتمكن مستخدمو المكون الإضافي من الاتصال على أي حال.

(هل لاحظت عنوان الموضوع بالمناسبة؟)

لا ولا توجد خطط لذلك في الوقت الحالي. ما هي الفائدة؟ هل من المعروف أنه يتفوق في التلخيص؟

إعجابَين (2)

^^
آسف لعدم الوضوح ^^ كنت فقط أرغب في معرفة ما إذا كنت مهتمًا بدمجها في المستقبل؟ أنا أتابع الأخبار حول GPT 04 وهو أمر مفاجئ وخاص لمجتمعنا الفيتنامي

3 إعجابات

شكرا لاهتمامك. فيما يتعلق بدعم GPT-4، اسمح لي أن أجيب بهذه الطريقة:

Hell Yeah Dcuniverse GIF by DC

من المحتمل أن أضيفه إلى Chatbot أولاً، ولكن بالتأكيد سأقوم بتلخيص موضوع الذكاء الاصطناعي بعد ذلك بوقت قصير.

أنا أنتظر البريد الإلكتروني من Open AI … (ثم القليل من وقت الفراغ!)

5 إعجابات

في الواقع، لقد فكرت في حل أبسط قليلاً لهذا حتى لا نضطر إلى ازدحام واجهة المستخدم:

ماذا عن مجرد إعطاء إعدادات لـ “وزن التصويت” للمسؤول والمؤلف؟

لذا يمكنك تعيين وزن تصويت المؤلف إلى 3 وإذا كان الحد هو 3، فسينتج عن ذلك إنشاء ملخص جديد.

العيب في كلا الحلين (زر، أو وزن يطابق الحد) هو أن المؤلف يمكنه ببساطة إرسال بريد عشوائي للحصول على ملخصات جديدة، مما يكلفك الكثير في استدعاءات واجهة برمجة التطبيقات (API).

لذا أقترح عليك جعل تصويت المؤلف يحمل وزنًا أقل بقليل من الحد (ولكن أكثر من المستخدم العادي) والمسؤول عند الحد؟

إذًا، لن نضطر إلى تغيير واجهة المستخدم وسنخبئ هذا ببساطة في منطق الواجهة الخلفية والإعدادات.

ستؤدي عمليات التصويت السلبي للمسؤول دائمًا إلى إنشاء ملخص جديد وإعادة تعيين العد.

أفكار @JamesPick؟

4 إعجابات

أتفق مع قلقك بشأن إرسال الملخصات الجديدة بشكل عشوائي.
أعتقد أن الأمر يتعلق أقل بتقديم الذكاء الاصطناعي لملخص سيء، وأكثر بأن الموضوع لا يساعد على تقديم ملخص جيد. ربما فقد الموضوع تركيزه أو أصبح أشبه بمحادثة، وتضيع المشاركات الرئيسية مما يتم إرساله إلى ChatGPT.

في النهاية، عندما يرى المسؤول / مالك الموضوع بوضوح أن الملخص لن ينتج عنه أي شيء ذي معنى للموضوع، يمكنه إلغاؤه.

أفترض أنه بمرور الوقت يمكن إضافة ميزات لتحديد المشاركات المحددة التي يمكن اختيارها لإرسالها إلى واجهة برمجة التطبيقات (API) للملخص.

كنت أفكر في هذا لشيء مثل هذا الموضوع. يمكنك تمييز مشاركتك الأولى لتكون هي المشاركة التي يتم تضمينها دائمًا في الملخص؟ ثم ربما إضافة عدد قليل آخر يناسب الملخص بشكل أفضل.

يمكنك حتى الحصول على خيار “إنشاء ملخص” حيث يمكن إنشاء ملخص حتى عندما يكون للموضوع مشاركة واحدة فقط. هذا يتناسب جيدًا مع تعليقك السابق

4 إعجابات