This project performs sentiment analysis using a Large Language Model (Gemini) with advanced prompt engineering strategies.
Two analytical dimensions are implemented:
- 🔎 Reasoning → Detailed explanation of why a sentiment was chosen
- 📊 Reliability Score → Confidence estimation (0.0 – 1.0)
Instead of training deep learning models, this project leverages:
- Structured Prompt Engineering
- Deterministic temperature (0)
- JSON-constrained output
- Reliability scoring
The model is instructed to:
- Return strictly valid JSON
- Keep order of input texts
- Provide analytical reasoning
- Assign reliability score
twitter-sentiment-llm/ │ ├── data/ │ ├── input.txt │ └── output.json │ ├── main.py ├── .env.example ├── requirements.txt └── README.md
-
Clone the repo
-
Create
.envfile based on.env.example -
Install dependencies pip install -r requirements.txt
-
Run: python main.py
- LangChain
- Google Gemini
- Prompt Engineering
- Python
| Traditional ML | LLM Prompt Strategy |
|---|---|
| Requires training | No training |
| Fixed architecture | Flexible reasoning |
| Accuracy-based | Explanation-based |
Mohamed Mahmoud