myChat هو مشروع مفتوح المصدر تم تصميمه على غرار ChatGPT. يوفر واجهة سهلة الاستخدام للتفاعل مع LLMs المشابهة لـ GPT عبر OpenAI API. لا يرتبط هذا المشروع مباشرة بـ OpenAI بأي شكل من الأشكال.
نحن نستخدم MongoDB لتخزين معلومات المستخدم وبيانات الجلسة. يمكنك إعداد مثيل MongoDB بعدة طرق:
بمجرد أن يكون لديك مثيل MongoDB قيد التشغيل، ستحتاج إلى الحصول على سلسلة الاتصال. إذا كنت تستخدم MongoDB Atlas، فيمكنك العثور على سلسلة الاتصال في إعدادات الاتصال الخاصة بمجموعتك.
أضف سلسلة اتصال MongoDB إلى ملف .env.local
الخاص بك كما يلي:
نحن نستخدم Redis لتحديد المعدل في مسارات API الخاصة بنا. يمكنك إعداد مثيل Redis بعدة طرق، بما في ذلك:
بمجرد أن يكون لديك مثيل Redis قيد التشغيل، ستحتاج إلى الحصول على سلسلة الاتصال. إذا كنت تستخدم RedisLabs، فيمكنك العثور على سلسلة الاتصال في صفحة تكوين قاعدة البيانات الخاصة بك.
استنساخ هذا المستودع:
git clone https://github.com/your-username/myChat.git
أو ابدأ باستخدام ميزة قالب GitHub
انتقل إلى دليل المشروع:
cd myChat
تثبيت التبعيات:
npm install
قم بإنشاء ملف .env.local
في جذر المشروع وأضف متغيرات البيئة الضرورية:
touch .env.local
أضف ما يلي إلى ملف .env.local
:
NEXTAUTH_URL=http://localhost:3000
MONGODB_URI=yourURI
NEXTAUTH_SECRET=yourSecret
ENCRYPTION_KEY: a 32-digit hexadecimal string for AES-128 encryption (for users' API key)
REDIS_URL=yourRedisConnectionString
استبدل http://localhost:3000
بأي منفذ يعمل عليه تطبيقك، و yourURI
بسلسلة اتصال MongoDB، yourSecret
بسلسلة عشوائية آمنة، your32HexDigitString
بسلسلة سداسية عشرية مكونة من 32 رقمًا لتشفير AES-128، و yourRedisConnectionString
بـ Redis سلسلة الاتصال.
...
لتشغيل خادم التطوير:
npm run dev
لبناء التطبيق للإنتاج:
npm run build
لبدء خادم الإنتاج:
npm run start
لنشر myChat Clone إلى Vercel، اتبع الخطوات التالية:
قم بالتسجيل للحصول على حساب Vercel إذا لم تكن قد قمت بذلك بالفعل.
تثبيت Vercel CLI:
npm install -g vercel
قم بتسجيل الدخول إلى حساب Vercel الخاص بك من سطر الأوامر:
vercel login
انتقل إلى دليل مشروعك:
cd myChat
قم بتشغيل الأمر التالي لنشر التطبيق الخاص بك:
vercel --prod
أثناء عملية النشر، ستطلب منك Vercel CLI متغيرات البيئة. قم بتوفير نفس القيم التي استخدمتها لملف .env.local
الخاص بك:
NEXTAUTH_URL: https://your-vercel-url.vercel.app
MONGODB_URI: yourURI
NEXTAUTH_SECRET: yourSecret
ENCRYPTION_KEY: a 32-digit hexadecimal string for AES-128 encryption (for users' API key)
REDIS_URL=yourRedisConnectionString
استبدل http://localhost:3000
بأي منفذ يعمل عليه تطبيقك، و yourURI
بسلسلة اتصال MongoDB، yourSecret
بسلسلة عشوائية آمنة، your32HexDigitString
بسلسلة سداسية عشرية مكونة من 32 رقمًا لتشفير AES-128، و yourRedisConnectionString
بـ Redis سلسلة الاتصال.
تذكر أنه في كل مرة تقوم فيها بإجراء تغييرات على myChat Clone وتريد نشر الإصدار المحدث، يمكنك ببساطة تشغيل vercel --prod
من دليل المشروع.
نحن نرحب بالمساهمات! للمساهمة، يرجى اتباع الخطوات التالية:
git clone https://github.com/your-username/myChat.git
git checkout -b feature/my-new-feature
أو git checkout -b fix/my-new-fix
git commit -am 'Add some feature'
git push origin feature/my-new-feature
هذا المشروع مرخص بموجب ترخيص MIT.