حيوان أليف افتراضي محلي 100% تم إنشاؤه وتوجيهه من قبل LLM ولديه أفكار ومشاعر وتعليقات. إحياء ذكرياتك الجميلة عن تماغوتشي! https://ai-tamago.fly.dev/
يتم إنشاء جميع الرسوم المتحركة ascii باستخدام chatgpt (المطالبات المضمنة في الريبو).
هل لديك أسئلة؟ انضم إلى مطوري AI Stack وابحث عني في قناة #ai-tamago.
تجريبي ؟
كل ما سبق بالإضافة إلى:
قم بتفرع الريبو إلى حساب Github الخاص بك، ثم قم بتشغيل الأمر التالي لاستنساخ الريبو:
git clone [email protected]:[YOUR_GITHUB_ACCOUNT_NAME]/AI-tamago.git
cd ai-tamago
npm install
كل كود تماغوتشي من جانب العميل موجود في Tamagotchi.tsx
التعليمات هنا.
brew install supabase/tap/supabase
تأكد من أنك ضمن الدليل /ai-tamago
وقم بتشغيل:
supabase start
نصائح: لتشغيل عمليات الترحيل أو إعادة تعيين قاعدة البيانات - سيتم تشغيل Seed.sql وعمليات الترحيل supabase db reset
ملاحظة: الأسرار هنا مخصصة لمثيل Supabase المحلي الخاص بك
cp .env.local.example .env.local
ثم احصل على SUPABASE_PRIVATE_KEY
عن طريق التشغيل
supabase status
انسخ service_role key
واحفظه باسم SUPABASE_PRIVATE_KEY
في .env.local
npx inngest-cli@latest dev
تأكد من أن التطبيق الخاص بك قيد التشغيل - يجب أن يتم تسجيل وظائف Ingest (التي تستخدم لتوجيه حالة اللعبة) تلقائيًا.
أنت الآن جاهز لاختبار التطبيق محليًا! للقيام بذلك، قم ببساطة بتشغيل npm run dev
ضمن جذر المشروع وقم بزيارة http://localhost:3000
.
لقد لعبت الآن مع AI tamago محليًا - حان الوقت لنشره في مكان أكثر استدامة حتى تتمكن من الوصول إليه في أي وقت!
0. اختر النموذج الذي تريد استخدامه في الإنتاج
LLM_MODEL=ollama
من .env.local
وملء OPENAI_API_KEY
LLM_MODEL=replicate_llama
واملأ REPLICATE_API_TOKEN
performance-4x
بسعة 100gb
، ولكن إذا كان بإمكانك الوصول إلى وحدات معالجة الرسومات، فستكون أسرع بكثير. انضم إلى قائمة انتظار GPU الخاصة بـ Fly هنا إذا لم يكن لديك إمكانية الوصول بعد! 1. قم بالتبديل deploy
الفرع - يتضمن هذا الفرع كل ما تحتاجه لنشر تطبيق مثل هذا.
git co deploy
يحتوي هذا الفرع على تطبيق جاهز متعدد الإيجارات (بفضل Clerk)، مما يعني أنه يمكن لكل مستخدم الحصول على AI-tamago الخاص به، ولديه حد رمزي مدمج - يمكنك تعيين عدد المرات التي يمكن للمستخدم إرسال الطلبات فيها في التطبيق (انظر ratelimit.ts
)
2. انتقل إلى Supabase Cloud:
.env.local
SUPABASE_URL
هي قيمة عنوان URL ضمن "عنوان URL للمشروع"SUPABASE_PRIVATE_KEY
هو المفتاح الذي يبدأ بـ ey
ضمن Project API Keysمن جذر مشروع Ai-tamago، قم بتشغيل:
supabase link --project-ref [insert project-id]
supabase migration up
supabase db reset --linked
3. قم بإنشاء مثيل Upstash Redis لتحديد المعدل
سيؤدي هذا إلى التأكد من عدم قيام أي مستخدم باستدعاء أي واجهة برمجة تطبيقات (API) عدة مرات وسيتولى جميع أعباء عمل الاستدلال. نحن نستخدم SDK الرائع الذي يحد من معدل Upstash هنا.
UPSTASH_REDIS_REST_URL
و UPSTASH_REDIS_REST_TOKEN
) إلى .env.local الخاص بك4. أنت الآن جاهز لنشر كل شيء على Fly.io!
fly launch
تحت جذر المشروع. سيؤدي هذا إلى إنشاء fly.toml
يتضمن جميع التكوينات التي ستحتاجهاfly scale memory 512
لزيادة ذاكرة fly vm لهذا التطبيق.fly deploy --ha=false
لنشر التطبيق. تتأكد علامة --ha من أن fly يدور لأعلى فقط لمثيل واحد، وهو ما يتم تضمينه في الخطة المجانية.cat .env.local | fly secrets import
.env.prod
محليًا واملأ جميع أسرار بيئة الإنتاج. تذكر تحديث NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
و CLERK_SECRET_KEY
عن طريق نسخ الأسرار من مثيل إنتاج Clerk - cat .env.prod | fly secrets import
لتحميل الأسرار.إذا كانت لديك أسئلة، انضم إلى مطوري AI Stack وابحث عني في قناة #ai-tamago.