Ein zu 100 % lokales, LLM-generiertes und gesteuertes virtuelles Haustier mit Gedanken, Gefühlen und Feedback. Lassen Sie Ihre schönen Erinnerungen an Tamagotchi wieder aufleben! https://ai-tamago.fly.dev/
Alle ASCII-Animationen werden mit chatgpt generiert (im Repository enthaltene Eingabeaufforderungen).
Haben Sie Fragen? Treten Sie AI Stack-Entwicklern bei und finden Sie mich im #ai-tamago-Kanal.
Demo ?
Alles oben Genannte, plus:
Verzweigen Sie das Repo in Ihr Github-Konto und führen Sie dann den folgenden Befehl aus, um das Repo zu klonen:
git clone [email protected]:[YOUR_GITHUB_ACCOUNT_NAME]/AI-tamago.git
cd ai-tamago
npm install
Der gesamte clientseitige Tamagotchi-Code befindet sich in Tamagotchi.tsx
Anleitungen gibt es hier.
brew install supabase/tap/supabase
Stellen Sie sicher, dass Sie sich im Verzeichnis /ai-tamago
befinden, und führen Sie Folgendes aus:
supabase start
Tipps: Zum Ausführen von Migrationen oder zum Zurücksetzen der Datenbank führen „seed.sql“ und „Migrationen“ supabase db reset
aus
Hinweis: Die Geheimnisse hier gelten für Ihre lokale Supabase-Instanz
cp .env.local.example .env.local
Rufen Sie dann SUPABASE_PRIVATE_KEY
ab, indem Sie es ausführen
supabase status
Kopieren Sie service_role key
und speichern Sie ihn als SUPABASE_PRIVATE_KEY
in .env.local
npx inngest-cli@latest dev
Stellen Sie sicher, dass Ihre App betriebsbereit ist – Inngest-Funktionen (die zur Steuerung des Spielstatus verwendet werden) sollten automatisch registriert werden.
Jetzt können Sie die App lokal testen! Führen Sie dazu einfach npm run dev
im Projektstammverzeichnis aus und besuchen Sie http://localhost:3000
.
Jetzt haben Sie lokal mit der KI-Tamago gespielt – es ist an der Zeit, sie an einem dauerhafteren Ort einzusetzen, damit Sie jederzeit darauf zugreifen können!
0. Wählen Sie aus, welches Modell Sie in der Produktion verwenden möchten
LLM_MODEL=ollama
aus .env.local
und geben Sie OPENAI_API_KEY
einLLM_MODEL=replicate_llama
fest und geben Sie REPLICATE_API_TOKEN
einperformance-4x
und 100gb
Volumen auszuführen, aber wenn Sie Zugriff auf GPUs haben, sind diese viel schneller. Tragen Sie sich hier in die GPU-Warteliste von Fly ein, wenn Sie noch keinen Zugriff haben! 1. Wechseln Sie zum deploy
Zweig – dieser Zweig enthält alles, was Sie zum Bereitstellen einer solchen App benötigen.
git co deploy
Dieser Zweig enthält eine mandantenfähige App (dank Clerk), was bedeutet, dass jeder Benutzer sein eigenes AI-Tamago erhalten kann und über ein integriertes Token-Limit verfügt – Sie können festlegen, wie oft ein Benutzer Anfragen in der App senden kann (siehe ratelimit.ts
)
2. Wechsel zur Supabase Cloud:
.env.local
ausSUPABASE_URL
ist der URL-Wert unter „Projekt-URL“.SUPABASE_PRIVATE_KEY
ist der Schlüssel, der unter Projekt-API-Schlüssel mit ey
beginntFühren Sie im Stammverzeichnis Ihres Ai-tamago-Projekts Folgendes aus:
supabase link --project-ref [insert project-id]
supabase migration up
supabase db reset --linked
3. Erstellen Sie eine Upstash Redis-Instanz zur Ratenbegrenzung
Dadurch wird sichergestellt, dass kein Benutzer eine API zu oft aufruft und die gesamte Inferenzarbeitslast in Anspruch nimmt. Wir verwenden hier das fantastische ratenbegrenzende SDK von Upstash.
UPSTASH_REDIS_REST_URL
und UPSTASH_REDIS_REST_TOKEN
) kopieren und in Ihre .env.local einfügen4. Jetzt können Sie alles auf Fly.io bereitstellen!
fly launch
im Projektstammverzeichnis aus. Dadurch wird eine fly.toml
generiert, die alle benötigten Konfigurationen enthältfly scale memory 512
aus, um den Fly VM-Speicher für diese App zu vergrößern.fly deploy --ha=false
aus, um die App bereitzustellen. Das Flag --ha stellt sicher, dass Fly nur eine Instanz startet, die im kostenlosen Plan enthalten ist.cat .env.local | fly secrets import
ausführen cat .env.local | fly secrets import
.env.prod
und geben Sie alle Geheimnisse der Produktionsumgebung ein. Denken Sie daran, NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
und CLERK_SECRET_KEY
zu aktualisieren, indem Sie Geheimnisse aus der Produktionsinstanz von Clerk kopieren – cat .env.prod | fly secrets import
um Geheimnisse hochzuladen.Wenn Sie Fragen haben, schließen Sie sich den AI Stack-Entwicklern an und finden Sie mich im #ai-tamago-Kanal.