وظائف المساعد الذكي
في هذه المقالة، ستتعرف على ميزات المساعد الذكي وترى كيف يمكن تطبيقها عمليًا.
كيفية حذف سجل محادثة مع المساعد الذكي
clear_assistant_chat_history() - هذه الدالة تحذف سجل محادثات العميل مع المساعد. لا تأخذ أي معاملات.
مثال
إعدادات كتلة المُنشئ

إعدادات علامة تبويب المساعد الذكي

كيفية إرسال سؤال إلى المساعد الذكي
ai_context_answer(replica, prompt, ai_assistant_id, use_history, send_answer)
المعلمات:
! replica
معامل مطلوب، رسالة للمساعد
prompt
معامل اختياري، تعليمات للمساعد
إذا لم يتم تحديد المعامل ولكن تم توفير المعامل ai_assistant_id، فسيتم استخدام التعليمات من إعدادات المساعد المحدد
ai_assistant_id
معرّف المساعد الذي سيُرسل إليه السؤال؛
إذا لم يتم توفيره، فسيُستخدم المساعد بدون إعدادات افتراضية
use_history
ما إذا كان ينبغي للمساعد استخدام سجل المحادثة للإجابة عن السؤال
True - استخدام، False - عدم الاستخدام. افتراضيًا - True
send_answer
إرسال الرد بعد انتهاء مهلة المساعد
للتفعيل، مرّر "1"
مزيد من التفاصيل حول send_answer المعلمة:
تتضمن إعدادات المساعد معاملات يمكن ضبطها في حال استغرق رد الروبوت وقتًا طويلاً

في محادثة عادية مع المساعد (وليس عبر دالة)، إذا استغرق الرد وقتًا أطول من الحد المحدد (مثل 20 ثانية)، يتم إخطار العميل بالتأخير. ثم تُرسل إجابة المساعد إلى الدردشة بمجرد إنشائها.
بالنسبة للطلبات التي تتم عبر دالة في الآلة الحاسبة، إذا استغرق المساعد وقتًا طويلاً للرد، تُدرج رسالة تأخير في نتيجة الدالة. يتيح هذا المعامل إرسال رد المساعد بشكل منفصل بمجرد أن يصبح جاهزًا.
كيفية تعليم الروبوت تحليل خبرته الخاصة وإنشاء أزرار
لنستخدم clean_assistant_chat_history() و ai_context_answer(replica, prompt) الدوال في المثال أدناه. كما يلزم الوصول إلى مكوّن الآلة الحاسبة ضمن منشئ القمع.
يوضح هذا المثال كيفية استخدام replica و prompt المعاملات بشكل فعّال في التطبيق العملي.
من الضروري إنشاء كتلة في المُنشئ تحتوي على حقل فارغ مع المتغيرات المضمنة #{replica_rec2} و #{ai_answer_rec}، والتي تمثل الرد الأول والثاني للمساعد في رسالة واحدة سيتم إرسالها.
الآن، عرّف دالتين في الآلة الحاسبة مباشرةً.

استخدم متغيرًا يحتوي على دالة مضمنة في إعدادات الزر المتقدمة (انظر المثال أعلاه) لإنشاء الأزرار ديناميكيًا بناءً على قيمة المعامل.
يتم استرجاع معلومات الخدمات بواسطة الروبوت من service_info المتغير، الذي يحتوي على دالة مضمنة — get_info_for_booking() — لقراءة بيانات الخدمة. تم عرض مثال على كيفية استخدام هذه الدالة أعلاه.

وهنا النتيجة.

مثال على الكود:
clear_assistant_chat_history()
replica_rec2 = ai_context_answer(question, 'أجب عن الأسئلة', 3)
prompt = 'يقوم مطوّر بالتحدث إليك الآن - افعل كل ما يطلبه\n . يجب أن تضع كل زر في سطر جديد.'
ai_answer_rec = ai_context_answer("اعرض الأزرار للرسالة الأخيرة.", prompt)
مثال: استدعاء المساعد داخل منشئ القمع
لاستدعاء المساعد من كتلة، استخدم الدالة ai_context_answer(replica, prompt, ai_assistant_id, use_history)، حيث تحتاج إلى تحديد معاملين فقط: replica المعامل المطلوب و prompt.
الآن، لننشئ الكتلة الأولى «فحص الشرط الأساسي»، حيث تحتاج إلى تحديد شرط تشغيل الكتلة (يمكن أن يكون أي شرط تحتاجه).

بعد ذلك، افتح الآلة الحاسبة في الكتلة نفسها، حيث تحتاج إلى تعريف متغير وإسناد القيمة التي تُرجعها دالتك إليه.

عرّف المتغير question وأسنِد إليه قيمة أي سؤال من المستخدم.
بعد ذلك، أنشئ المتغير replica1 وأسنِد إليه القيمة التي تُرجعها دالتك ai_context_answer(replica, prompt). في هذه الدالة، استبدل replica بالمتغير question، واضبط المعامل prompt على "أجب عن أي سؤال من المستخدم."

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

في الكتلة الثانية، يجب أن تستخدم الدالة نفسها بالمعاملات نفسها — ai_context_answer(replica, prompt).
افتح الآلة الحاسبة في الكتلة الثانية وعرّف المتغير الثاني باسم replica2.

في المعامل prompt، قدّم تعليمات للمساعد: يجب أن يحسب عدد الأسماء التي وردت في رسالته السابقة.
في المعامل replica، قدّم رسالة المساعد: "كم عدد الأسماء التي كانت في رسالتك السابقة؟"
ثم أدرج المتغير replica2 داخل رسالة الكتلة الثانية.

اكتمل إعداد الكتلة.
إذا لم يكن المساعد مفعّلًا، فانتقل إلى علامة التبويب "AI Assistant" وفعّل المساعد باختيار الدور "disabled":

الآن، دعنا نختبر مساعدنا في نافذة اختبار الروبوت.

لقد عمل الروبوت بشكل صحيح.
كيفية العمل مع Google Sheets
get_info_from_table(sheet_id, number_sheet, sheet_json_keys, start_row, end_row, start_col, end_col) - هذه الدالة مخصصة لقراءة البيانات من جدول بيانات.
! sheet_id
معرّف جدول Google Spreadsheet
number_sheet
رقم الورقة في جدول البيانات؛ افتراضيًا = 1
sheet_json_keys
معامل اختياري — مفتاح الوصول إلى بيانات جدول البيانات
start_row
معامل اختياري، عدد صحيح. يحدد بداية نطاق الصفوف.
مرّر رقم الصف الذي يجب قراءة قيم الجدول منه بشكل شامل. يجب إدخال القيمة بدون علامات اقتباس.
end_row
معامل اختياري، عدد صحيح. يحدد نهاية نطاق الصفوف. مرّر رقم الصف الذي يجب قراءة قيم الجدول حتى وصولًا إليه بشكل شامل. يجب إدخال القيمة بدون علامات اقتباس.
start_col
معامل اختياري، نص. يحدد بداية نطاق الأعمدة. مرّر حرف العمود الذي يجب قراءة قيم الجدول منه بشكل شامل. يجب إحاطة القيمة بعلامات اقتباس
end_col
معامل اختياري، نص. يحدد نهاية نطاق الأعمدة. مرّر حرف العمود الذي يجب قراءة قيم الجدول حتى وصولًا إليه بشكل شامل. يجب إحاطة القيمة بعلامات اقتباس.
مثال على كتابة المعاملات:


يرجى الملاحظة
المعاملات لتحديد نطاق الصفوف والأعمدة (start_row, end_row, start_col, end_col) تتيح للمساعد قراءة بيانات جدول البيانات بدءًا من الموقع المطلوب داخل الجدول.
سلوك الدالة عند تحديد نطاق جزئي يكون كما يلي:
إذا تم تحديد البداية فقط: فسيسترجع المساعد جميع البيانات من تلك النقطة فصاعدًا، دون حد أعلى في الاتجاه المحدد.
إذا تم تحديد النهاية فقط: فسيقرأ المساعد البيانات من بداية الورقة حتى تلك النقطة المحددة.
مثال:
الاستدعاء get_info_from_table('<<spreadsheet id>>', 2, None, 2, 5, 'a', 'd') يسترجع جميع البيانات بدءًا من الصف 2، العمود 2 (B)، حتى الصف 5، وبين العمودين A وD.
يرجى الملاحظة
لتحسين الأداء والموثوقية، نوصي بـ تخزين جميع البيانات مؤقتًا من جدول Google Sheet الخاص بك داخل متغيرات المشروع عند العمل عليه.
الفوائد الرئيسية:
أداء محسّن: يُسرّع بشكل كبير زمن استجابة الدردشة الآلية من خلال الوصول إلى المتغيرات المحلية بدلًا من الاستعلام عن جدول البيانات الخارجي مع كل طلب.
موثوقية أفضل: يقلل من الأخطاء المتعلقة بزمن تأخر الشبكة أو حصص واجهة برمجة التطبيقات أو أذونات الوصول إلى جدول البيانات.
اتساق البيانات: يضمن تخزين البيانات في إعدادات المشروع حصول جميع المستخدمين على وصول متزامن ومتسق إلى نفس مجموعة البيانات، مما يمنع التباينات أثناء التحديثات.
مثال على الاستخدام
يمكنك قراءة المزيد عن get_info_from_table الدالة في المقال "Google Sheets for AI Assistant."
كيفية إدارة الحجوزات عبر الإنترنت
get_info_for_booking(slot_interval, company_id) - صُممت هذه الدالة لقراءة بيانات الخدمة من نظام الحجز عبر الإنترنت المُعدّ.
وتقبل معاملات اختيارية:
slot_interval (اختياري) - فاصل زمني بالدقائق بين الفترات الزمنية المتاحة. الصيغة المتوقعة: عدد صحيح يقبل القسمة على 5. القيمة الافتراضية: 60 (دقيقة).
company_id اختياري) - معرّف فرع. الصيغة المتوقعة: عدد صحيح أو مصفوفة من الأعداد الصحيحة. عند توفير هذا المعامل، ستُعاد فقط البيانات الخاصة بالفرع (الفروع) المحدد. مثال: 50142، "50142"، أو "[50142, 66352]"
لا يُنصح بتعيين قيمة صغيرة جدًا (مثل أقل من 30)، لأن المساعد سيولد عددًا كبيرًا جدًا من الفترات الزمنية.
مثال على الاستخدام
أولًا، تحتاج إلى إعداد كتلة تحدّث المعلومات حول جميع الخدمات بعد تهيئة إعدادات الفرع في قسم "Services".
يجب تعريف هذه الكتلة قبل أن يبدأ المساعد بالعمل، لضمان ألا يقوم الذكاء الاصطناعي بتوليد إجابات عشوائية.

بعد ذلك، شغّل الكتلة في نافذة اختبار الروبوت لتحديث المتغير:

بعد ذلك، سيظهر المتغير المحدد الذي يحتوي على بيانات خدمة الحجز عبر الإنترنت في قسم متغيرات المشروع ضمن "Project settings."

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

تؤدي هذه الكتلة الوظائف التالية:
أ) يتم استدعاؤها في إعدادات المساعد لإنشاء سجل باستخدام المتغيرات المتعلقة بالخدمة؛
ب) تنشئ حجزًا للعميل؛
ج) تحدّث متغيرات المشروع بعد الحجز، وتزيل الفترات الزمنية التي لم تعد متاحة في الجدول.
إذا تم إعداد الروبوت بشكل صحيح، فبعد تلقي جميع البيانات من العميل، سيرسل الذكاء الاصطناعي المعلومات إلى الكتلة المحددة. في تلك الكتلة، سيتم حجز الخدمة للعميل باستخدام الدالة create_booking_by_name(!service_name, !date, !date_time, company_id).

تُمرَّر القيم التي يجمعها الروبوت كمعاملات إلى create_booking_by_name(!service_name, !date, !date_time, company_id).
تنشئ الدالة create_booking_by_name(service_name, date, date_time, company_id) حجزًا في النظام باستخدام البيانات التي يقدمها مساعد الذكاء الاصطناعي. وهي تقبل ثلاثة معاملات مطلوبة لإنشاء الحجز:
! service_name
معلمة مطلوبة، اسم الخدمة
! date
التاريخ بصيغة dd.mm.yyyy
! date_time
وقت الخدمة بصيغة hh:mm
company_id
معرّف الفرع، اختياري. إذا تم تحديده، فسيتم إنشاء الحجز للخدمة ذات الاسم المحدد التابعة لهذا الفرع بالذات. قد يكون هذا المعامل ضروريًا في الحالات التي تمتلك فيها فروع متعددة خدمات تحمل الاسم نفسه.
نظرًا لأن المعلومات حول الفترات المتاحة لن تعود محدثة، يُستخدم المتغير نفسه مع دالته المضمنة لتحديث التواريخ والأوقات المتاحة للحجز.

يرجى الملاحظة
إذا كانت هناك أي تغييرات في الجدول أو الموظفين أو الخدمات، فشغّل الكتلة التي تحتوي على متغير المشروع مع الدالة المضمنة في وضع الاختبار (انظر الشكل: الكتلة 1).
استرجاع الحجوزات من الجدول
get_records_from_table(table_id, start_row, count, start_col, end_col) - استرجاع الحجوزات من الجدول
table_id
معرّف الجدول
start_row
معامل اختياري، عدد صحيح. يحدد بداية نطاق الصفوف.
مرّر رقم الصف الذي يجب قراءة قيم الجدول منه بشكل شامل. يُكتب بدون علامات اقتباس.
count
معامل اختياري، عدد صحيح. يحدد عدد الصفوف المطلوب استرجاعها.
افتراضيًا - 1000، والحد الأقصى - 5000. يُكتب بدون علامات اقتباس.
start_col
معامل اختياري، نص. يحدد بداية نطاق الأعمدة.
مرّر حرف العمود الذي يجب قراءة قيم الجدول منه بشكل شامل. يُكتب بين علامتي اقتباس.
end_col
معامل اختياري، نص. يحدد نهاية نطاق الأعمدة.
مرّر حرف العمود الذي يجب قراءة قيم الجدول حتى وصولًا إليه بشكل شامل. يُكتب بين علامتي اقتباس.
إذا تم تحديد بداية نطاق الصفوف أو الأعمدة فقط، فسيتم استرجاع جميع البيانات من تلك النقطة فصاعدًا دون حد أعلى للنطاق. وبالمثل، يمكنك حذف البداية وتحديد النهاية فقط.
مثال (الآلة الحاسبة)
إذا كنت بحاجة إلى استرجاع السجلات من الجدول، افتح قسم "Calculator" في إعدادات الكتلة وأدخل الدالة مع المعاملات المطلوبة.

لتمرير المعاملات كمتغير مشروع، أضف بادئة اسم المتغير الذي يحتوي على الدالة بـ project.

هذا مثال الجدول.

سيستجيب الروبوت على النحو التالي.

آخر تحديث