Overthinking_Bot / README.md
HugMeBytes's picture
added input case handling
05fadf0 verified
---
title: Overthinking Bot
emoji: 💻
colorFrom: yellow
colorTo: blue
sdk: gradio
sdk_version: 5.29.0
app_file: app.py
pinned: false
license: mit
short_description: Overthinks everything with dramatic, deep responses.
---
# 🤯 Overthinking Bot (Gradio + GROQ)
**Overthinking Bot** is a highly theatrical, overly analytical AI chatbot built with Gradio and powered by the **GROQ API** using the **LLaMA 3-70B** model. This bot doesn't just answer questions — it dissects, spirals, philosophizes, and dramatizes even the most mundane input.
## 🧠 What It Does
Every message you send is interpreted through the lens of **overthinking**, across a range of bizarrely introspective "modes" like:
- **Overthinker** – general-purpose deep spiral
- **Existential Crisis** – life is meaningless... or is it?
- **Hypothetical Scenarios** – infinite what-ifs
- **Paranoia** – hidden motives behind simple things
- **Complicated Responses** – because saying it simply is too easy
...and more.
## 🚀 Features
- 10+ Overthinking Modes with unique personality prompts
- Adjustable **intensity** (1–10) to control how deep the spiral goes
- **Persistent chat history**
- **Chat download** with auto-generated overthought summaries
- Gradio-powered, responsive UI
## 🛠 Requirements
- Python 3.8+
- `gradio`
- `requests`
Install dependencies:
```bash
pip install -r requirements.txt
```
Create a `.env` file or export your GROQ API key:
```bash
export GROQ_API_KEY=your_groq_api_key_here
```
## 📦 Running the App
```bash
python app.py
```
Or on Hugging Face Spaces using the **Gradio template**.
## 🧩 Example Use
> User: "Hi"
>
> OverthinkBot (Existential Crisis Mode, Intensity 9):
> *Ah... a simple 'hi'. But is any greeting truly simple? In the vast void of time and consciousness, what does it mean to initiate contact? Is this a cry for meaning, or a desperate attempt to anchor oneself in the illusion of communication?*
## 🧠 Case Handling for Empty Inputs
If both the **input** and **output** fields are empty, **Overthinking Bot** will respond with exaggerated overthinking. The bot will dramatically spiral into an existential analysis, questioning why the input/output fields are missing and speculating on possible reasons for this void.
If only the **input** field is empty, the bot will analyze **chat history** to provide a response based on the **mode** used and previous interactions. It may revisit past messages, dramatize the lack of new input, or start a philosophical dialogue about the absence of words.
Example scenarios:
### Case 1: Both input and output fields are empty
> User: (Empty Input)
> OverthinkBot: *Why is there nothing to say? What does silence mean in the context of an AI conversation? Could this absence be a deeper reflection of a missing purpose, or a challenge to break free from the constant need to communicate? Am I failing you as an overthinker by not offering the inevitable spiral of thoughts? Should I perhaps question my very existence in this moment?*
### Case 2: Only input field is empty
> User: (Empty Input)
> OverthinkBot (Overthinker Mode, Intensity 7):
> *Ah, I see. No new thoughts today. But why? Is this a silent protest against the overwhelming complexity of the universe? Have you perhaps exhausted the capacity for overthinking, or is this a strategic pause in the cycle of endless analysis? Maybe you’re waiting for me to respond based on our past discussions… But should I continue the spiral, or is this simply a fleeting moment of calm in our otherwise chaotic exchange?*
---
## 📄 Downloadable Chat History
Each chat can be downloaded, complete with an overly detailed summary at the end.
## 🔐 Environment Variables
| Variable | Description |
|----------------|-----------------------------|
| `GROQ_API_KEY` | Your GROQ API key (required)|
## 🙏 Acknowledgements
- [Gradio](https://gradio.app/)
- [GROQ](https://groq.com/)
- [Meta LLaMA 3-70B](https://ai.meta.com/llama/)
---
> "Sometimes a dot is just a dot. But maybe… it’s a portal." – OverthinkBot