Skip to main content

A tool that combines LLMs with climate data to provide localized insights for decision-making in agriculture, urban planning, disaster management, and policy development.

Project description

ClimSight

ClimSight is an advanced tool that integrates Large Language Models (LLMs) with climate data to provide localized climate insights for decision-making. ClimSight transforms complex climate data into actionable insights for agriculture, urban planning, disaster management, and policy development.

The target audience includes researchers, providers of climate services, policymakers, agricultural planners, urban developers, and other stakeholders who require detailed climate information to support decision-making. ClimSight is designed to democratize access to climate data, empowering users with insights relevant to their specific contexts.

screencast

ClimSight distinguishes itself through several key advancements:

  • Integration of LLMs: ClimSight leverages state-of-the-art LLMs to interpret complex climate-related queries, synthesizing information from diverse data sources.
  • Multi-Source Data Integration: Unlike conventional systems that rely solely on structured climate data, ClimSight integrates information from multiple sources.
  • Evidence-Based Approach: ClimSight ensures contextually accurate answers by retrieving relevant knowledge from scientific reports, IPCC documents, and geographical databases.
  • Modular Architecture: Specialized components handle distinct tasks, such as data retrieval, contextual understanding, and result synthesis, leading to more accurate outputs.
  • Real-World Applications: ClimSight is validated through practical examples, such as assessing climate risks for specific agricultural activities and urban planning scenarios.

Installation Options

You can use ClimSight in three ways:

  1. Run a pre-built Docker container (simplest approach)
  2. Build and run a Docker container from source
  3. Install the Python package (via pip or conda/mamba)

Using ClimSight requires an OpenAI API key unless using the skipLLMCall mode for testing. The API key is only needed when running the application, not during installation.

1. Running with Docker (Pre-built Container)

The simplest way to get started is with our pre-built Docker container:

# Make sure your OpenAI API key is set as an environment variable
export OPENAI_API_KEY="your-api-key-here"

# Pull and run the container
docker pull koldunovn/climsight:stable
docker run -p 8501:8501 -e OPENAI_API_KEY=$OPENAI_API_KEY koldunovn/climsight:stable

Then open http://localhost:8501/ in your browser.

2. Building and Running from Source with Docker

If you prefer to build from the latest source:

# Clone the repository
git clone https://github.com/CliDyn/climsight.git
cd climsight

# Download required data
python download_data.py

# Build and run the container
docker build -t climsight .
docker run -p 8501:8501 -e OPENAI_API_KEY=$OPENAI_API_KEY climsight

Visit http://localhost:8501/ in your browser once the container is running.

For testing without OpenAI API calls:

docker run -p 8501:8501 -e STREAMLIT_ARGS="skipLLMCall" climsight

3. Python Package Installation

Option A: Building from source with conda/mamba

# Clone the repository
git clone https://github.com/CliDyn/climsight.git
cd climsight

# Create and activate the environment
mamba env create -f environment.yml
conda activate climsight

# Download required data
python download_data.py

Option B: Using pip

It's recommended to create a virtual environment to avoid dependency conflicts:

# Option 1: Install from source
git clone https://github.com/CliDyn/climsight.git
cd climsight

# Create and activate a virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install ClimSight
pip install -e .
python download_data.py

Or if you prefer to set up without cloning the repository:

# Option 2: Install from PyPI
# Create and activate a virtual environment
python -m venv climsight_env
source climsight_env/bin/activate  # On Windows: climsight_env\Scripts\activate

# Install the package
pip install climsight

# Create a directory for data
mkdir -p climsight
cd climsight

# Download necessary configuration files
wget https://raw.githubusercontent.com/CliDyn/climsight/main/data_sources.yml
wget https://raw.githubusercontent.com/CliDyn/climsight/main/download_data.py
wget https://raw.githubusercontent.com/CliDyn/climsight/main/config.yml

# Download the required data (about 8 GB)
python download_data.py

Configuration

ClimSight will automatically use a config.yml file from the current directory. You can modify this file to customize settings:

# Key settings you can modify in config.yml:
# - LLM model (gpt-4, ...)
# - Climate data sources
# - RAG database configuration
# - Agent parameters

Running ClimSight

If installed with conda/mamba from source:

# Run from the repository root
streamlit run src/climsight/climsight.py

If installed with pip:

# Make sure you're in the directory with your data and config
climsight

You can optionally set your OpenAI API key as an environment variable:

export OPENAI_API_KEY="your-api-key-here"

Otherwise, you can enter your API key directly in the browser interface when prompted.

Testing without an OpenAI API key:

# From source:
streamlit run src/climsight/climsight.py skipLLMCall

# Or if installed with pip:
climsight skipLLMCall

The application will open in your browser automatically. Just type your climate-related questions and press "Generate" to get insights.

ClimSight Interface

Citation

If you use or refer to ClimSight in your work, please cite:

Koldunov, N., Jung, T. Local climate services for all, courtesy of large language models. Commun Earth Environ 5, 13 (2024). https://doi.org/10.1038/s43247-023-01199-1

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

climsight-1.0.0.tar.gz (66.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

climsight-1.0.0-py3-none-any.whl (71.1 kB view details)

Uploaded Python 3

File details

Details for the file climsight-1.0.0.tar.gz.

File metadata

  • Download URL: climsight-1.0.0.tar.gz
  • Upload date:
  • Size: 66.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for climsight-1.0.0.tar.gz
Algorithm Hash digest
SHA256 38fb7d2066bebbcb94fb739d10c5bc51dcee8a624ef8ff8977a724508c78e1c8
MD5 9cedfbcb2e8e2a33aefa8bcccdf94c77
BLAKE2b-256 317e37042d1f0b70caf1d0a64e037044cc3571aa0d8f6523d11b9261ec94470b

See more details on using hashes here.

File details

Details for the file climsight-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: climsight-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 71.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for climsight-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 31ea23524074c900d913693c11709da2bcf3b3f9bcf587b27c6eefae37effac6
MD5 e3e6f3f5f4eecb36f6c77b6bc02bdb0d
BLAKE2b-256 db1e71e3597451fd1aab7a6eab2c1ca4c2a1f3cacf07c32b61883414331bafdc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page