An AI-driven ChatBot for INGRES (India Ground Water Resource Estimation System) that enables users to easily query groundwater data, access historical assessments, and obtain instant insights through natural language processing.
- Frontend: Streamlit web interface
- AI Engine: Ollama API with Llama 3.2 1B model (optimized for speed and efficiency)
- Data Layer: SQLite database (prototype) / INGRES API integration
- Visualization: Plotly for interactive charts and maps
- Translation: Multi-language support
- Analytics: Historical trend analysis
- Natural language query processing
- Real-time groundwater data access
- Interactive visualizations and maps
- Multilingual support (Hindi, English, regional languages)
- Historical data analysis and trends
- Export functionality
- Voice-to-text queries
- Geospatial awareness
- Install dependencies:
pip install -r requirements.txt- Set up Ollama:
# Install Ollama and pull a model
ollama pull llama3.2:1b- Run the application:
streamlit run app.pyingres-ai-chatbot/
├── app.py # Main Streamlit application
├── requirements.txt # Dependencies
├── config/
│ ├── settings.py # Configuration settings
│ └── database.py # Database configuration
├── src/
│ ├── chatbot/
│ │ ├── __init__.py
│ │ ├── ollama_client.py # Ollama API integration
│ │ ├── query_processor.py # Natural language processing
│ │ └── response_generator.py # Response formatting
│ ├── data/
│ │ ├── __init__.py
│ │ ├── database_manager.py # Database operations
│ │ ├── data_loader.py # Sample data loading
│ │ └── models.py # Data models
│ ├── visualization/
│ │ ├── __init__.py
│ │ ├── charts.py # Chart generation
│ │ ├── maps.py # Interactive maps
│ │ └── dashboard.py # Dashboard components
│ ├── translation/
│ │ ├── __init__.py
│ │ └── translator.py # Language translation
│ └── utils/
│ ├── __init__.py
│ ├── helpers.py # Utility functions
│ └── constants.py # Constants and configurations
├── data/
│ ├── sample_data/
│ │ ├── groundwater_data.csv
│ │ ├── assessment_units.csv
│ │ └── historical_data.csv
│ └── database/
│ └── ingres.db # SQLite database
├── assets/
│ ├── images/
│ │ └── architecture_diagram.png
│ └── styles/
│ └── custom.css
├── tests/
│ ├── __init__.py
│ ├── test_chatbot.py
│ ├── test_data.py
│ └── test_visualization.py
└── docs/
├── architecture.md
├── api_documentation.md
└── user_guide.md
- Contextual Geospatial Queries: Understanding location-based queries with map integration
- Smart Data Extraction: Extracting insights from complex groundwater datasets
- Predictive Analytics: ML-based trend predictions for groundwater levels
- Multi-modal Input: Text, voice, and visual query support
- Real-time Alerts: Automated notifications for critical groundwater conditions
- Interactive Drilling: Deep-dive capabilities into specific regions/time periods
- Collaborative Features: Data sharing and annotation capabilities
- Mobile-first Design: Responsive interface for field researchers
- Integration Ready: APIs for external weather and climate data
- Role-based Access: Different interfaces for researchers, policymakers, and public users