생각, 감정, 피드백을 갖춘 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
실행합니다.
참고: 여기에 있는 비밀은 로컬 superbase 인스턴스에 대한 것입니다.
cp .env.local.example .env.local
그런 다음 다음을 실행하여 SUPABASE_PRIVATE_KEY
가져옵니다.
supabase status
service_role key
복사하여 .env.local
에 SUPABASE_PRIVATE_KEY
로 저장합니다.
npx inngest-cli@latest dev
앱이 실행 중인지 확인하세요. 게임 상태를 구동하는 데 사용되는 Ingest 함수가 자동으로 등록되어야 합니다.
이제 로컬에서 앱을 테스트할 준비가 되었습니다! 이렇게 하려면 프로젝트 루트에서 npm run dev
실행하고 http://localhost:3000
방문하면 됩니다.
이제 로컬에서 AI 타마고를 가지고 놀았습니다. 이제 언제든지 액세스할 수 있도록 좀 더 영구적인 곳에 배치할 차례입니다!
0. 생산에 사용할 모델을 선택하세요
.env.local
에서 LLM_MODEL=ollama
제거하고 OPENAI_API_KEY
입력하세요.LLM_MODEL=replicate_llama
설정하고 REPLICATE_API_TOKEN
입력하세요.100gb
볼륨의 performance-4x
Fly VM(CPU)에서 Ollama를 실행할 수 있지만 GPU에 액세스할 수 있으면 훨씬 더 빠릅니다. 아직 액세스할 수 없다면 여기에서 Fly의 GPU 대기자 명단에 등록하세요! 1. deploy
분기로 전환 - 이 분기에는 이와 같은 앱을 배포하는 데 필요한 모든 것이 포함되어 있습니다.
git co deploy
이 지점에는 멀티 테넌시 지원(Clerk 덕분에) 앱이 포함되어 있습니다. 즉, 모든 사용자가 자신의 AI-tamago를 얻을 수 있고 토큰 제한이 내장되어 있습니다. 사용자가 앱에서 요청을 보낼 수 있는 횟수를 설정할 수 있습니다. ( ratelimit.ts
참조)
2. Supabase Cloud로 이동:
.env.local
에 비밀을 입력하세요.SUPABASE_URL
은 "프로젝트 URL" 아래의 URL 값입니다.SUPABASE_PRIVATE_KEY
는 프로젝트 API 키 아래에서 ey
로 시작하는 키입니다.Ai-tamago 프로젝트 루트에서 다음을 실행합니다.
supabase link --project-ref [insert project-id]
supabase migration up
supabase db reset --linked
3. 속도 제한을 위한 Upstash Redis 인스턴스 생성
이렇게 하면 어떤 사용자도 API를 너무 많이 호출하여 모든 추론 워크로드를 차지하지 않게 됩니다. 여기서는 Upstash의 놀라운 속도 제한 SDK를 사용하고 있습니다.
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
로컬로 만들고 모든 프로덕션 환경 비밀을 입력합니다. Clerk의 프로덕션 인스턴스( cat .env.prod | fly secrets import
에서 비밀을 복사하여 NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
및 CLERK_SECRET_KEY
업데이트해야 합니다. cat .env.prod | fly secrets import
.질문이 있으시면 AI Stack 개발자에 가입하시고 #ai-tamago 채널에서 저를 찾아주세요.