روبوت الذكاء الاصطناعي - أدوات مخصصة

:bookmark: يشرح هذا الدليل كيفية إنشاء أدوات الذكاء الاصطناعي المخصصة وتكوينها ودمجها ضمن إضافة Discourse AI، مما يمكّن المسؤولين من توسيع قدرات الروبوت باستخدام دوال JavaScript التي يحددها المستخدم.
:person_raising_hand: مستوى المستخدم المطلوب: مسؤول

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

ملخص

تغطي هذه الوثائق:

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

إنشاء أداة ذكاء اصطناعي مخصصة جديدة

لإنشاء أداة ذكاء اصطناعي جديدة:

  1. انتقل إلى لوحة تحكم المسؤول > الإضافات > Discourse AI > الأدوات
  2. انقر فوق “أداة جديدة” (يمكنك استخدام الإعدادات المسبقة الموجودة لمعرفة الخيارات)
  3. املأ الحقول التالية:
    • الاسم: اسم الأداة كما يتم تقديمه إلى LLM
    • الوصف: وصف الأداة كما يتم تقديمه إلى LLM
    • الملخص: ملخص لما تفعله الأداة لمساعدة المستخدمين (يتم عرضه في التفاصيل)
    • المعلمات: حدد المدخلات التي تحتاجها أداتك كما يتم تقديمها إلى LLM
    • النص البرمجي: كود JavaScript الذي يشغل أداتك
  4. انقر فوق “حفظ”

تكوين أكواد الأدوات

واجهات برمجة التطبيقات المتاحة

تتمتع أكواد أدواتك بالوصول إلى واجهات برمجة التطبيقات التالية:

  1. طلبات HTTP:

    http.get(url, options)
    http.post(url, options)
    

    استخدم هذه للتفاعل مع الخدمات الخارجية. يمكنك استخدام options لتحديد رؤوس HTTP:

    http.get(url, { headers: { Auth: "some value" } })
    http.post(url, { headers: { Auth: "some value", body: "some body" } }) 
    http.patch(url, { headers: { Auth: "some value", body: "some body" } }) 
    http.delete(url, { headers: ...})
    http.put(url, { headers: ... , body: ...})
    
  2. تكامل LLM (نموذج اللغة):

    llm.truncate(text, length)
    

    يسمح لك هذا بمعالجة النص ضمن حدود رموز نموذج الذكاء الاصطناعي.

  3. تكامل التحميل المخصص (RAG)

    index.search(query, { filenames: options, limit: max_fragments_optional })
    
  4. دعم إنشاء التحميل

    upload.create(filename, base_64_content)
    
  5. التحكم في سلسلة التنفيذ

    chain.setCustomRaw(raw) - يحدد جسم الطلب في السلسلة.
    

الدوال المطلوبة

يجب أن ينفذ النص البرمجي الخاص بك:

  • invoke(params): الدالة الرئيسية التي يتم تنفيذها عند استدعاء الأداة

قد ينفذ اختياريًا:

  • details(): (اختياري) يوفر معلومات إضافية حول تنفيذ الأداة

مثال على النص البرمجي:

function invoke(params) {
  let result = http.get("https://api.example.com/data?query=" + params.query);
  return JSON.parse(result.body);
}

function details() {
  return "Fetched data from Example API";
}

القيود والأمان

  • مهلة التنفيذ: الأدوات لديها مهلة افتراضية تبلغ ثانيتين
  • طلبات HTTP: بحد أقصى 20 طلبًا لكل تنفيذ أداة
  • بيئة معزولة: لا يوجد وصول إلى نظام ملفات الخادم أو مكتبات Ruby

اختبار أداتك

يجب عليك اختبار أي أداة تبنيها للتأكد من أن النتائج التي سيتم تقديمها إلى LLM تتوافق مع توقعاتك.

دمج الأدوات مع شخصيات الذكاء الاصطناعي

لإضافة أداتك المخصصة إلى شخصية ذكاء اصطناعي:

  1. انتقل إلى لوحة تحكم المسؤول > الإضافات > Discourse AI > الشخصيات
  2. قم بتحرير شخصية موجودة أو أنشئ شخصية جديدة
  3. في قسم “الأدوات”، سترى أدواتك المخصصة مدرجة جنبًا إلى جنب مع الأدوات المضمنة
  4. حدد أداتك المخصصة لإضافتها إلى الشخصية

أدوات مخصصة قيد العمل

بمجرد تزويد LLM بالأداة المخصصة، يمكنه استخدامها لتعزيز المحادثة.

استكشاف الأخطاء وإصلاحها

إذا لم تعمل أداتك كما هو متوقع:

  1. استخدم واجهة الاختبار للتأكد من أنها تتصرف كما هو متوقع لمدخلاتك.
  2. تأكد من أن مجموعتك موجودة في ai_bot_debugging_allowed_groups. يتمتع أعضاء هذه المجموعة بوصول كامل إلى نصوص الروبوت؛ يمكنك عرض سجلات الذكاء الاصطناعي هناك.
  3. إذا كان هناك أي شيء غير متوقع يحدث، قم بزيارة https://SITENAME/logs للتحقق من وجود أخطاء.

موارد إضافية

14 إعجابًا

أنا أتعمق في بناء أدوات للشخصيات الاصطناعية في Discourse، جزئيًا حتى أتمكن من التركيز عليها حقًا؛ يبدو هذا مفيدًا جدًا نظرًا لعدد واجهات برمجة التطبيقات المفيدة والعامة المتاحة!

على سبيل المثال، أحصل على نتائج مثل:

فهم اتخاذ القرار من خلال استراتيجيات البوكر AI

maiki:

أنشئ بطاقة معلومات للعبة Breath of the Wild.

gpt-4o:

إليك بطاقة معلومات للعبة “The Legend of Zelda: Breath of the Wild”:


العنوان: The Legend of Zelda: Breath of the Wild
المطور: Nintendo
الناشر: Nintendo
تاريخ الإصدار: 3 مارس 2017
المنصات: Nintendo Switch, Wii U
النوع: أكشن-مغامرات
الوضع: لاعب واحد

ملخص:
تدور أحداث اللعبة في عالم مفتوح شاسع، حيث يتحكم اللاعبون في Link، الذي يستيقظ من سبات عميق لهزيمة Calamity Ganon وإنقاذ مملكة Hyrule. تشيد اللعبة ببيئتها الغامرة، مما يسمح للاعبين بالاستكشاف والتفاعل بحرية مع العالم وأنظمته.

الجوائز:
فازت اللعبة بالعديد من الجوائز، بما في ذلك العديد من جوائز لعبة العام، لتصميمها المبتكر وعالمها الواسع وطريقة لعبها الساحرة.

مزيد من المعلومات: Wikidata Entry


تشتهر “Breath of the Wild” بإعادة تعريف ألعاب العالم المفتوح وتقديم تجربة آسرة تشجع على الاستكشاف والاكتشاف.

maiki:

نفس الشيء بالنسبة لـ Animal Crossing: New Horizons.

gpt-4o:

إليك بطاقة معلومات للعبة “Animal Crossing: New Horizons”:


العنوان: Animal Crossing: New Horizons
المطور: Nintendo
الناشر: Nintendo
تاريخ الإصدار: 20 مارس 2020
المنصة: Nintendo Switch
النوع: محاكاة اجتماعية
الوضع: لاعب واحد، متعدد اللاعبين

ملخص:
في هذه اللعبة الساحرة للمحاكاة الاجتماعية، يلعب اللاعبون دور شخصية قابلة للتخصيص تنتقل إلى جزيرة مهجورة بعد شراء حزمة من Tom Nook. تسمح اللعبة بالاستكشاف في الوقت الفعلي، وجمع الموارد، والصياغة، والتخصيص، مما يعزز تجربة لعب مجتمعية ومريحة.

الجوائز:
حظيت اللعبة بالثناء لحرية الإبداع وتوقيت إصدارها، وحصلت على جوائز لعبة العام ومساهماتها في الألعاب الاجتماعية خلال الوباء العالمي.

مزيد من المعلومات: Wikidata Entry


أصبحت “Animal Crossing: New Horizons” ظاهرة ثقافية، تم الاحتفاء بها لميزاتها الاجتماعية الجذابة وطريقة لعبها المخففة للتوتر في الأوقات الصعبة.

maiki:

طريق طويل من شيكاغو

gpt-4o:

إليك بطاقة معلومات لكتاب “A Long Way from Chicago”:


العنوان: A Long Way from Chicago
المؤلف: Richard Peck
سنة النشر: 1998
النوع: خيال تاريخي، يافعين
ISBN: 978-0141303529

ملخص:
هذه الرواية الحائزة على جائزة Newbery Honor هي سلسلة من القصص القصيرة التي تسجل الرحلات الصيفية السنوية لـ Joey وشقيقته Mary Alice من شيكاغو إلى بلدة ريفية في إلينوي لزيارة جدتهما الكبيرة Grandma Dowdel خلال أواخر العشرينات والثلاثينات من القرن الماضي. يقدم كل فصل حلقة مسلية ومؤثرة تلقي دروسًا في الحياة في ظل الكساد الكبير.

الجوائز:
حصل الكتاب على جائزة Newbery Honor في عام 1999 ويحتفى به لفكاهته وعمقه وتصويره للحياة الريفية الأمريكية في أوائل القرن العشرين.

مزيد من المعلومات: Wikidata Entry


يحظى هذا الكتاب بالتقدير لقصصه الحنينية والمؤثرة، التي تجسد جوهر الروابط العائلية والأوقات الأبسط.

maiki:

التفكير في الرهانات

gpt-4o:

لقد وجدت سابقًا إدخال Wikidata لـ “Thinking in Bets”، لكنني غير قادر على استرداد تفاصيل محددة أخرى مباشرة من Wikidata في الوقت الحالي. ومع ذلك، إليك بطاقة موجزة بناءً على المعلومات المتاحة:


العنوان: Thinking in Bets: Making Smarter Decisions When You Don’t Have All the Facts
المؤلف: Annie Duke
سنة النشر: 2018
النوع: غير خيالي، اتخاذ القرار، علم النفس
ISBN: 978-0735216358

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

مزيد من المعلومات: Wikidata Entry


للحصول على رؤى مفصلة، قد ترغب في التحقق من موارد أو قواعد بيانات إضافية تتعلق بمنشورات الكتب.


حسنًا، هذا جيد، لكن لاحظت هذا الوصف…

… وأتساءل: هل يجب أن أبني مطالباتي بالإشارة مباشرة إلى تلك الأدوات، للاستخدام الفعال؟

نهجي العام في كتابة المطالبات هو التحسين بمرور الوقت ثم التمسك بنمط سلوك أرغب في أن تتبناه أدوات الذكاء الاصطناعي. ومع ذلك، إذا كان بإمكاني إضافة تعليمات محددة حول، على سبيل المثال، متى يتم البحث عن كيان Wikidata، ومتى يتم سرد جميع المطالبات لكيان معين (واجهتا برمجة تطبيقات مختلفتان)، فأعتقد أنني أستطيع تحسين سير العمل بأكمله كما أقصده… :star_struck:

3 إعجابات

بالتأكيد، يعد شرح الأداة بوضوح وتقديم أمثلة في موجه النظام أمرًا مفيدًا.

إعجابَين (2)

هل من الممكن في أداة مخصصة إدراج مفتاح واجهة برمجة التطبيقات (API) ومشروع OpenAI من إعدادات المسؤول؟

إعجاب واحد (1)

يمكنك إجراء استدعاءات REST من أداة مخصصة وتحديد جميع رؤوس الطلب

إعجابَين (2)

أدركت ذلك للتو… آسف على هذا الخطأ السخيف

إعجاب واحد (1)

لقد قمت بتحميل بعض المستندات إلى شخصية، وقد قامت بإنشاء التضمينات (embeddings) وهي الآن قادرة على إجراء بحث دلالي عليها. ولكن في بعض الحالات، لا يكون البحث الدلالي مثاليًا، لذلك أود تحسينه وإجراء بحث هجين، على سبيل المثال، الاحتفاظ بما هو موجود بالفعل وإضافة بحث الكلمات المفتاحية. في الوقت الحالي، إذا أردت القيام بذلك، يجب عليّ كتابة أداة مخصصة، أليس كذلك؟
أعلم أنه يمكنني ببساطة نشر المستندات كمواضيع (topics) وبعد ذلك ستعمل بشكل مباشر مع بحث Discourse الأصلي، ولكن هذا ليس خيارًا حاليًا.