Chat With LLMs هو تطبيق ويب يمكّن المستخدمين من الدردشة مع العديد من نماذج اللغات الكبيرة (LLMs) من موفري الذكاء الاصطناعي الرائدين. فهو يسمح للمستخدمين بتبديل النماذج في منتصف المحادثة دون فقدان أي سياق للدردشة.
يدمج هذا المشروع إنشاء نص يعتمد على واجهة برمجة التطبيقات (API) باستخدام العديد من نماذج اللغات الكبيرة (LLMs). إطار العمل المستخدم لتنسيق هذه التفاعلات هو LangChain، مما يسمح بالتكامل السلس واختيار النموذج الديناميكي عبر مقدمي الخدمة المختلفين.
حاليًا، تدعم المنصة ستة موفري LLM متميزين، يقدم كل منهم مجموعة من نماذج الدردشة:
تلك هي
المصادقة : يستخدم تطبيق الويب Google OAuth 2.0 لمصادقة المستخدم وتسجيل الدخول بشكل آمن.
خادم الواجهة الخلفية : تتم معالجة رسائل المستخدم، ويتم إنشاء الاستجابات من LLMs باستخدام إطار عمل FastAPI الخاص بـ Python. تدمج الواجهة الخلفية أيضًا إطار عمل LangChain، المسؤول عن الإنشاء الفوري وإدارة مكالمات API لموفري LLM المختلفين.
تدفق الأحداث : تعد الأحداث المرسلة من الخادم (SSE) معيارًا للاتصال أحادي الاتجاه في الوقت الفعلي من الخادم إلى العميل عبر HTTP. باستخدام SSE، يمكن للخادم دفع رمز البيانات الذي تم إنشاؤه بواسطة رمز مميز إلى العميل دون أن يضطر العميل إلى طلبها بشكل متكرر.
قاعدة بيانات Firestore : يتم تخزين معلومات المستخدم وتفاصيل الدردشة وسجل الدردشة في قاعدة بيانات Firestore من Google. تم اختيار Firestore لطبقته المجانية وأدائه العالي وقدراته على التوسع التلقائي، مما يجعله مثاليًا للتطبيقات الديناميكية والمتنامية.
ReactJS Frontend : تم إنشاء الواجهة الأمامية باستخدام ReactJS، مما يوفر واجهة مستخدم تفاعلية وسريعة الاستجابة للتفاعل السلس مع تطبيق الدردشة.
قم بعمل نسخة من الملف .env.example
وأعد تسميته إلى .env
:
cp .env.example .env # For Unix/Linux
copy .env.example .env # For Windows
افتح ملف .env
في محرر النصوص وأدخل المتغيرات الضرورية مع القيم المقابلة لها. عادةً ما تكون هذه المتغيرات عبارة عن مفاتيح واجهة برمجة التطبيقات (API) والتكوينات الأخرى الخاصة بالبيئة.
docker-compose up
سيتم تشغيل جميع الخدمات على المنافذ التالية:
Backend FastAPI : localhost:8080
ReactJS Frontend : localhost:3000
pip install pipenv
pipenv install
nodemon
or
uvicorn app:app --port 5000
cd web
npm install
npm start
قم بالوصول إلى مستندات Swagger باستخدام الرابط أدناه
http://localhost:8080/docs