An AI agent for natural language-to-SQL generation with RAG capabilities
Live app: https://sql-agent-rag.streamlit.app/
- Install the python packages:
pip install -r requirements.txt- Create a
.envfile in the root directory of the project:
# Data Paths
DATABASE_URL="data/ecommerce.db"
BUSINESS_RULES_URL="data/business_rules.md"
BUSINESS_RULES_INDEX_URL="data/faiss_index"
# Agent Settings
MAX_CONTEXT_MESSAGES=3
RECURSION_LIMIT=25
# Model Providers
AVAILABLE_MODEL_PROVIDERS="OLLAMA,GROQ,HUGGINGFACE,OPENROUTER"
MODEL_PROVIDER="OLLAMA"
# GROQ
GROQ_API_KEY=""
GROQ_MODEL_NAME="llama-3.3-70b-versatile"
# HUGGINGFACE
HUGGINGFACEHUB_API_TOKEN=""
HUGGINGFACE_MODEL_NAME="deepseek-ai/DeepSeek-V3"
HUGGINGFACE_BASE_URL="https://router.huggingface.co/v1"
# OPENROUTER
OPENROUTER_API_KEY=""
OPENROUTER_MODEL_NAME="openai/gpt-oss-120b:free"
OPENROUTER_BASE_URL="https://openrouter.ai/api/v1"
# OLLAMA
OLLAMA_MODEL_NAME="qwen3.5:9b"
OLLAMA_BASE_URL="http://localhost:11434"- Run the streamlit app:
streamlit run app.py- Open the app with a browser at localhost:8501