How aditya-singh-3112/llm_dbms_v2 works
LLM-Powered DBMS lets users register and share tenant-isolated Postgres databases, then ask questions in natural language and receive streamed, SQL-backed answers. The principal path runs from the browser’s Ask page through the ask API and a tool-using agent to guarded database tools; conversation memory, optional textbook grounding, and write confirmation support that flow. Separate branches cover authentication, database administration, file import/export, and sharing. Edges reflect shown excerpts, SOURCE INDEX references, or README claims; unsampled subsystem wiring is omitted or marked unverified.
Main entry points: api.js API client · main.py API runtime · ask.py Question routes · mcp_tools.py Database tools
Components 28
Browser application
- Ask workflow
frontend/src/pages/AskPage.jsx - Answer display
frontend/src/components/TurnCard.jsx - Database workspace
frontend/src/pages/DatabasesPage.jsx - Import dialog
frontend/src/components/ImportModal.jsx - API client
frontend/src/api.js
HTTP API
- Authentication routes
app/api/auth.py - Database routes
app/api/databases.py - Question routes
app/api/ask.py - Tables routes
app/api/tables.py - Export routes
app/api/export.py
Domain services
- Auth service
app/services/auth.py - Database registry
app/services/database_registry.py - SQL agent
app/agent/agent_factory.py - Agent tool adapter
app/agent/tool_service_adapter.py - Database tools
app/services/mcp_tools.py - SQL validation
app/services/sql_validator.py - Postgres executor
app/services/postgres_executor.py - Conversation memory
app/services/conversation_service.py - Textbook retrieval
app/services/rag_service.py - File import
app/services/import_service.py - File export
app/services/export_service.py
Runtime and stores
- API runtime
app/main.py - Database manager
app/core/database.py - MongoDB
- Postgres tenants
- Redis cache
Other components
- User
- Gemini models
Connections 43
- User → Ask workflow: asks question
README.md - Ask workflow → API client: submits request
frontend/src/pages/AskPage.jsx - Ask workflow → Answer display: renders turns
frontend/src/pages/AskPage.jsx - API client → Question routes: calls API
README.md - User → Database workspace: manages databases
README.md - Database workspace → API client: requests database actions
frontend/src/pages/DatabasesPage.jsx - Database workspace → Import dialog: opens import
- API client → Authentication routes: calls API
README.md - API client → Database routes: calls API
- API client → Tables routes: calls API
- API client → Export routes: calls API
- API runtime → Question routes: registers route
app/main.py - API runtime → Authentication routes: registers route
app/main.py - API runtime → Database routes: registers route
app/main.py - API runtime → Tables routes: registers route
app/main.py - API runtime → Export routes: registers route
app/main.py - Authentication routes → Auth service: delegates to
app/api/auth.py - Database routes → Database registry: delegates to
app/api/databases.py - Question routes → SQL agent: invokes
app/api/ask.py - Question routes → Conversation memory: uses memory
app/api/ask.py - Question routes → Database tools: uses tools
app/api/ask.py - Question routes → Database registry: checks database
app/api/ask.py - SQL agent → Agent tool adapter: uses adapter
app/agent/agent_factory.py - SQL agent → Textbook retrieval: retrieves references
app/agent/agent_factory.py - Agent tool adapter → Database tools: calls tools
app/agent/tool_service_adapter.py - Database tools → SQL validation: validates SQL
app/services/mcp_tools.py - Database tools → Postgres executor: executes SQL
app/services/mcp_tools.py - Database tools → Database registry: checks permissions
- Tables routes → File import: imports files
app/api/tables.py - Tables routes → Database tools: uses database tools
app/api/tables.py - Export routes → File export: exports data
- Database registry → Database manager: creates tenant schema
app/services/database_registry.py - API runtime → Database manager: initializes stores
app/main.py - Database manager → MongoDB: connects
app/core/database.py - Database manager → Postgres tenants: connects
app/core/database.py - Database manager → Redis cache: connects
app/core/database.py - Database registry → MongoDB: stores registry
app/services/database_registry.py - Conversation memory → MongoDB: stores history
- Postgres executor → Postgres tenants: runs tenant SQL
- Textbook retrieval → Postgres tenants: uses vector store
app/services/rag_service.py - Textbook retrieval → Redis cache: caches retrieval
app/services/rag_service.py - SQL agent → Gemini models: generates SQL and answers
README.md - Textbook retrieval → Gemini models: embeds queries
README.md