mahimairaja's picture
fix: pinned version
0251dd6

A newer version of the Streamlit SDK is available: 1.52.2

Upgrade
metadata
title: Geo Spatial Multi Vector Search
emoji: 🌍
colorFrom: yellow
colorTo: red
sdk: streamlit
sdk_version: 1.52.0
app_file: app.py
pinned: false
license: mit

Geo-Spatial Chat with Qdrant & ColPali

Open in Spaces Qdrant ColPali

Query geospatial burn scar data using natural language, powered by ColPali (Vidore/colSmol-500M) multi-vector embeddings and Qdrant.

✨ Features

  • Natural Language Search: Ask questions like "Find burn scars larger than 500 hectares in California".
  • Multi-Vector Retrieval: Uses colpali-v1.2 (via colSmol-500M) for fine-grained patch-level image retrieval.
  • Spatial Filtering:
    • Geocoding Dropdown: Select US States or Canadian Provinces to automatically focus the search.
    • Radius Search: Filter results within a specified radius (km) of a location.
  • Temporal Filtering: Filter burn scars by acquisition date range.
  • Interactive Map: Visualize results on a Folium map with popups displaying score, area, and RGB imagery.
  • Rich Results: View top matches with confidence scores, metadata, and Color (RGB) imagery.

πŸš€ Getting Started

Prerequisites

  • Python 3.10+
  • Qdrant Instance (Local or Cloud)

Installation

  1. Clone the repository:

    git clone https://github.com/mahimairaja/geo-spatial-chat-qdrant.git
    cd geo-spatial-chat-qdrant
    
  2. Install dependencies: Using uv (recommended):

    uv pip install -r requirements.txt
    

    Or standard pip:

    pip install -r requirements.txt
    
  3. Environment Setup: Create a .env file in the root directory:

    QDRANT_URL=your_qdrant_url
    QDRANT_API_KEY=your_qdrant_api_key
    HF_TOKEN=your_huggingface_token
    

Data Ingestion

Dataset on HF Open In Colab

To ingest the dataset (HLS Burn Scars) into Qdrant:

python -m utils.ingest_to_qdrant

Note: This process generates ColPali embeddings and may take some time depending on your hardware (GPU recommended).

Running the App

streamlit run app.py

πŸ› οΈ Technology Stack

If you are interested in dataset preparation, you can find it here:

Data Preparation

πŸ“„ License

MIT License