Multi-Modal RAG for .NET β query databases, documents, images & audio in natural language
dotnet add package SmartRAGbuilder.Services.UseSmartRAG(builder.Configuration,
aiProvider: AIProvider.OpenAI,
storageProvider: StorageProvider.InMemory
);{
"SmartRAG": {
"DatabaseConnections": [
{
"Name": "Sales",
"ConnectionString": "Server=localhost;Database=Sales;...",
"DatabaseType": "SqlServer"
}
]
}
}// Upload document
var document = await documentService.UploadDocumentAsync(
fileStream, fileName, contentType, "user-123"
);
// Query across databases and documents
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 queries SQL Server (orders), MySQL (payments), PostgreSQL (customer data),
// analyzes uploaded PDF contracts, OCR-scanned invoices, and transcribed call recordingsWant to test SmartRAG immediately? β Jump to Examples & Testing
π― Multi-Database RAG - Query multiple databases simultaneously with natural language
π§ Multi-Modal Intelligence - PDF, Word, Excel, Images, Audio, and more
π 100% Local Processing - GDPR, KVKK, HIPAA compliant
π Production Ready - Enterprise-grade, thread-safe, high performance
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 decisionsvar 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 complicationsvar 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- Only .NET library with native multi-database RAG capabilities
- 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
SmartRAG provides comprehensive example applications for different use cases:
examples/
βββ SmartRAG.API/ # Complete REST API with Swagger UI
βββ SmartRAG.Demo/ # Interactive console application
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 runPrerequisites: 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
For the easiest experience with all services pre-configured:
# Start all services (SQL Server, MySQL, PostgreSQL, Ollama, Qdrant, Redis)
docker-compose up -d
# Setup AI models
docker exec -it smartrag-ollama ollama pull llama3.2
docker exec -it smartrag-ollama ollama pull nomic-embed-textπ Complete Docker Setup Guide - Detailed Docker configuration, troubleshooting, and management
π Database Management:
- Step 1-2: Show connections & health check
- Step 3-5: Create test databases (SQL Server, MySQL, PostgreSQL)
- Step 6: View database schemas and relationships
π€ AI & Query Testing:
- Step 7: Query analysis - see how natural language converts to SQL
- Step 8: Automatic test queries - pre-built scenarios
- Step 9: Multi-database AI queries - ask questions across all databases
π Local AI Setup:
- Step 10: Setup Ollama models for 100% local processing
- Step 11: Test vector stores (InMemory, Redis, SQLite, Qdrant)
π Document Processing:
- Step 12: Upload documents (PDF, Word, Excel, Images, Audio)
- Step 13: List and manage uploaded documents
- Step 14: Multi-modal RAG - combine documents + databases
- Step 15: Clear documents for fresh testing
Perfect for: Quick evaluation, proof-of-concept, team demos, learning SmartRAG capabilities
π Complete Examples & Testing Guide - Step-by-step tutorials and test scenarios
π Databases: SQL Server, MySQL, PostgreSQL, SQLite
π Documents: PDF, Word, Excel, PowerPoint, Images, Audio
π€ AI Models: OpenAI, Anthropic, Ollama (local), LM Studio
ποΈ Vector Stores: Qdrant, Redis, SQLite, InMemory
| Feature | SmartRAG | LM-Kit.NET | Semantic Kernel | LangChain.NET |
|---|---|---|---|---|
| Library Owner | BarΔ±Ε Yerlikaya | LM-Kit (France) | Microsoft | LangChain Community |
| Description | Multi-database RAG library for .NET | Generative AI SDK for .NET applications | AI orchestration framework | .NET port of LangChain framework |
| RAG Support | β | β | β | β |
| Memory Management | β | β | β | β |
| Vector Stores | β | β | β | β |
| AI Model Integration | β | β | β | β |
| Plugin/Extension System | β | β | β | β |
| Multi-Modal | β | β | β | β |
| Local AI | β | β | β | β |
| Audio | β | β | β | β |
| OCR | β | β | β | β |
| On-Premise | β | β | β | β |
| Fallback Providers* | β | β | β | β |
| Retry Policies* | β | β | β | β |
| Batch Embeddings* | β | β | β | β |
| Hybrid Search* | β | β | β | β |
| Session Management* | β | β | β | β |
| Cross-DB JOIN* | β | β | β | β |
| Multi-DB RAG* | β | β | β | β |
| Databases* | β | β | β | β |
SmartRAG Exclusive Features (*):
- Fallback Providers: Automatic failover to backup AI providers when primary fails
- Retry Policies: Configurable retry with FixedDelay, LinearBackoff, ExponentialBackoff
- Batch Embeddings: Efficient batch processing for multiple texts simultaneously
- Hybrid Search: Semantic + keyword hybrid algorithm (80% semantic, 20% keyword)
- Session Management: Persistent conversation continuity across app restarts
- Cross-DB JOIN: AI-powered intelligent joins across different databases
- Multi-DB RAG: Native multi-database query coordination
- Databases: Native support for SQL Server, MySQL, PostgreSQL, SQLite
This project is licensed under the MIT License - see the LICENSE file for details.
Built with β€οΈ by BarΔ±Ε Yerlikaya