Tutor-GPT هو رفيق تعليمي مدعوم من LLM تم تطويره بواسطة Plastic Labs. إنه يفكر ديناميكيًا في احتياجاتك التعليمية ويقوم بتحديث مطالباته الخاصة لتقديم أفضل خدمة لك.
لقد اتجهنا إلى تجارب نظرية العقل، وهو الآن أكثر من مجرد مدرس لمحو الأمية، إنه رفيق تعليمي موسع. اقرأ المزيد عن كيفية عمله هنا.
يتم تشغيل Tutor-GPT بواسطة Honcho لإنشاء تمثيلات قوية للمستخدمين وإنشاء تجربة مخصصة لكل مستخدم.
يُطلق على النسخة المستضافة من tutor-gpt
اسم Bloom كإشارة إلى مشكلة Two Sigma التي طرحها بنيامين بلوم.
وبدلاً من ذلك، يمكنك تشغيل مثيلك الخاص للروبوت باتباع الإرشادات الموضحة أدناه.
ينقسم مشروع tutor-gpt بين عدة وحدات مختلفة تعمل على تقسيم منطق الواجهة الخلفية لعملاء مختلفين.
agent/
- يحتوي على المنطق الأساسي وبنية المطالبةbot/
- يحتوي هذا على تطبيق Discord botapi/
- يحتوي هذا على واجهة FastAPI API التي تكشف عن agent/
المنطقwww/
- يحتوي هذا على الواجهة الأمامية للويب NextJS
التي يمكنها الاتصال بواجهة APIsupabase/
- يحتوي على نصوص SQL الضرورية لإعداد Supabase المحلي تم تطوير معظم المشروع باستخدام لغة بايثون باستثناء تطبيق NextJS. بالنسبة لـ python، يتم استخدام uv
لإدارة التبعية ولواجهة الويب نستخدم pnpm
.
تستخدم كل من وحدتي bot/
و api/
agent/
باعتباره تبعية ويتم تحميله كحزمة محلية باستخدام uv
ملحوظة: يتوفر المزيد من المعلومات حول واجهة الويب في www/README. يحتوي هذا README بشكل أساسي على معلومات حول الواجهة الخلفية لـ tutor-gpt والمنطق الأساسي للمدرس
تتم إدارة كل من وحدات agent
bot
api
باستخدام مساحة عمل uv
يتناول هذا القسم كيفية إعداد بيئة بايثون لتشغيل Tutor-GPT. سيتيح لك ذلك تشغيل برنامج Discord bot، أو تشغيل تطبيق FastAPI، أو تطوير كود agent
.
ستقوم الأوامر أدناه بتثبيت كافة التبعيات اللازمة لتشغيل مشروع tutor-gpt. نوصي باستخدام الأشعة فوق البنفسجية لإعداد بيئة افتراضية للمشروع.
git clone https://github.com/plastic-labs/tutor-gpt.git && cd tutor-gpt
uv sync # set up the workspace
source .venv/bin/activate # activate the virtual environment
من هنا ستحتاج بعد ذلك إلى تشغيل uv sync
في الدليل المناسب اعتمادًا على الجزء الذي تريد تشغيله من المشروع. على سبيل المثال، لتشغيل تطبيق FastAPI، يتعين عليك الانتقال إلى الدليل وإعادة تشغيل المزامنة
cd api/
uv sync
من المفترض أن ترى رسالة تشير إلى أنه تم حل التبعيات و/أو تثبيتها إذا لم تكن مثبتة بالفعل من قبل.
وبدلاً من ذلك (الطريقة الموصى بها) يمكن بناء هذا المشروع وتشغيله باستخدام عامل الإرساء. قم بتثبيت عامل الإرساء وتأكد من تشغيله قبل المتابعة.
تم إنشاء الواجهة الأمامية للويب وتشغيلها بشكل منفصل عن باقي قاعدة التعليمات البرمجية. فيما يلي أوامر إنشاء جوهر مشروع tutor-gpt الذي يتضمن التبعيات اللازمة لتشغيل إما برنامج Discord bot أو نقطة نهاية FastAPI.
git clone https://github.com/plastic-labs/tutor-gpt.git
cd tutor-gpt
docker build -t tutor-gpt-core .
وبالمثل، لإنشاء واجهة الويب، قم بتشغيل الأوامر أدناه
تتطلب كل واجهة من واجهات tutor-gpt متغيرات بيئة مختلفة لتعمل بشكل صحيح. تحتوي كل من وحدتي bot/
و api/
على ملف .env.template
الذي يمكنك استخدامه كنقطة بداية. انسخ وأعد تسمية .env.template
إلى .env
فيما يلي شرح أكثر تفصيلاً لمتغيرات البيئة
OPENAI_API_KEY
— مفتاح API لـ Openrouter الذي يستخدم واجهة برمجة التطبيقات المتوافقة مع OpenAIMODEL
- نموذج جهاز التوجيه المفتوح المطلوب استخدامهNextJS و fastAPI
URL
- نقطة نهاية URL لتطبيق Next.js للواجهة الأماميةHONCHO_URL
— عنوان URL الأساسي لمثيل Honcho الذي تستخدمهHONCHO_APP_NAME
— اسم تطبيق honcho الذي سيتم استخدامه لـ Tutor-GPTإضافات اختيارية
SENTRY_DSN_API
- Sentry DSN للإبلاغ عن الأخطاء الاختياريةBOT_TOKEN
— هذا هو رمز بوت الديسكورد. يمكنك العثور على تعليمات حول كيفية إنشاء روبوت وإنشاء رمز مميز في مستندات pycord.THOUGHT_CHANNEL_ID
— هذه هي قناة الخلاف التي يمكن للروبوت إخراج الأفكار إليها. قم بإنشاء قناة في الخادم الخاص بك وانسخ المعرف عن طريق النقر بزر الماوس الأيمن على القناة ونسخ الرابط. معرف القناة هو السلسلة الأخيرة من الأرقام في الرابط. يمكنك أيضًا استخدام حاويات الإرساء بشكل اختياري لتشغيل التطبيق محليًا. يوجد أدناه أمر لتشغيل برنامج Discord bot محليًا باستخدام ملف .env
غير الموجود داخل حاوية عامل الإرساء. احرص على عدم إضافة .env
الخاص بك في حاوية عامل الإرساء لأن هذا غير آمن ويمكن أن يؤدي إلى تسريب أسرارك.
docker run --env-file .env tutor-gpt-core python bot/app.py
لتشغيل واجهة الويب، تحتاج إلى تشغيل الواجهة الخلفية FastAPI
وحاويات NextJS
الأمامية بشكل منفصل. في حالتين طرفيتين منفصلتين، قم بتشغيل الأوامر التالية لتشغيل كلا التطبيقين. سيستخدم السلوك الحالي ملف .env
الموجود في مستودعك المحلي ويقوم بتشغيل الروبوت.
docker run -p 8000:8000 --env-file .env tutor-gpt-core python -m uvicorn api.main:app --host 0.0.0.0 --port 8000 # FastAPI Backend
docker run tutor-gpt-web
ملاحظة: يقوم أمر التشغيل الافتراضي في ملف docker للنواة بتشغيل الواجهة الخلفية لـ FastAPI بحيث يمكنك فقط تشغيل docker run --env-file .env tutor-gpt-core
هذا المشروع مفتوح المصدر بالكامل ويرحب بأي وجميع المساهمات مفتوحة المصدر. سير العمل للمساهمة هو إنشاء شوكة للمستودع. يمكنك المطالبة بمشكلة في علامة تبويب المشكلات أو بدء موضوع جديد للإشارة إلى ميزة أو إصلاح خطأ تعمل عليه.
بمجرد الانتهاء من مساهمتك، قم بتوجيه العلاقات العامة إلى فرع staging
وسيتم مراجعتها من قبل مدير المشروع. لا تتردد في الانضمام إلينا في خلافنا لمناقشة التغييرات التي أجريتها أو الحصول على المساعدة.
بمجرد قبول تغييراتك ودمجها في المرحلة المرحلية، ستخضع لفترة من الاختبار المباشر قبل الدخول في المرحلة الأولية إلى main
تم ترخيص Tutor-GPT بموجب ترخيص GPL-3.0. تعرف على المزيد في ملف الترخيص