Skip to content

Data Dialogue enables natural language querying of databases by integrating LLMs with SQL databases.

License

Notifications You must be signed in to change notification settings

ggeop/DataDialogueLLM

Repository files navigation

Data Dialogue
Elevate Your Data Insights


Docker Python GitHub release (latest by date)

Release Workflow Black Code Formatter Check Pydantic v2 License: MIT

🎉 Welcome to Data Dialogue

Transform the way you interact with data using AI-powered conversations

DataDialogue is an innovative application that bridges the gap between your data and natural language understanding. By leveraging advanced AI capabilities, it enables intuitive data exploration and analysis through conversational interfaces.

A user can select a LLM model and connect it with a data source and do his analysis by writing simple prompts instead of writing SQL queries or code.

Supported LLMs:

Provider Status
Google ✔️
HF ✔️
OpenAI ✔️
Claude
Perplexity

Supported Data Sources:

Source Status
PostgreSQL ✔️
MySQL
CSV

🌟 Preview Phase

We're currently in an exciting preview phase! Here's what that means for you:

  • 💡 Early Access: Get a first look at cutting-edge AI-data interaction
  • 🔄 Regular Updates: Frequent improvements and new features
  • 👥 Community Driven: Your feedback shapes the future of DataDialogue
  • 🐞 Bug Reports Welcome: Help us polish the experience

Please don't hesitate to open an issue or submit a pull request.

Experience our powerful demo with just one click! We've prepared everything you need to get started instantly:

✨ Key Features

  • Demo Database: Pre-loaded open-source DVD database (PostgreSQL)
  • Example Prompts: Curated selection of prompts to showcase capabilities
  • Flexible Model Support: Choose between:
    • 🤗 HuggingFace open-source models
    • 🤖 Commercial LLMs (like Google Gemini)

🎯 Getting Started

  1. Try the Demo: Click the video above to see it in action
  2. Choose Your Model:
    • Local: HuggingFace models (requires sufficient computing power)
    • Cloud: Commercial LLMs (recommended for lighter setups)

Pro Tip: Get your FREE Google Gemini API key for the best cloud-based experience!


Features

  • Natural language querying of databases
  • Integration with multiple language models
    • Integration with HuggingFace models
    • Integration with Commercial models (currently with Google LLMs)
  • Flexible architecture for extending to different data sources
  • RESTful API for easy integration
  • Secure query execution with protection against harmful SQL commands
  • Create validated Queries (+ Copy option)
  • Results Visualization

UI Screenshot UI Screenshot

Quick Start Guide

Prerequisites

  • Docker
  • Docker Compose

Production Setup

  1. Clone the repository:

    git clone https://github.com/ggeop/data-dialogue.git
    cd data-dialogue
  2. Run Data Dialogue services:

    Linux

    docker-compose --profile production pull && docker-compose --profile production up

    Windows

    docker-compose --profile production pull; if ($?) { docker-compose --profile production up}
  3. Access the frontend at http://localhost:5000 in your web browser.

Development

For local development and setup instructions, please refer to our Local Development Setup Guide.

The guide includes:

  • Local environment setup for Windows and Linux
  • Code style configuration with Black
  • Development workflows
  • Common issues and troubleshooting
  • Contributing guidelines

Project Structure

data-dialogue/
├── backend/
│   ├── app/
│   │   ├── api/
│   │   ├── core/
│   │   ├── services/
│   │   └── main.py
│   ├── Dockerfile
│   └── requirements.txt
├── frontend/
│   ├── static/
│   │   ├── css/
│   │   ├── images/
│   │   ├── js/
│   │   └── templates/
│   ├── app.py
│   └── Dockerfile
├── scripts/
│   └── black/
│       ├── setup_linux.sh
│       └── setup_windows.bat
├── docker-compose.yml
├── .gitignore
├── LOCAL_SETUP.md
└── README.md

🤝 Contributing

Your feedback and contributions make DataDialogue better! If you have:

  • 💭 Feature suggestions
  • 🐞 Bug reports
  • 💡 General feedback

Please read our Contributing Guidelines before submitting any pull requests.

♥️ Support and Community

License

Distributed under the MIT License. See LICENSE for more information.