Skip to content

About

This is the repository for SIH PS 25040 Team Neural Ninjas

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

ย 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

FloatChat ๐ŸŒŠ

AI-Powered Conversational Interface for ARGO Ocean Data Discovery and Visualization

FloatChat is a revolutionary platform that democratizes access to complex oceanographic data through natural language querying and interactive visualizations. Built for Smart India Hackathon 2025 (Problem Statement ID: SIH25040).


๐ŸŽฏ Problem Statement

Background: Oceanographic data from sources like ARGO floats is vast, complex, and heterogeneous. Accessing, querying, and visualizing this data requires domain knowledge, technical skills, and familiarity with complex NetCDF formats and command-line tools.

Challenge: Bridge the gap between domain experts, decision-makers, and raw ocean data by enabling non-technical users to extract meaningful insights effortlessly through natural language interactions.


โœจ Key Features

๐Ÿ—ฃ๏ธ Chat-Based Exploration

  • Query historical and real-time ARGO data using natural language
  • RAG pipeline powered by multimodal LLMs for accurate responses
  • Data-validated responses tied to actual ARGO database records

๐Ÿ“Š Interactive Geospatial Dashboards

  • Visualize float trajectories with interactive maps
  • Generate depth-time plots for temperature and salinity
  • Historical ocean conditions through intuitive heat maps
  • Real-time data exploration capabilities

๐Ÿ“ On-Demand Data Export

  • Direct download of dashboard-queried subsets
  • Multiple formats: ASCII, NetCDF, CSV
  • Bypass complex global ARGO NetCDF archives

๐Ÿ—„๏ธ Compact Data Modeling

  • Transform massive NetCDF datasets into compact, query-ready PostgreSQL format
  • Real-time data processing and aggregation
  • Grid-based organization (2ยฐ ร— 2ยฐ) for efficient storage

๐Ÿ”’ Advanced Access Control

  • Role-based access management via Supabase
  • Separate portal for researchers to directly query databases
  • Data integrity and security measures

๐Ÿ—๏ธ System Architecture

Data Processing Pipeline

ARGO NetCDF Data โ†’ Data Cleaning โ†’ Grid Organization (2ยฐร—2ยฐ) โ†’ PostgreSQL Storage
                                                              โ†“
Vector Embeddings โ† ChromaDB โ† Metadata Processing โ† Summarizing Agent

Query Processing Flow

User Query โ†’ Query Embedding โ†’ Semantic Search โ†’ LLM SQL Generation โ†’ Database Query โ†’ Response

๐Ÿ› ๏ธ Technology Stack

Frontend

  • ReactJS - User interface
  • Plotly - Interactive visualizations
  • Leaflet - Geospatial mapping

Backend

  • FastAPI - Python web framework
  • PostgreSQL - Primary database
  • ChromaDB - Vector database
  • Gemini API / LLaMA - Large Language Models

Deployment & Infrastructure

  • Supabase - Backend-as-a-Service
  • Docker - Containerization
  • AWS EC2 - Cloud hosting

๐Ÿš€ Getting Started

Prerequisites

  • Python 3.8+
  • Node.js 16+
  • Docker & Docker Compose
  • PostgreSQL
  • Git

Installation

  1. Clone the repository
git clone https://github.com/your-username/sih_25040.git
cd sih_25040
  1. Backend Setup
# Navigate to backend directory
cd Fastapi_backend

# Install dependencies
pip install -r requirements.txt

# Set up environment variables
cp .env.example .env
# Configure your database URL, API keys, etc.

# Run database migrations
python manage.py migrate

# Start the FastAPI server
uvicorn main:app --reload
  1. Frontend Setup
# Navigate to frontend directory
cd argo_frontend

# Install dependencies
npm install

# Start the React development server
npm start
  1. Docker Deployment
# Build and run with Docker Compose
docker-compose up --build

Environment Variables

DATABASE_URL=postgresql://username:password@localhost:5432/floatchat
GEMINI_API_KEY=your_gemini_api_key
SUPABASE_URL=your_supabase_url
SUPABASE_ANON_KEY=your_supabase_anon_key
CHROMA_PERSIST_DIRECTORY=./chroma_db

๐Ÿ’ก Usage Examples

Natural Language Queries

๐ŸŒŠ "Show me salinity profiles near the equator in March 2023"
๐ŸŒŠ "Compare BGC parameters in the Arabian Sea for the last 6 months"
๐ŸŒŠ "What are the nearest ARGO floats to latitude 15ยฐN, longitude 68ยฐE?"
๐ŸŒŠ "Display temperature trends in the Indian Ocean over the past year"

Dashboard Features

  • Float Trajectories: Interactive map showing ARGO float paths
  • Depth-Time Plots: Temperature and salinity profiles over time
  • Heat Maps: Spatial distribution of ocean parameters
  • Data Export: Download filtered datasets in various formats

๐Ÿ”ง API Endpoints

Data Query Endpoints

GET  /api/floats              # Get all ARGO floats
GET  /api/floats/{float_id}   # Get specific float data
POST /api/query               # Natural language query
GET  /api/profiles            # Get temperature/salinity profiles
POST /api/export              # Export filtered data

Dashboard Endpoints

GET  /api/dashboard/trajectories    # Float trajectory data
GET  /api/dashboard/heatmap        # Heat map data
GET  /api/dashboard/timeseries     # Time series data

๐ŸŽฏ Key Innovations

๐Ÿง  Multi-Agentic Framework

  • LLM forms SQL queries using semantic context + user query
  • Follows Model Context Protocol (MCP) for structured communication
  • Summarizing agent forms detailed responses

๐Ÿ” Semantic Search with Metadata Filtering

  • Vector embeddings stored in ChromaDB
  • Top-k relevant document retrieval
  • LLM-guided metadata filtering for precision

๐Ÿ“Š Efficient Data Storage

  • Ocean divided into 2ยฐ ร— 2ยฐ grids
  • Aggregated data in optimized PostgreSQL tables
  • Compact representation of massive NetCDF datasets

๐ŸŒŸ Impact & Benefits

Democratized Data Access

  • Removes need for NetCDF expertise
  • Natural language querying for all users
  • Intuitive visual dashboards

Research Acceleration

  • Fast data discovery and analysis
  • Automated query generation
  • Direct database access for advanced users

Policy Support

  • Evidence-based insights for decision-makers
  • Real-time ocean condition monitoring
  • Climate policy and marine planning support

Educational Tool

  • Engaging platform for students
  • Real-world dataset exploration
  • Interactive learning experience

๐Ÿ”ฎ Future Enhancements

Extended Data Sources

  • BGC floats integration
  • Buoy and glider data
  • Satellite dataset incorporation
  • INCOIS observation integration

Advanced Features

  • Anomaly detection capabilities
  • Tsunami alert systems
  • Cyclone tracking integration
  • Coastal hazard warnings

Scalability Improvements

  • Open-source LLM integration (LLaMA, Mistral)
  • Advanced caching mechanisms
  • Multi-region deployment

๐Ÿงช Technical Challenges & Solutions

Challenge Solution
Massive NetCDF Data Volume Grid-based aggregation and preprocessing to compress TBs to GBs
LLM Query Ambiguity Vector database with semantic search and metadata filtering
API Rate Limits & Costs Query caching + open-source LLM integration
Data Integrity All responses tied to actual database records, eliminating hallucinations

๐Ÿ‘ฅ Team Neural Ninjas

Smart India Hackathon 2025

  • Team ID: SIH-011
  • Problem Statement: SIH25040
  • Theme: Miscellaneous
  • Category: Software

๐Ÿ“š References

  1. Indian Argo Project
  2. Global Argo Data Repository
  3. Argopy Python Library
  4. Supabase PostgreSQL Database
  5. ChromaDB Documentation

๐ŸŒŠ Making Ocean Data Accessible to Everyone ๐ŸŒŠ

`

About

This is the repository for SIH PS 25040 Team Neural Ninjas

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages