hackathon / README.md
angkit007's picture
Update README.md
ebe7e08 verified
|
Raw
History Blame Contribute Delete
3.6 kB

A newer version of the Gradio SDK is available: 6.19.0

Upgrade
metadata
title: Emberglade
emoji: 🐱
colorFrom: yellow
colorTo: green
sdk: gradio
sdk_version: 6.18.0
app_file: app_single.py
pinned: false
short_description: 'Emberglade is a emotion identifier. '

Emberglade · MiniCPM-V 4.6

Bad days happen. We get stressed, overwhelmed, or just plain sad. But what if your computer could actually cheer you up?" We built Emberglade with one single mission: to scan your negative moods and completely flip them upside down into pure joy.

API-powered image description using OpenBMB's hosted MiniCPM-V 4.6.
No model download. No GPU. Works on any machine with internet access. It can run without internet access also if you download the models


Submissioin details:

Spaces : https://huggingface.co/spaces/angkit007/hackathon
Social media(youtube)): https://www.youtube.com/watch?v=QXYqQWdU2jc
Social media(facebook) : https://www.facebook.com/share/p/1JCppAFppP/

Quick start

pip install -r requirements.txt
python main.py
# → http://localhost:7860

File structure

minicpm_app/
├── main.py                  ← entry point  (python main.py)
├── requirements.txt
│
├── config/
│   ├── __init__.py
│   └── settings.py          ← API URL, keys, model IDs, defaults
│
├── core/
│   ├── __init__.py
│   ├── api_client.py        ← streaming API call + error handling
│   └── image_utils.py       ← PIL → JPEG → base64 data URL
│
└── ui/
    ├── __init__.py
    ├── app.py               ← Gradio layout (build_ui)
    └── components.py        ← individual input/output widgets

Models

Model Params Best for
MiniCPM-V-4.6-Instruct 1.3 B Fast Q&A, direct descriptions
MiniCPM-V-4.6-Thinking 1.3 B Complex reasoning, OCR, analysis

Both are well under the 32 B parameter cap.


API key

A free public key is baked into config/settings.py — works immediately, no signup.

For higher rate limits, get a personal key at https://modelbest.cn and either:

  • Paste it in the API Key field in the UI, or
  • Set the environment variable:
    export MINICPM_API_KEY=sk-your-key-here
    python main.py
    

Priority: MINICPM_API_KEY env var → UI field → public fallback key.


Extending

Task File to edit
Change model / add new model config/settings.pyMODELS dict
Adjust defaults config/settings.pyDEFAULT_*
Change API endpoint config/settings.pyAPI_BASE_URL
Add retry logic / logging core/api_client.py
Add new UI widgets ui/components.py + wire in ui/app.py

Examples

There are different moodes like "happy","sad","calm","energetic","mysterious","depressed","romantic","tense","nostalgic","angry" and neutral". Some of them are shown below:

Happy mood : image

Sad mood: image

Tense mood: image