QABot logo

QABot

Free

Query local or remote files or databases with natural language queries powered by langchain and openai ![GitHub Repo stars](https://img.shields.io/github/stars/hardbyte/qabot?style=social)

FreeFree tier
Type
Open Source

About QABot

QABot is an open-source command-line tool that enables natural language queries on local or remote data files using OpenAI's GPT models and DuckDB. It can query CSV, SQLite, Excel files, remote CSV files, and data stored in S3. Users can load data interactively within a session and ask questions in plain English; QABot translates these into SQL queries and executes them against a DuckDB database, returning the answer along with the SQL used. The tool is designed for quick data exploration without requiring SQL knowledge.

Key Features

Natural language querying of local files (CSV, SQLite, Excel)
Query remote CSV files and S3-hosted datasets
Uses DuckDB as the query engine
Generates and displays SQL queries used to answer questions
Interactive session allows loading data via natural language
Supports OpenAI-compatible APIs via OPENAI_BASE_URL

Pros & Cons

Pros
  • Open source and free to use
  • Works with multiple file and data formats (CSV, SQLite, Excel, S3)
  • Transparent: returns the SQL query used for each answer
  • Can load data on the fly from URLs or local paths
  • Lightweight CLI tool, installable via uv, pipx, or pip
Cons
  • Requires an OpenAI API key (or other compatible provider)
  • Currently relies on DuckDB; may not support all databases natively
  • Command-line interface only, no graphical user interface
  • Limited to file-based data sources; no direct support for live databases

Best For

Quick data exploration without writing SQLAnalyzing spreadsheets and CSV files via natural languageQuerying public datasets hosted on S3Teaching and learning SQL by viewing generated queriesAutomating data analysis tasks in CI/CD pipelines (CLI-friendly)

FAQ

What data sources does QABot support?
QABot can query local files (CSV, SQLite, Excel), remote CSV files, and data stored in S3. It uses DuckDB internally to load and query this data.
Is QABot free to use?
Yes, QABot is open source and free to install, but you need to provide your own OpenAI API key or set up an OpenAI-compatible API endpoint.
Do I need to know SQL to use QABot?
No, QABot allows you to ask questions in natural language. It generates the corresponding SQL query and runs it against your data.
How do I install QABot?
You can install QABot using uv, pipx, or pip: 'uv tool install qabot' (or 'pip install qabot'). You also need to set the OPENAI_API_KEY environment variable.