Little Krishna Chatbot
A birthday gift for Manavi, powered by Flask, Gemma, Stable Diffusion, and Firebase.
Overview
This app creates a Little Krishna-themed chatbot for Manavi’s birthday on April 19, 2025. It features:
- A chatbot powered by Gemma (via Hugging Face Inference API).
- Krishna-themed images generated by Stable Diffusion (via Hugging Face Inference API).
- Chat history stored in Firebase Realtime Database.
- A countdown to Manavi’s birthday.
- A birthday message page with a generated image and animation.
Setup
- Environment Variables:
- Add the following secrets in Hugging Face Space Settings > Secrets:
HUGGINGFACE_API_TOKEN
: Your Hugging Face API token (read access).FIREBASE_PROJECT_ID
:birthday-d1e31
FIREBASE_PRIVATE_KEY_ID
:958b15fbb225114efc1a7c163f1c6d8da9b9020d
FIREBASE_PRIVATE_KEY
:-----BEGIN PRIVATE KEY-----\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCq46j6+mBUiP39\nDlLGdzFaI8oJHdjRxUObrq8Q4XuI58OvSRyAZKqotZRvQfSDImXh4J8h3clvMyxR\nDyO/CfRsscfC7lzB1X2vYp+ZccTcFzAgx2UDYZrdsJDVcWOcDJrWwoKt5GWsNKZI\n8hZgGy+qgf2vYISK9CGU149440aZ44XAso2ByC0SbZqAtWkgFX1oGkKpHuIDobtp\nGvqa+8yuB0Brqduz7LLEIAmzyoUV8Gge7DQXDF9aSmqJN4YGJW/caHYY/my+epOe\nB67NtqSMYyB+EwaFvDhbkpuY16gS+zmHckjatO/dd3Yz3/1+UnJJg6uZbF+F7okZ\n/9MGzx1fAgMBAAECggEAE8KDVZIB9YRpqgsv8xbxM/UTdX5oBcmDicrnH1KTUD9M\nV0Zi7020lhF4+mxr84XUtgudGvNkSWFnbHANuBdUlgTwjk+1lgwznkYPIlUPaEue\nGwwzV/K/T4cNGEEmPXMPrGmNZsIUJ5dm6uRjRfWey16AkPjeGpskDuvmARp2nXCL\nDZy852r/WUpdQMvLMJgjg1ixP22fytTozbXAeVo5FJrUNaWNdFZ+s5YTgIkpsZZL\n+I4hfuF/rCxeysuKZ1vYBlCgXaIlW9HgZ+xYFvHL3BFfsuhRDqdPfHpdEFB/162Y\nMQjVpS4msFrhHHVvbwCCZ+/fqjUGszN45SWeQtrHQQKBgQDitzHYDQ+LZaAprsBA\nmUQtErgNL69Fx2Egw4dSFbPGM1gbLXu0Js6udf9DHQJnDSG+0bocjvX1XwtkKoee\nhL6JHh5BopPDo3xjNyBI8fdAM4JBHeq+4IkFCyxqAkSd4x5brGMDnZdu5+QLYqTR\ncTRA+l7XG0ky726W3bUA5iwEcQKBgQDA9nTva6vEuyLBc8497mp6TuP6sInrRRRc\nq2+j9N+f0lFW0ZzsGT8n11MBr9NTP99MCNFFX5VHzhyrdPjVO5mYXRxfoI8t3q8h\nrgYBAmXo+trvT6vUArI3TrcVUtKLbk+YPlgU3Mae8Msbp5ffnyAsBipQ8WDUV3Tu\nF9uhZdrmzwKBgQDRCOwSMmiktHzqMc/dP/OWQ24j6lWG1wB8/wtj6dKp6mlQFa27\nOxTR0sYbEUJH1dnJYQJiloW9SXbtUjFdPTOYpYZsKgRoG/LyX7+Kwl6geV2dwIHS\noKB1YAoBbDnsAZ7aE6XvjXw0q+adgMRKwD/XsYGEgAoLxquGusDLJW5sYQKBgQCS\nACh8GxitUva6LthHDcTs5BIlVTwVkoAUmfZvtNEbCTRYH2O/VF7v00FQDmw0Gijn\nS+ijt+2olfAlXu0D0gOmQBU+2apcB5i1QAn0646WWHAdEEgvsxaLOHjYnoEF1KJO\nzCUzK9Tw37qeIxGLtsfN56BO/EPKhp3HpK+ekAWwCwKBgQC+8/AXnX+nfhubSHew\n9ajDGB1sOlqLEhaqLNfovkWpTImHknkehjFnVjAGbF73zVDL8UqLiAC5unO4mWyn\nnnYbaxSnaJEjJOQ2JHXkdNEI5fhD9RiehaAGaZRetjaPAJsaqdhpyw2ktIo+H7pT\nIoKIFqBpY8JAzOQMoB4nhW699g==\n-----END PRIVATE KEY-----\n
- Add the following secrets in Hugging Face Space Settings > Secrets:
FIREBASE_CLIENT_EMAIL
:[email protected]
FIREBASE_CLIENT_ID
:113359261182405536589
FIREBASE_CLIENT_X509_CERT_URL
:https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-fbsvc%40birthday-d1e31.iam.gserviceaccount.com
FIREBASE_DATABASE_URL
:https://birthday-d1e31-default-rtdb.firebaseio.com/
Dependencies:
- The
requirements.txt
file includes all necessary Python dependencies: flask==2.3.2 requests==2.31.0 firebase-admin==6.2.0 python-dotenv==1.0.0
- The
Hardware:
- Use the CPU basic tier (2 vCPU, 16 GB, free) in Hugging Face Space Settings.
- Restart Space:
- After adding files and secrets, restart the Space to deploy the app.
Usage
- Home Page: See the countdown to Manavi’s birthday and a Krishna animation.
- Chat Page: Chat with Little Krishna and generate a comic strip by saying “Tell me a story!”
- Birthday Message Page: View a generated Krishna image and Ayush’s birthday message for Manavi.
Configuration
- Entry Point: The app uses
main.py
as the entry point, which imports the Flask app fromapp.py
. - Python Version: The app requires Python 3.9, as specified in
Space.yaml
. - Templates and Static Files: The app uses templates in the
templates/
directory and static files in thestatic/
directory. - Models Used:
google/gemma-2b
for the chatbot.runwayml/stable-diffusion-v1-5
for image generation.