Data Scout is a Natural Language to SQL chatbot designed to convert user queries into SQL, execute them on a database, and return relevant search results. It can be easily integrated into any website and offers a conversational interface for users to interact with databases using plain language.
- Natural Language Processing: Understands user queries in plain language.
- SQL Query Generation: Converts natural language queries into accurate SQL commands.
- Database Integration: Executes SQL queries on a connected database.
- Conversational Interface: Chatbot-style interaction that can be embedded into websites.
- Customizable: Adaptable to various types of databases and website platforms.
Before you start, ensure you have the following installed:
- Python (version 3.8 or higher)
- Flask for backend development
- spaCy or another NLP library
- A SQL database (e.g., MySQL, PostgreSQL)
-
Clone the repository:
git clone https://github.com/muhammed-ziyan-ummalil/data-scout cd data-scout
-
Install the necessary dependencies:
pip install -r requirements.txt
-
Set up your database and update the connection details in the configuration file (
main/config.py
).
-
Start the Flask server:
python main/data_scout.py
-
Open your browser and navigate to
http://localhost:5000
. -
Interact with the chatbot by entering natural language queries (e.g., "Find a phone with a 5000mAh battery and red color").
- "Show me laptops with 16GB RAM."
- "I need a phone with a 64MP camera."
- "Find me a blue shirt in size medium."
main/data_scout.py
- Main script to run the application.main/config.py
- Configuration settings for the application.main/database.py
- Database connection and query handling.main/nlp.py
- NLP processing and query understanding.requirements.txt
- List of dependencies required to run Data Scout.
- Support for complex queries: Improve the NLP model to handle more sophisticated natural language queries.
- Contextual understanding: Enable the chatbot to maintain conversation context for follow-up questions.
- Support for multiple databases: Extend compatibility with different types of databases.
We welcome contributions! Please follow these steps:
- Fork the repo.
- Create a new branch:
git checkout -b feature-name
. - Make and commit your changes:
git commit -m 'Add new feature'
. - Push to the branch:
git push origin feature-name
. - Submit a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
For any inquiries, feel free to reach out:
- Email: [email protected]
- GitHub: github.com/muhammed-ziyan-ummalil