تحدث إلى Slack، تطبيق الويب النموذجي
من السهل جدًا إنشاء تطبيق ويب بسيط يدمج نموذج اللغة الكبير مع معرفة المستخدم من خلال الاستفسارات إلى Rememberizer.
يمكن العثور على الشيفرة المصدرية للتطبيق هنا.
في هذا القسم، سنقدم تعليمات خطوة بخطوة والشيفرة المصدرية الكاملة حتى تتمكن من إنشاء تطبيقك الخاص بسرعة.
لقد أنشأنا GPT تحدث إلى Slack على OpenAI. تطبيق الويب تحدث إلى Slack مشابه جدًا.
مقدمة
في هذا الدليل، نقدم تعليمات خطوة بخطوة والكود المصدري الكامل لمساعدتك في إنشاء تطبيقك الخاص المشابه لنظام التكامل الخاص بنا مع GPT للتحدث إلى Slack من Rememberizer.ai. على عكس تكامل Slack، يوفر تطبيق الويب المزيد من الميزات والتحكم، مثل البحث في الويب، الوصول إلى قاعدة البيانات المحلية، الرسوم البيانية والرسوم المتحركة، وجمع الدفعات. بالإضافة إلى ذلك، يمكن استخدامه من قبل أي شخص بدون الحاجة لحساب premium genAI.
نظرة عامة
تطبيقنا المثالي، تحدث إلى Slack، يتم استضافته على Heroku ويدمج LLM الخاص بـ OpenAI مع Rememberizer.ai لتعزيز تجربتك على Slack. تم بناء التطبيق الويب باستخدام Flask ويوفر خصائص مثل تكامل OAuth2، الوصول إلى بيانات Slack، وواجهة مستخدم سهلة الاستخدام.
الميزات
هندسة معتمدة على Flask: يتم التعامل مع العمليات الخلفية، والاتصالات الأمامية، وتفاعلات API بواسطة Flask.
تكامل OAuth2: تأخير آمن والوصول الى البيانات مع بروتوكول OAuth2 في Rememberizer.
الوصول إلى بيانات Slack: يتم جلب بيانات سلاك المتصلة بالمستخدم بشكل آمن باستخدام APIs من Rememberizer.
تكامل OpenAI LLM: يتم معالجة الاستفسارات باستخدام خدمة LLM في OpenAI للحصول على ردود فعل ثرية بالمعرفة.
واجهة المستخدم البديهية: التنقل والتفاعل السهل مع تصميم واجهة المستخدم الحديث.
أفضل الممارسات: الالتزام بمعايير الأمان وتجربة المستخدم لتكامل سلس.
الإعداد والتوزيع
المتطلبات الأساسية
بايثون
فلاسک
لاحظ أنه لم يكن من الصعب جداً أن يقوم نموذج اللغة الكبير بإعادة كتابة هذا التطبيق بالكامل بلغة أخرى، في حالتنا لغة جولانغ. لذا تذكر أنك لست مقيدًا بلغة بايثون فقط.
تكوين البيئة
قم بتعيين هذه المتغيرات البيئية:
APP_SECRET_KEY
: مفتاح سري فريد لـ Flask.REMEMBERIZER_CLIENT_ID
: رقم العميل لتطبيقك Rememberizer.REMEMBERIZER_CLIENT_SECRET
: السري العميل لتطبيقك Rememberizer.OPENAI_API_KEY
: مفتاح واجهة برمجة تطبيقات OpenAI الخاص بك.
تشغيل التطبيق
بدء تطبيق Flask: قم بتشغيل
flask run
في الطرفية وادخل إلى التطبيق علىhttp://localhost:5000
.انسخ عنوان URL الخاص بالاستدعاء إلى إعدادات تطبيق Rememberizer الخاص بك:
https://<YOURHOST>/auth/rememberizer/callback
مثال:http://localhost:5000/auth/rememberizer/callback
.
النشر إلى السحابة
يوصى بالنشر على منصات مثل هيروكو، منصة جوجل السحابية (GCP)، خدمات أمازون ويب (AWS)، أو مايكروسوفت أزور.
نشر هيروكو
إنشاء حساب هيروكو: قم بتثبيت واجهة سطر الأوامر الخاصة بهيروكو.
تحضير تطبيقك: تأكد من وجود
Procfile
وruntime.txt
وrequirements.txt
.النشر: استخدم واجهة سطر الأوامر الخاصة بهيروكو أو تكامل GitHub للنشر.
خطوات مفصلة
ربط هيروكو بـ GitHub: قم بتمكين النشر التلقائي من مستودع GitHub لتحديثات سلسة.
النشر يدويًا: اختياريًا، استخدم النشر اليدوي لمزيد من التحكم.
إعدادات إضافية
تثبيت واجهة سطر الأوامر الخاصة بهيروكو:
brew tap heroku/brew && brew install heroku
(macOS).إضافة شهادات SSL: استخدم الشهادات الموقعة ذاتيًا للإعداد الأولي لـ HTTPS.
تكوين متغيرات البيئة على هيروكو: استخدم
heroku config:set KEY=value
للمفاتيح الأساسية.
منصات سحابية أخرى
GCP: قم بإعداد حساب GCP، حضر تطبيقك باستخدام
app.yaml
، وانشر باستخدامgcloud app deploy
.AWS: استخدم Elastic Beanstalk للنشر بعد إعداد حساب AWS وواجهة سطر الأوامر الخاصة بـ AWS.
Azure: انشر من خلال خدمة تطبيقات Azure بعد إنشاء حساب Azure وتثبيت واجهة سطر الأوامر الخاصة بـ Azure.
الأمان وأفضل الممارسات
قبل النشر، تحقق من ملف requirements.txt
، واضبط الإعدادات للإنتاج، وقم بتحديث عناوين إعادة توجيه OAuth.
ملاحظات كود التطبيق
@app.route('/') (مسار الفهرس):
هذا المسار يقوم بعرض قالب index.html عند الوصول إلى عنوان URL الجذر (/). ويعمل كصفحة رئيسية لتطبيقك.
@app.route('/auth/rememberizer') (مسار مصادقة Rememberizer):
هذا المسار يبدأ عملية مصادقة OAuth2 مع Rememberizer.ai. يقوم بإنشاء قيمة حالة عشوائية، ويخزنها في الجلسة، وينشئ عنوان URL للتفويض مع المعلمات اللازمة (معرف العميل، URI إعادة التوجيه، النطاق، والحالة)، ويعيد توجيه المستخدم إلى صفحة تفويض Rememberizer.ai.
@app.route('/auth/rememberizer/callback') (مسار رد الاتصال لـ Rememberizer):
هذا المسار يتعامل مع رد الاتصال من Rememberizer.ai بعد أن يقوم المستخدم بتفويض تطبيقك. يقوم باستخراج رمز التفويض من معلمات الاستعلام، ويستبدله برمز وصول باستخدام نقطة نهاية رمز Rememberizer.ai، ويخزن رمز الوصول في الجلسة. ثم، يعيد توجيه المستخدم إلى مسار /dashboard.
@app.route('/dashboard') (مسار لوحة التحكم):
هذا المسار يعرض صفحة لوحة التحكم للمستخدم. يتحقق مما إذا كان لدى المستخدم رمز وصول في الجلسة؛ إذا لم يكن كذلك، فإنه يعيد توجيههم إلى مسار المصادقة. إذا تم مصادقة المستخدم، فإنه يقوم بإجراء طلب إلى نقطة نهاية حساب Rememberizer.ai لاسترداد معلومات الحساب ويعرض قالب dashboard.html مع هذه المعلومات.
@app.route('/slack-info') (مسار معلومات تكامل Slack):
هذا المسار يعرض معلومات حول تكامل Slack الخاص بالمستخدم مع Rememberizer.ai. يتحقق من وجود رمز وصول ويقوم بإجراء طلب إلى نقطة نهاية تكاملات Rememberizer.ai للحصول على بيانات التكامل. ثم يقوم بعرض قالب slack_info.html مع هذه البيانات.
@app.route('/ask', methods=['POST']) (مسار السؤال):
هذا المسار يتعامل مع تقديم الأسئلة من المستخدم. يتحقق من وجود رمز وصول، يستخرج سؤال المستخدم من بيانات النموذج، ويقوم بإجراء طلب إلى نقطة نهاية بحث الوثائق في Rememberizer.ai للعثور على معلومات ذات صلة. ثم يستخدم نموذج GPT-4 من OpenAI لتوليد إجابة بناءً على السؤال ونتائج البحث. يتم عرض الإجابة في قالب answer.html.
ملاحظات إضافية
الرمزية: مصممة بأسلوب فن الورق المطوى بالتفصيل، يعكس التكامل بين الذكاء الاصطناعي والاتصالات. تم إنشاء الرمز لدينا في Midjourney و Image2Icon.
تكوين SSL: قم بإنشاء شهادات ذاتية التوقيع باستخدام OpenSSL للاتصال الآمن.
استكشاف وابتكار
نشجع على الاستكشاف والابتكار مع تطبيق الويب الخاص بك المدمج بالذكاء الاصطناعي، بهدف تعزيز الإنتاجية والتعاون داخل منصتك.
توفر هذه الوثيقة المعدلة دليلًا شاملاً للمطورين لإنشاء تطبيق ويب مدمج بالذكاء الاصطناعي خاص بهم، مشابه لتطبيق Talk-to-Slack. يتضمن تعليمات مفصلة للإعداد والنشر ونظرة عامة على كود التطبيق، بالإضافة إلى أفضل
Last updated