https://github.com/k0msenapati/waterwise
π§ Smart Water Chatbot
https://github.com/k0msenapati/waterwise
chainlit chroma docling langchain openrouter python rag uv water
Last synced: 2 months ago
JSON representation
π§ Smart Water Chatbot
- Host: GitHub
- URL: https://github.com/k0msenapati/waterwise
- Owner: k0msenapati
- Created: 2025-08-03T12:19:08.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2025-08-03T12:19:20.000Z (11 months ago)
- Last Synced: 2026-01-13T12:15:57.438Z (5 months ago)
- Topics: chainlit, chroma, docling, langchain, openrouter, python, rag, uv, water
- Language: Python
- Homepage:
- Size: 21.1 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π§ WaterWise
**WaterWise** is an AI-powered chatbot dedicated to educating communities about **water conservation techniques** and **best practices for maintaining clean water**.
It answers questions about water-saving methods, provides practical tips for reducing usage, and raises awareness about the importance of sanitation and sustainable water management.
---
## π Knowledge Base Sources
### π PDFs
- [Water Conservation Strategies and Solutions](https://www.researchgate.net/publication/312525328_WATER_CONSERVATION_STRATEGIES_AND_SOLUTIONS)
- [Water For Life β UN](https://www.un.org/esa/sustdev/publications/water_for_life.pdf)
- [Water Conservation Ideas](https://www.wvca.us/wvwrc/pdf/Uploads/Water%20Conservation%20Ideas.pdf)
### π Web Links
- [A Guide to Water Conservation β The Berkey](https://theberkey.com/pages/a-guide-to-water-conservation)
- [Sustainable Development Goal 6 β Wikiwand](https://www.wikiwand.com/en/articles/Sustainable_Development_Goal_6)
- [Water β Wikiwand](https://www.wikiwand.com/en/articles/water)
---
## π Technologies Used
- [LangChain](https://python.langchain.com/docs/) β RAG pipeline & prompt engineering
- [OpenRouter](https://openrouter.ai/) β LLM API provider
- [ChromaDB](https://www.trychroma.com/) β Vector database for storing embeddings
- [Chainlit](https://github.com/Chainlit/chainlit) β Interactive chat interface
- [Python](https://www.python.org/) β Core language
- [uv](https://github.com/astral-sh/uv) β Python package & environment manager
---
## π How to Run Locally
### 1οΈβ£ Clone the repository
```bash
git clone https://github.com/k0msenapati/waterwise.git
```
### 2οΈβ£ Navigate to the project folder
```bash
cd waterwise
```
### 3οΈβ£ Install dependencies
```bash
uv sync
```
### 4οΈβ£ Set environment variables
```bash
export OPENAI_API_KEY=your_openrouter_api_key
```
π‘ You can get a free API key from [OpenRouter](https://openrouter.ai/).
### 5οΈβ£ Create the Knowledge Base
```bash
uv run scripts/create_kb.py
```
This step:
* Loads PDFs & URLs from `raw_data/sources.yaml`
* Generates embeddings using **HuggingFace**
* Stores them in **ChromaDB**
### 6οΈβ£ Start the Chainlit app
```bash
source .venv/bin/activate
chainlit run app.py -w
```
Now open the URL shown in your terminal to start chatting with **WaterWise** π§.
---
## π‘ Example Questions
* *"What are some water-related problems?"*
* *"How can I save water at home?"*
* *"What is rainwater harvesting?"*
---
π§ **Water is life β Letβs save it together.**