SkillAgentSearch skills...

SmartRAG

Multi-Modal RAG for .NET — query databases, documents, images and audio in natural language. Production-ready with multi-AI support, vector storage, and multi-database coordination.

Install / Use

/learn @byerlikaya/SmartRAG

README

<p align="center"> <img src="icon.svg" alt="SmartRAG Logo" width="200" height="200"> </p> <p align="center"> <b>Multi-Modal RAG for .NET — query databases, documents, images & audio in natural language</b> </p> <p align="center"> <a href="https://www.nuget.org/packages/SmartRAG"><img src="https://img.shields.io/nuget/v/SmartRAG.svg?style=for-the-badge&logo=nuget" alt="NuGet Version"/></a> <a href="https://www.nuget.org/packages/SmartRAG"><img src="https://img.shields.io/nuget/dt/SmartRAG.svg?style=for-the-badge&logo=nuget" alt="Downloads"/></a> <a href="https://github.com/byerlikaya/SmartRAG/stargazers"><img src="https://img.shields.io/github/stars/byerlikaya/SmartRAG?style=for-the-badge&logo=github" alt="GitHub Stars"/></a> <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green.svg?style=for-the-badge" alt="License"/></a> </p> <p align="center"> <a href="https://github.com/byerlikaya/SmartRAG/actions"><img src="https://img.shields.io/github/actions/workflow/status/byerlikaya/SmartRAG/ci.yml?style=for-the-badge&logo=github" alt="Build Status"/></a> <a href="https://www.nuget.org/packages/SmartRAG"><img src="https://img.shields.io/badge/.NET-6.0-blue?style=for-the-badge&logo=.net" alt=".NET 6"/></a> </p> <p align="center"> <a href="https://byerlikaya.github.io/SmartRAG/en/"><img src="https://img.shields.io/badge/📚-Complete_Documentation-blue?style=for-the-badge&logo=book" alt="Documentation"/></a> <a href="README.tr.md"><img src="https://img.shields.io/badge/🇹🇷-Türkçe_README-red?style=for-the-badge" alt="Turkish README"/></a> </p>

🚀 Quick Start

1. Install SmartRAG

dotnet add package SmartRAG

2. Setup

// For Web API applications
builder.Services.AddSmartRag(builder.Configuration, options =>
{
    options.AIProvider = AIProvider.OpenAI;
    options.StorageProvider = StorageProvider.InMemory;
});

// For Console applications
var serviceProvider = services.UseSmartRag(
    configuration,
    aiProvider: AIProvider.OpenAI,
    storageProvider: StorageProvider.InMemory
);

3. Configure databases in appsettings.json

{
  "SmartRAG": {
    "DatabaseConnections": [
      {
        "Name": "Sales",
        "ConnectionString": "Server=localhost;Database=Sales;...",
        "DatabaseType": "SqlServer"
      }
    ]
    }
}

4. Upload documents & ask questions

// Upload document
var document = await documentService.UploadDocumentAsync(
    fileStream, fileName, contentType, "user-123"
);

// Unified query across databases, documents, images, and audio
var response = await searchService.QueryIntelligenceAsync(
    "Show me all customers who made purchases over $10,000 in the last quarter, their payment history, and any complaints or feedback they provided"
);
// → AI automatically analyzes query intent and routes intelligently:
//   - High confidence + database queries → Searches databases only
//   - High confidence + document queries → Searches documents only  
//   - Medium confidence → Searches both databases and documents, merges results
// → Queries SQL Server (orders), MySQL (payments), PostgreSQL (customer data)
// → Analyzes uploaded PDF contracts, OCR-scanned invoices, and transcribed call recordings
// → Provides unified answer combining all sources

5. (Optional) Configure MCP Client & File Watcher

{
  "SmartRAG": {
    "Features": {
      "EnableMcpSearch": true,
      "EnableFileWatcher": true
    },
    "McpServers": [
      {
        "ServerId": "example-server",
        "Endpoint": "https://mcp.example.com/api",
        "TransportType": "Http"
      }
    ],
    "WatchedFolders": [
      {
        "FolderPath": "/path/to/documents",
        "AllowedExtensions": [".pdf", ".docx", ".txt"],
        "AutoUpload": true
      }
    ],
    "DefaultLanguage": "en"
  }
}

Want to test SmartRAG immediately?Jump to Examples & Testing

Dashboard (Web UI)

SmartRAG includes a built-in browser-based dashboard for document management and chat (no separate package needed):

builder.Services.AddSmartRag(builder.Configuration);
builder.Services.AddSmartRagDashboard(options => { options.Path = "/smartrag"; });

app.UseSmartRagDashboard("/smartrag");
app.MapSmartRagDashboard("/smartrag");

Then open https://localhost:5000/smartrag to list/upload/delete documents and chat with the active AI model. By default the dashboard is only enabled in Development. For production, protect the path with your own auth or use AuthorizationFilter. See Dashboard documentation for security and options.

Dashboard & UI Overview

SmartRAG ships with a production-ready web dashboard for managing documents, databases, and AI conversations.
The screenshots below show a typical setup in development:

| Chat & Conversation | Database Schema Analysis | | ------------------- | ------------------------ | | SmartRAG Chat | SmartRAG Database Schema Analyzer |

| Database Details & Relations | Document Management & Settings | | ---------------------------- | ------------------------------ | | SmartRAG Database Details | SmartRAG Settings |

<details> <summary><strong>Show full dashboard gallery (all views)</strong></summary>

Chat & Conversations

  • SmartRAG Chat - Conversation Overview
  • SmartRAG Chat - Database-Aware Answer
  • SmartRAG Chat - Mixed Sources Answer

Database Overview & Health

  • SmartRAG Database Overview
  • SmartRAG Database Details

Schema & Table Insights

  • SmartRAG Table and Relationship View
  • SmartRAG Cross-Database Schema Insights
  • SmartRAG Schema-Level Summary
  • SmartRAG Schema Column Details
  • SmartRAG Schema Relationship Map

Documents & File Processing

  • SmartRAG Document List View

Settings & Configuration

  • SmartRAG Core Settings
  • SmartRAG Advanced Settings
</details>

🏆 Why SmartRAG?

🎯 Unified Query Intelligence - Single query searches across databases, documents, images, and audio automatically

🧠 Smart Hybrid Routing - AI analyzes query intent and automatically determines optimal search strategy

🗄️ Multi-Database RAG - Query multiple databases simultaneously with natural language

📄 Multi-Modal Intelligence - PDF, Word, Excel, Images (OCR), Audio (Speech-to-Text), and more

🔌 MCP Client Integration - Connect to external MCP servers and extend capabilities with external tools

📁 Automatic File Watching - Monitor folders and automatically index new documents without manual uploads

🧩 Modular Architecture - Strategy Pattern for SQL dialects, scoring, and file parsing

🏠 100% Local Processing - GDPR, KVKK, HIPAA compliant

🚀 Production Ready - Enterprise-grade, thread-safe, high performance

🎯 Real-World Use Cases

1. Banking - Customer Financial Profile

var answer = await searchService.QueryIntelligenceAsync(
    "Which customers have overdue payments and what's their total outstanding balance?"
);
// → Queries Customer DB, Payment DB, Account DB and combines results
// → Provides comprehensive financial risk assessment for credit decisions

2. Healthcare - Patient Care Management

var answer = await searchService.QueryIntelligenceAsync(
    "Show me all patients with diabetes who haven't had their HbA1c checked in 6 months"
);
// → Combines Patient DB, Lab Results DB, Appointment DB and identifies at-risk patients
// → Ensures preventive care compliance and reduces complications

3. Inventory - Supply Chain Optimization

var answer = await searchService.QueryIntelligenceAsync(
    "Which products are running low on stock and which suppliers can restock them fastest?"
);
// → Analyzes Inventory DB, Supplier DB, Order History DB and provides restocking recommendations
// → Prevents stockouts and optimizes supply chain efficiency

🚀 What Makes SmartRAG Special?

  • Native multi-database RAG capabilities for .NET
  • Automatic schema detection across different database types
  • 100% local processing with Ollama and Whisper.net
  • Enterprise-ready with comprehensive error handling and logging
  • Cross-database queries without manual SQL writing
  • Multi-modal intelligence combining documents, databases, and AI
  • MCP Client integration for extending capabilities with external tools
  • Automatic file watching for real-time document indexing

🧪 Examples & Testing

SmartRAG provides comprehensive example applications for different use cases:

📁 Available Examples

examples/
├── SmartRAG.API/          # Complete REST API with Swagger UI
└── SmartRAG.Demo/         # Interactive console application

🚀 Quick Test with Demo

Want to see SmartRAG in action immediately? Try our interactive console demo:

# Clone and run the demo
git clone https://github.com/byerlikaya/SmartRAG.git
cd SmartRAG/examples/SmartRAG.Demo
dotnet run

Prerequisites: You need to have databases and AI services running locally, or use Docker for easy setup.

📖 SmartRAG.Demo README - Complete demo application guide and setup instructions

🐳 Docker Setup (Recommended)

For the easiest experience with all services pre-configured:

# Start all services (SQL Server, MySQL, PostgreSQL, Ollama, Qdrant, Redis)
docker-
View on GitHub
GitHub Stars21
CategoryData
Updated12d ago
Forks7

Languages

C#

Security Score

95/100

Audited on Mar 24, 2026

No findings