chatbot_support_vision
)*يلزم الاشتراك في خدمات API الخارجية (غير التابعة). الروابط في الإعدادات.
هناك وضعان:
وضع RAG ذكي للغاية ويعرف الحقائق المنشورة في المنتدى الخاص بك.
قد يرتكب وضع الروبوت الأساسي أخطاء في بعض الأحيان، ولكنه أرخص في التشغيل لأنه يقوم باستدعاءات أقل لنموذج اللغة الكبير:
يمكن استخدام هذا الروبوت في الأماكن العامة في منتداك. لجعل الروبوت مفيدًا بشكل خاص، يوجد وضع RAG (إعداد واحد لكل مستوى ثقة للروبوت). لم يتم تعيين هذا بشكل افتراضي.
في وضع RAG، يتم التحكم بالروبوت، افتراضيًا، عن طريق تعيين chatbot embeddings strategy
(المعيار benchmark_user
) المطلع على كل المحتوى الذي سيراه المستخدم من مستوى الثقة 1. وبالتالي، إذا تم التفاعل معه في موضوع يواجه الجمهور، فهناك احتمال أن يقوم الروبوت "بتسريب" المعلومات إذا كنت تميل إلى بوابة المحتوى على مستوى الثقة 0 أو 1 عبر أذونات الفئة. تم اختيار هذا المستوى لأنه من خلال الخبرة، فإن معظم المواقع عادةً لا تعرض محتوى حساسًا عند مستويات ثقة منخفضة ولكن ذلك يعتمد على احتياجاتك المحددة.
بالنسبة لهذا الوضع، تأكد من أن لديك مستخدمًا واحدًا على الأقل يتمتع بمستوى الثقة 1 ولا توجد عضوية مجموعة إضافية خارج المجموعات التلقائية. (ضع في اعتبارك أن الروبوت سيعرف بعد ذلك كل ما يعرفه مستخدم مستوى TL1 ويمكنه مشاركته). يمكنك اختيار خفض chatbot embeddings benchmark user trust level
إذا كان لديك مستخدم من مستوى الثقة 0 بدون عضوية مجموعة إضافية خارج المجموعات الآلية.
بدلاً عن ذلك:
chatbot embeddings strategy
إلى category
وقم بملء chatbot embeddings categories
بالفئات التي ترغب في أن يعرف الروبوت عنها. (كن على علم أنه إذا أضفت أي فئات خاصة، فيجب أن يعرف عنها وأي شيء يقوله الروبوت في الأماكن العامة، فقد يتسرب أي مكان إلى المستخدمين الأقل امتيازًا، لذا كن حذرًا قليلاً بشأن ما تضيفه).basic
(ولكن لن يرى الروبوت بعد ذلك أي منشورات)يمكنك أن ترى أن هذا الإعداد يمثل حلاً وسطًا. لكي يصبح الروبوت مفيدًا، يجب أن يكون على دراية بالمحتوى الموجود على موقعك. في الوقت الحالي، ليس من الممكن للروبوت قراءة محتوى الأعضاء فقط بشكل انتقائي ومشاركته مع الأعضاء فقط، الأمر الذي قد يجده بعض المسؤولين مقيدًا ولكن لا توجد طريقة لحل هذه المشكلة بسهولة بينما يكون الروبوت قادرًا على التحدث علنًا. اتصل بي إذا كان لديك احتياجات خاصة وترغب في رعاية بعض الأعمال في هذا المجال. يعد إذن الروبوت مع البحث الدلالي مشكلة غير تافهة. تم تحسين النظام حاليًا من أجل السرعة. ملاحظة: لا تتم قراءة الرسائل الخاصة مطلقًا بواسطة الروبوت.
إذا كنت تريد أن يعرف Chatbot المحتوى الموجود على موقعك، فقم بتشغيل هذا الإعداد:
chatbot_embeddings_enabled
ضروري فقط إذا كنت تريد استخدام الروبوت من نوع RAG والتأكد من أنه على علم بمحتوى المنتدى الخاص بك، وليس فقط الموضوع الحالي.
في البداية، نحتاج إلى إنشاء التضمينات لجميع المنشورات داخل النطاق، حتى يتمكن الروبوت من العثور على معلومات المنتدى. يحدث هذا الآن في الخلفية بمجرد تمكين هذا الإعداد ولن تحتاج إلى القيام بأي شيء.
يمكن أن تستغرق مهمة البذر هذه عدة أيام بالنسبة للمواقع الكبيرة جدًا.
يتم تحديد ذلك من خلال عدة إعدادات:
chatbot_embeddings_strategy
والتي يمكن أن تكون إما "مستخدم معياري" أو "فئة"chatbot_embeddings_benchmark_user_trust_level
بتعيين مستوى الثقة ذي الصلة للمستوى الأولchatbot_embeddings_categories
إذا تم تعيين إستراتيجية category
، فسيمنح الروبوت إمكانية الوصول للنظر في جميع المنشورات في الفئة المحددة.إذا قمت بتغيير هذه الإعدادات، بمرور الوقت، سيتحول عدد التضمينات.
أدخل الحاوية:
./launcher enter app
وقم بتشغيل الأمر rake التالي:
rake chatbot:refresh_embeddings[1]
والذي سيتم تشغيله حاليًا مرتين لسبب غير معروف (آسف! لا تتردد في العلاقات العامة) ولكن [1]
يضمن في المرة الثانية أنه سيضيف فقط التضمينات المفقودة (أي لا شيء مباشرة بعد التشغيل الأول) لذا فهو موضع نقاش إلى حد ما.
في حالة حصولك على معدل محدود بواسطة OpenAI (غير محتمل!) في حالة حصولك على معدل محدود (غير محتمل!) يمكنك إكمال عمليات التضمين عن طريق القيام بذلك:
rake chatbot:refresh_embeddings[1,1]
والتي سوف تملأ العناصر المفقودة (لذلك لن يضيع أي شيء من الخطأ) ولكنها ستستمر بحذر أكبر في وضع تأخير لمدة ثانية واحدة بين كل استدعاء لـ Open AI.
بالمقارنة مع تفاعلات الروبوتات، فإن إنشاء عمليات التضمين ليس مكلفًا، ولكن راقب استخدامك على لوحة معلومات Open AI الخاصة بك على أي حال.
ملحوظة: يتم إنشاء عمليات التضمين فقط للمنشورات وتلك المنشورات التي يمكن لمستخدم مستوى الثقة الأول الوصول إليها فقط. بدا هذا وكأنه حل وسط معقول. لن يقوم بإنشاء تضمينات للمشاركات من مستوى الثقة 2+ فقط للمحتوى الذي يمكن الوصول إليه.
كتب @37Rb: "إليك استعلام SQL الذي أستخدمه مع البرنامج الإضافي Data Explorer لمراقبة عمليات التضمين والتحقق منها... في حال كان ذلك يساعد أي شخص آخر."
SELECT e.id, e.post_id AS post, p.topic_id AS topic, p.post_number,
p.topic_id, e.created_at, e.updated_at, p.deleted_at AS post_deleted
FROM chatbot_post_embeddings e LEFT JOIN posts p ON e.post_id = p.id
قد تحصل على خطأ مثل هذا:
OpenAI HTTP Error (spotted in ruby-openai 6.3.1): {"error"=>{"message"=>"This model's maximum context length is 8192 tokens, however you requested 8528 tokens (8528 in your prompt; 0 for the completion). Please reduce your prompt; or completion length.", "type"=>"invalid_request_error", "param"=>nil, "code"=>nil}}
هكذا تحل الأمر...
وفقًا لرسالة الخطأ، فإن نموذج التضمين له حد:
8192 tokens
however you requested 8528
تحتاج إلى إسقاط القيمة الحالية لهذا الإعداد:
chatbot_open_ai_embeddings_char_limit:
بحوالي 4 × الفرق ومعرفة ما إذا كان يعمل (الرمز المميز يتكون من 4 أحرف تقريبًا ).
لذا، في هذا المثال، 4 × (8528 - 8192) = 1344
لذا قم بإسقاط القيمة الحالية chatbot_open_ai_embeddings_char_limit
بمقدار 1500 لتكون آمنًا. ومع ذلك، تم تعيين القيمة الافتراضية وفقًا للعديد من الاختبارات للمشاركات الإنجليزية، ولكن بالنسبة للغات الأخرى قد تحتاج إلى خفضها.
سيؤدي هذا بعد ذلك إلى قطع المزيد من النصوص ورموز الطلب، ونأمل أن تتم عملية التضمين. إذا لم يكن الأمر كذلك، فستحتاج إلى تأكيد الفرق وتقليله وفقًا لذلك. في النهاية سيكون منخفضًا بدرجة كافية بحيث لا تحتاج إلى النظر إليه مرة أخرى.
لا تحتاج إلى القيام بأي شيء سوى تغيير الإعداد: ستتولى مهمة الخلفية الأمور، ولو بشكل تدريجي.
إذا كنت تريد حقًا تسريع العملية، فافعل ما يلي:
chatbot_open_ai_embeddings_model
إلى النموذج المفضل الجديد لديك./launcher enter app
rails c
::DiscourseChatbot::PostEmbedding.delete_all
exit
(للعودة إلى الجذر داخل الحاوية)rake chatbot:refresh_embeddings[1]
chatbot_forum_search_function_similarity_threshold
وإلا قد لا تحصل على أي نتائج :). لقد قمت بإسقاط القيمة الافتراضية من 0.8
إلى 0.6
، ولكن قد يختلف عدد الأميال المقطوعة. خذ دقيقة من وقتك لقراءة المجموعة الكاملة لإعدادات البرنامج الإضافي. يعد إعداد chatbot bot type
أمرًا أساسيًا، ويوجد إعداد واحد لكل "مستوى ثقة" لكل روبوت محادثة:
يعتبر وضع RAG متفوقًا ولكنه سيجري المزيد من الاستدعاءات لواجهة برمجة التطبيقات (API)، مما قد يؤدي إلى زيادة التكلفة. ومع ذلك، فإن انخفاض ميله إلى إنتاج "الهلوسة" في نهاية المطاف قد يسهل عليك القدرة على النزول من GPT-4 إلى GPT-3.5 وقد ينتهي بك الأمر إلى إنفاق أقل على الرغم من الزيادة الكبيرة في فائدة وموثوقية الناتج. يعد GPT 3.5 أيضًا أكثر ملاءمة لنوع الوكيل بناءً على أوقات الاستجابة. فوز محتمل! تجربة!
لكي يعمل Chatbot في الدردشة، يجب عليك تمكين الدردشة.
ويخضع هذا في الغالب للإعداد: chatbot_reply_job_time_delay
الذي لديك حرية التصرف فيه.
الهدف من وجود هذا الإعداد هو:
لقد أصبحت القيمة الافتراضية الآن "1" ثانية ويمكن الآن تخفيضها إلى الصفر؟️، ولكن كن على دراية بالمخاطر المذكورة أعلاه.
تعيين هذا الصفر والروبوت، حتى في وضع "الوكيل"، يصبح أكثر "سرعة".
من الواضح أن هذا يمكن أن يكون مصطنعًا بعض الشيء ولن يقوم أي شخص حقيقي بالكتابة بهذه السرعة ... ولكن اضبطه حسب ذوقك وحجم محفظتك.
ملاحظة: لا يمكنني التحكم بشكل مباشر في سرعة استجابة واجهة برمجة التطبيقات الخاصة بـ Open AI - والقاعدة العامة هي أنه كلما كان النموذج الذي قمت بتعيينه أكثر تعقيدًا، كانت هذه الاستجابة أبطأ عادةً. لذا فإن GPT 3.5 أسرع بكثير من GPT 4... على الرغم من أن هذا قد يتغير مع طراز GPT 4 Turbo الأحدث.
لكي يعمل Chatbot في الدردشة، يجب عليك تمكين الدردشة.
يجب أن تحصل على رمز مميز من https://platform.openai.com/ لتتمكن من استخدام الروبوت الحالي. تم تعيين نموذج اللغة الافتراضي (واحد من أكثر النماذج تعقيدًا)، ولكن يمكنك تجربة بديل أرخص، القائمة هنا
يوجد جزء آلي من الإعداد: عند الإضافة إلى الخطاب، يقوم المكون الإضافي حاليًا بإعداد مستخدم روبوت الذكاء الاصطناعي بالسمات التالية
يمكنك تعديل الاسم والصورة الرمزية والسيرة الذاتية (راجع السلسلة المحلية في المسؤول -> تخصيص -> النص) كما يحلو لك ولكن مع تسهيل ذكرها.
في البداية، لن يتمكن أحد من الوصول إلى الروبوت، ولا حتى الموظفين.
الاتصال بـ Open AI API ليس مجانيًا بعد انتهاء التخصيص المجاني الأولي! لذلك، قمت بتطبيق نظام الحصص لإبقاء هذا الأمر تحت السيطرة، وخفض التكاليف ومنع إساءة الاستخدام. التكلفة ليست مجنونة مع هذه التفاعلات الصغيرة، ولكنها قد تزيد إذا أصبحت شائعة. يمكنك قراءة المزيد حول تسعير OpenAI على صفحة التسعير الخاصة بهم.
لكي تتفاعل مع الروبوت، يجب أن تنتمي إلى مجموعة تمت إضافتها إلى أحد المستويات الثلاثة لمجموعات المجموعات الموثوقة، مجموعات المجموعات ذات الثقة المنخفضة والمتوسطة والعالية. يمكنك تعديل كل عدد من التفاعلات المسموح بها أسبوعيًا لكل مجموعة موثوقة في الإعدادات المقابلة.
يجب عليك ملء المجموعات أيضًا. هذا التكوين متروك لك تمامًا. يبدأون فارغين، لذا لن يتمكن أي شخص في البداية من الوصول إلى الروبوت. توجد حصص مقابلة في ثلاثة إعدادات إضافية.
لاحظ أن المستخدم يحصل على الحصة بناءً على أعلى مجموعة موثوقة ينتمي إليها.
هناك العديد من "إعدادات" النص المحلي التي تؤثر على ما يتلقاه الروبوت وكيفية استجابة الروبوت.
أهم شيء يجب أن تفكر في تغييره هو موجه system
الروبوت. يتم إرسال هذا في كل مرة تتحدث فيها إلى الروبوت.
بالنسبة للروبوت الأساسي، يمكنك تجربة موجه النظام مثل:
"أنت من عشاق الفورمولا 1 بشدة، وتحب كل ما يتعلق برياضة السيارات ومستويات الإثارة العالية فيها" بدلاً من الافتراضي.
(بالنسبة لروبوت الوكيل، يجب عليك الاحتفاظ بكل شيء بعد عبارة "أنت مساعد مفيد". وإلا قد تخالف سلوك الوكيل. أعد تعيينه إذا واجهت مشاكل. جرّب مرة أخرى!)
جرب واحدًا يناسب موضوع المنتدى الخاص بك. كن مبدعا!
يمكن أن يؤدي تغيير هذه السلاسل المحلية إلى جعل الروبوت يتصرف بشكل مختلف تمامًا ولكن لا يمكن تعديله بسرعة. أوصي بتغيير موجه النظام فقط حيث يلعب الآخرون دورًا مهمًا في سلوك الوكيل أو تقديم معلومات حول من قال ماذا للروبوت.
ملاحظة: في المواضيع، يتم إرسال أول مشاركة وعنوان الموضوع بالإضافة إلى نافذة المشاركات (التي يحددها إعداد الاسترجاع) لمنح الروبوت مزيدًا من السياق.
يمكنك تحرير هذه السلاسل في المسؤول -> تخصيص -> النص ضمن chatbot.prompt.
discourse-chatbot/config/locales/server.en.yml
السطر 45 في 262a0a4
يدعم الروبوت رسائل الدردشة ومنشورات المواضيع، بما في ذلك الرسائل الخاصة (إذا تم تكوينها).
يمكنك مطالبة الروبوت بالرد عن طريق الرد عليه أو @ الإشارة إليه. يمكنك تعيين المدى الذي ينظر إليه الروبوت في الخلف للحصول على سياق للاستجابة. كلما زادت القيمة، زادت تكلفة كل مكالمة.
يوجد زر دردشة سريعة عائم يوصلك فورًا بالروبوت. يمكن تعطيل هذا في الإعدادات. يمكنك اختيار ما إذا كنت تريد تحميل الروبوت في دردشة 1 إلى 1 أو في رسالة شخصية.
يمكنك الآن اختيار الرمز المفضل لديك (الافتراضي؟) أو إذا ترك الإعداد فارغًا، فسيتم التقاط الصورة الرمزية لمستخدم الروبوت! ؟
وتذكر أنه يمكنك أيضًا تخصيص النص الذي يظهر عند توسيعه عن طريق تحرير النص المحلي باستخدام المسؤول -> تخصيص -> chatbot.
الخطوة الوحيدة اللازمة لإزالته هي حذف عبارة الاستنساخ من app.yml
الخاص بك.
أنا لست مسؤولاً عما يستجيب له البوت. ضع في اعتبارك أن المكون الإضافي في المرحلة التجريبية وقد تسوء الأمور. وسوف تتحسن مع ردود الفعل. ولكن ليس بالضرورة استجابة الروبوتات؟ يرجى فهم إيجابيات وسلبيات LLM وما هي قادرة عليه وما هو غير قادر عليه وقيودها. إنهم جيدون جدًا في إنشاء نص مقنع ولكن غالبًا ما يكونون مخطئين في الواقع.
قد تتم إعادة توجيه كل ما تكتبه في منتداك إلى Open AI كجزء من فحص الروبوتات للمشاركات القليلة الأخيرة بمجرد مطالبتك بالرد (من الواضح أن هذا يقتصر على الموضوع الحالي أو قناة الدردشة). على الرغم من أنه من المؤكد أنه لن يتم دمجها في نماذجهم المدربة مسبقًا، إلا أنهم سيستخدمون البيانات في التحليلات والتسجيل. تأكد من إضافة هذه الحقيقة إلى شروط الخدمة وبيانات الخصوصية الخاصة بمنتداك . الروابط ذات الصلة: https://openai.com/policies/terms-of-use، https://openai.com/policies/privacy-policy، https://platform.openai.com/docs/data-usage-policies
أدلت Open AI ببيان حول حقوق الطبع والنشر هنا: https://help.openai.com/en/articles/5008634-will-openai-claim-copyright-over-what-outputs-i-generate-with-the-api