สัตว์เลี้ยงเสมือนจริงในท้องถิ่น 100% ที่สร้างและขับเคลื่อนด้วย LLM พร้อมด้วยความคิด ความรู้สึก และข้อเสนอแนะ ฟื้นความทรงจำที่คุณชื่นชอบเกี่ยวกับทามาก็อตจิ! https://ai-tamago.fly.dev/
แอนิเมชั่น ASCII ทั้งหมดถูกสร้างขึ้นโดยใช้ chatgpt (รวมข้อความแจ้งใน repo)
มีคำถาม? เข้าร่วม AI Stack devs และค้นหาฉันในช่อง #ai-tamago
สาธิต ?
จากทั้งหมดที่กล่าวมา บวก:
แยก repo ไปยังบัญชี Github ของคุณ จากนั้นรันคำสั่งต่อไปนี้เพื่อโคลน repo:
git clone [email protected]:[YOUR_GITHUB_ACCOUNT_NAME]/AI-tamago.git
cd ai-tamago
npm install
รหัส tamagotchi ฝั่งไคลเอ็นต์ทั้งหมดอยู่ใน 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
ตรวจสอบให้แน่ใจว่าแอปของคุณพร้อมใช้งานแล้ว ฟังก์ชัน Inngest (ซึ่งใช้ในการขับเคลื่อนสถานะของเกม) ควรลงทะเบียนโดยอัตโนมัติ
ตอนนี้คุณพร้อมที่จะทดสอบแอปในเครื่องแล้ว! ในการดำเนินการนี้ เพียงเรียกใช้ 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 ได้ ก็จะเร็วขึ้นมาก เข้าร่วมรายชื่อรอ GPU ของ Fly ที่นี่ หากคุณยังไม่มีสิทธิ์เข้าถึง! 1. เปลี่ยนไป deploy
สาขา -- สาขานี้รวมทุกสิ่งที่คุณต้องการเพื่อปรับใช้แอปประเภทนี้
git co deploy
สาขานี้มีแอปที่พร้อมสำหรับผู้เช่าหลายราย (ขอบคุณเสมียน) ซึ่งหมายความว่าผู้ใช้ทุกคนสามารถรับ 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 ทำให้แน่ใจว่าการบินจะหมุนอินสแตนซ์เดียวเท่านั้น ซึ่งรวมอยู่ในแผนแบบฟรี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 devs และพบกับฉันในช่อง #ai-tamago