-
Notifications
You must be signed in to change notification settings - Fork 80
Description
Track
Reasoning Agents (Azure AI Foundry)
Project Name
DocAssistant.Charty 2
GitHub Username
Repository URL
https://github.com/YuriyMorozyuk95/DocAssistant.Charty_2
Project Description
DocAssistant.Charty is an AI-powered analytics app that turns natural-language questions into validated SQL and generates charts and insights for seamless data exploration. It helps teams query data without deep SQL expertise while enforcing security and governance rules.
The system uses a Supervisor agent to orchestrate concurrent RAG retrieval from three dedicated vector indexes: database schema, SQL examples, and security policies. Each retrieval returns a structured context pack (merged content plus cited source chunks with metadata). The aggregated context is then used in an iterative SQL Loop Workflow: an SQL Generator produces a candidate query based on schema and examples, and an SQL Validator enforces retrieved security requirements (row/column security, role-based masking, access limits). Validation combines static SQL analysis and test execution. On failure, the workflow loops with structured feedback until it passes or reaches the retry limit. When validated, the SQL is executed against Azure SQL Server, results are serialized efficiently, and the Supervisor generates the final user-facing answer and visualization.
The app is hosted with .NET Aspire for orchestration and telemetry, runs the workflow via AG-UI, and provides a clean Blazor (Fluent UI) interface for uploading schema, facts/examples, and security policies before querying.
Demo Video or Screenshots
Primary Programming Language
C#/.NET
Key Technologies Used
.NET Aspire (distributed app orchestration + telemetry)
Blazor + Fluent UI (frontend)
AG-UI protocol (agent endpoints / workflow execution)
Azure AI Search (vector retrieval for RAG)
Azure AI Foundry + Azure OpenAI (LLM)
Azure SQL Server (query execution)
Multi-agent workflow: Supervisor + 3 RAG agents + SQL Generator/Validator loop
Static SQL analysis + test execution for validation
Submission Type
Team (2-4 members)
Team Members
@YuriyMorozyuk95 — Yurii Moroziuk — Architect, AI Project Manager, AI Developer https://www.linkedin.com/in/yurii-moroziuk-2389ba111
@Rysenkosv — Serhii RYSENKO — AI Developer https://www.linkedin.com/in/serhii-rysenko-372aa028b/
@eevaraudrebane-droid — Eeva RAUDREBANE — Data Analyst, QA https://www.linkedin.com/in/eeva-raudrebane-68011a290/
@Sofiia-creator — Sofiia Kovalenko — Business Analyst, Operator, Video Creator https://www.linkedin.com/in/sofiia-koval-0459b8259
Submission Requirements
- My project meets the track-specific challenge requirements
- My repository includes a comprehensive README.md with setup instructions
- My code does not contain hardcoded API keys or secrets
- I have included demo materials (video or screenshots)
- My project is my own work with proper attribution for any third-party code
- I agree to the Code of Conduct
- I have read and agree to the Disclaimer
- My submission does NOT contain any confidential, proprietary, or sensitive information
- I confirm I have the rights to submit this content and grant the necessary licenses
Quick Setup Summary
Clone the repo: git clone https://github.com/YuriyMorozyuk95/DocAssistant.Charty_2
Open the solution in Visual Studio / dotnet CLI
Configure required environment/app settings (Azure OpenAI / AI Foundry, Azure AI Search, Azure SQL) as described in the README
Run the Aspire App Host project: DocAssistant.Charty.AppHost
Use the Blazor UI (DocAssistant.Charty.Web) to upload schema + examples + security policy, then ask questions in natural language
Project components (orchestrated by .NET Aspire):
DocAssistant.Charty-Agents — Agent backend service (AG-UI endpoints)
DocAssistant.Charty.Web — Blazor frontend
DocAssistant.Charty.AppHost — Aspire orchestrator (recommended entry point)
Technical Highlights
Concurrent retrieval across three RAG indexes (schema/examples/security) orchestrated by a Supervisor agent
Structured retrieval outputs with citations/metadata for traceability and debugging
SQL generation + security-aware validation loop with retry tracking and machine-readable feedback
Governance-first approach: row-level and column-level security, masking, access limits enforced before execution
Token-efficient result serialization prior to final natural-language explanation and charting
Challenges & Learnings
A key challenge was building a reliable end-to-end “NL → SQL → validate → execute → visualize” workflow that stays accurate while enforcing strict security. Splitting knowledge into separate vector indexes (schema, examples, security) improved retrieval quality and reduced hallucinations. Implementing a validator that combines static SQL analysis with test execution significantly improved safety and reduced invalid or non-compliant queries. Using structured intermediate outputs made the workflow easier to observe, debug, and iterate on during the hackathon.
Contact Information
Yurii.Moroziuk@hotmail.com https://www.linkedin.com/in/yurii-moroziuk-2389ba111
Country/Region
Estonia (team members from Ukraine and Estonia)