Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dataherald/dataherald
Interact with your SQL database, Natural Language to SQL using LLMs
https://github.com/dataherald/dataherald
ai database finetuning llm nl-to-sql rag sql text-to-sql
Last synced: 4 days ago
JSON representation
Interact with your SQL database, Natural Language to SQL using LLMs
- Host: GitHub
- URL: https://github.com/dataherald/dataherald
- Owner: Dataherald
- License: apache-2.0
- Created: 2023-06-20T21:06:11.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-07-24T17:37:41.000Z (5 months ago)
- Last Synced: 2024-10-29T15:38:19.598Z (about 2 months ago)
- Topics: ai, database, finetuning, llm, nl-to-sql, rag, sql, text-to-sql
- Language: Python
- Homepage: https://dataherald.readthedocs.io/en/latest/
- Size: 4.34 MB
- Stars: 3,345
- Watchers: 25
- Forks: 235
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- Awesome-LLM-RAG-Application - Dataherald
README
# Dataherald monorepo
Query your relational data in natural language.
Dataherald is a natural language-to-SQL engine built for enterprise-level question answering over relational data. It allows you to set up an API from your database that can answer questions in plain English. You can use Dataherald to:
- Allow business users to get insights from the data warehouse without going through a data analyst
- Enable Q+A from your production DBs inside your SaaS application
- Create a ChatGPT plug-in from your proprietary dataThis repository contains four components under `/services` which can be used together to set up an end-to-end Dataherald deployment:
1. Engine: The core natural language-to-SQL engine. If you would like to use the dataherald API without users or authentication, running the engine will suffice.
2. Enterprise: The application API layer which adds authentication, organizations and users, and other business logic to Dataherald.
3. Admin-console: The front-end component of Dataherald which allows a GUI for configuration and observability. You will need to run both engine and enterprise for the admin-console to work.
4. Slackbot: A slackbot which allows users from a slack channel to interact with dataherald. Requires both engine and enterprise to run.For more information on each component, please take a look at their `README.md` files.
## Running locally
Each component in the `/services` directory has its own `docker-compose.yml` file. To set up the environment, follow these steps:
1. **Set Environment Variables**:
Each service requires specific environment variables. Refer to the `.env.example` file in each service directory and create a `.env` file with the necessary values.
> For the Next.js front-end app is `.env.local`
2. **Run Services**:
You can run all the services using a single script located in the root directory. This script creates a common Docker network and runs each service in detached mode.Run the script to start all services:
```bash
sh docker-run.sh
```## Contributing
As an open-source project in a rapidly developing field, we are open to contributions, whether it be in the form of a new feature, improved infrastructure, or better documentation.For detailed information on how to contribute, see [here](CONTRIBUTING.md).