rohitbind/meeting-mood-analyzer
π Meeting Mood Analyzer & Recommendation Agent
An interactive AI tool that analyzes meeting notes using Groq LLMs via LangChain & Streamlit...
# π Meeting Mood Analyzer & Recommendation Agent
An interactive AI tool that analyzes meeting notes using an LLM hosted on Groq to determine:
- The **overall mood** of the meeting
- The **meeting type** (e.g., brainstorming, planning)
- The most appropriate **next action**
- A summarized natural language response
Built with Python, [LangChain](https://github.com/langchain-ai/langchain), [Groq](https://groq.com/), and [Streamlit](https://streamlit.io/), this lightweight app can be deployed locally or on [Hugging Face Spaces](https://huggingface.co/spaces).
---
## π Features
β
Uses Groq-hosted LLM (`Gemma2-9b-It`) with `temperature=0` for consistent outputs
β
Few-shot prompts for accurate classification
β
Full fallbacks using rule-based keyword heuristics
β
Streamlit-based UI β fast, responsive, and easy to use
β
Includes NLP chains via LangChain: mood detection, type classification, and action recommendation
---
## π Live Demo (optional)
Coming soon on Hugging Face Spaces!
URL: `https://huggingface.co/spaces/<your-username>/meeting-mood-analyzer`
---
## π File Structure
. βββ app.py # Main Streamlit app interface βββ .env.example # Example environment variable file βββ README.md # You're reading it! βββ requirements.txt # Python dependencies
---
## π§ Setup Instructions
### β
Local Development
1. **Clone the repository**git clone https://github.com/yourusername/meeting-mood-analyzer.git cd meeting-mood-analyzer
2. **Create a virtual environment (optional but recommended)**python -m venv venv source venv/bin/activate # macOS/Linux venv\Scripts\activate # Windows
3. **Install dependencies**pip install -r requirements.txt
4. **Set up your API key**
Create a `.env` file:GROQAPIKEY=youractualgroqkeyhere
> If using VSCode, you can use the `.env.example` file to structure your keys.
5. **Run the application**streamlit run app.py
---
### βοΈ Deploy on Hugging Face Spaces
1. **Create a new Space**:
Go to [huggingface.co/spaces](https://huggingface.co/spaces) β "Create Space" β select **Streamlit** SDK.
2. **Upload the following files:**
- `app.py`
- `requirements.txt`
- `README.md`
3. **Set secret key**
In the Space settings panel under **βSecretsβ**, add:GROQAPIKEY = sk-***********************************
4. Thatβs it! Once the build completes, your app will be live.
---
## π Environment Variables
| Name | Description | Required |
|--------------|-----------------------------------------|----------|
| GROQ_API_KEY | API key from [groq.com](https://groq.com/console) | β
Yes |
---
## π§ Prompts Used
### π© Mood Detection Prompt
Classifies the sentiment as: `"Positive"`, `"Neutral"`, `"Frustrated"`, `"Anxious"` or `"Conflict"` based on few-shot examples.
### π¨ Meeting Type Classification
Possible types:
- `Brainstorming`
- `Status Update`
- `Conflict Resolution`
- `Planning`
### π₯ Next Action Prompt
Suggests the most relevant next step from:
- `Schedule follow-up`
- `Send summary email`
- `Escalate issue`
- `Assign action items`
If LLM fails, deterministic rule-based fallbacks ensure a result is always returned.
---
## ποΈ Built With
- [LangChain](https://github.com/langchain-ai/langchain)
- [Groq LLMs](https://console.groq.com/)
- [Streamlit](https://streamlit.io/)
- [Python](https://www.python.org/)
- [dotenv](https://pypi.org/project/python-dotenv/)
---
## π License
This project is licensed under the MIT License β feel free to use, adapt, and share!
---
## π€ Contributing
Issues and PRs are welcome!
1. Fork this repo
2. Create your feature branch (`git checkout -b feature/foo`)
3. Commit and push
4. Submit a pull request π
---
## π§ Author
Made with β€οΈ by [Your Name]
[LinkedIn](https://linkedin.com/in/yourprofile) β’ [Portfolio](https://yourportfolio.com)
---
## π Acknowledgements
Big thanks to:
- [Groq](https://groq.com/)
- [LangChain Community](https://langchain.com/)
- [Streamlit](https://streamlit.io/)
- [Hugging Face](https://huggingface.co)
---
**π― Donβt just analyze meetings β understand them.**Let me know if you'd like me to generate a ZIP of the entire app (README + app.py + requirements.txt + .env.example) for quick Hugging Face upload.
