manuelaschrittwieser/SQL-Assistant-Prod
Autonomous SQL Assistant Agent
๐ System Overview
The Autonomous SQL Assistant is a demonstrative AI agent designed to bridge the gap between natural language inquiries and database execution. Unlike standard "Text-to-SQL" generators that strictly output code, this agent operates within a closed-loop environment: it generates syntax, executes it against a live database, and retrieves the actual data for the user.
The system is powered by Qwen 2.5 (1.5B), fine-tuned via QLoRA on the b-mc2/sql-create-context dataset to ensure high fidelity in SQL syntax generation.
[๐ View Source Code & Documentation](https://github.com/MANU-de/Autonomous-SQL-Agent)
๐๏ธ Technical Architecture
The application runs on a lightweight CPU environment and consists of three core components:
1. The Inference Engine
- Model: manuelaschrittwieser/Qwen2.5-1.5B-SQL-Assistant-Prod
- Optimization: The model runs in full FP32 precision (CPU optimized).
- Role: Translates user intent (e.g., "Who earns the most?") into executable SQLite syntax, utilizing the provided schema context.
2. The Execution Sandbox
- Database: A transient SQLite instance.
- Schema:
employees(id, name, department, salary, hire_date). - Lifecycle: The database is re-instantiated upon every application restart/build to ensure a clean state for testing.
3. The Agent Logic
The SQLAgent class orchestrates the workflow:
- Ingest: Receives natural language prompt.
- Contextualize: Injects the
CREATE TABLEschema into the system prompt. - Generate: produces the SQL query.
- Act: Connects to the SQLite cursor, executes the query, and fetches results.
- Sanitize: Catches execution errors (e.g., syntax errors) and reports them for debugging.
๐ป Usage Instructions
Interface Guide
The interface is a chat-based UI. You act as the user querying the HR database.
- Input: Type natural language questions regarding the
employeestable. - Output: The agent provides a two-part response:
- "Brain" (Internal Monologue): The generated SQL query.
- "Result" (Data): The raw tuples returned from the database.
Example Queries
Try copying these prompts to test the agent's capabilities:
โ๏ธ Local Reproduction
To run this Space locally on your machine (requires Python 3.10+):
- Clone the Repository:
git clone https://huggingface.co/spaces/manuelaschrittwieser/sql-assistant-prod
cd sql-assistant-prod- Install Dependencies:
pip install -r requirements.txt- Launch Application:
python app.pyโ ๏ธ Limitations & Scope
- Inference Latency: As this demo runs on CPU Basic hardware, generating the SQL query may take 2-10 seconds depending on server load.
- Sandbox Restrictions: Database modifications (INSERT/DROP) are possible but will persist only until the application restarts.
- Hallucinations: While fine-tuned, the model may occasionally generate invalid SQL for highly complex queries not covered in the training distribution.
๐ License
This project is open-source and available under the MIT License.
