Skip to content

ramital/AskBase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 AskBase - RAG System

.NET 8 License Kernel Memory Semantic Kernel

Retrieval-Augmented Generation (RAG) system built with Microsoft Kernel Memory and Semantic Kernel. Transform your documents into an intelligent Q&A assistant in minutes.


✨ Features

  • 🧠 Dual AI Stack - Kernel Memory for RAG + Semantic Kernel for advanced prompting
  • 💬 Multi-Session Chat - Conversation history with follow-up question suggestions
  • 💾 Flexible Storage - Choose between SimpleVectorDb (zero-config) or Qdrant (high-performance)
  • 🎯 Smart Validation - AI-powered answer quality assessment

🏗️ Architecture

┌─────────────────────────────────────────────────────────┐
│                   AskBase API (.NET 8)                  │
├─────────────────────────────────────────────────────────┤
│  Controllers  │  ChatController  │  SystemController    │
├─────────────────────────────────────────────────────────┤
│   Services    │  KernelMemory   │  SemanticKernel      │
│               │  SessionManager │  ConversationManager  │
├─────────────────────────────────────────────────────────┤
│  AI Layer     │  Kernel Memory (RAG Pipeline)           │
│               │  Semantic Kernel (Prompt Engineering)   │
├─────────────────────────────────────────────────────────┤
│ Vector Store  │  SimpleVectorDb  │  Qdrant             │
├─────────────────────────────────────────────────────────┤
│   AI Models   │  Azure OpenAI (GPT-4o + Embeddings)    │
└─────────────────────────────────────────────────────────┘

📸 Demo

AskBase Assistant Demo

Interactive AI assistant with source attribution and follow-up suggestions


🚀 Quick Start

Prerequisites

Setup

  1. Clone the repository

    git clone https://github.com/ramital/AskBase.git
    cd AskBase
  2. Configure Azure OpenAI

    Update appsettings.json:

    {
      "OpenAI": {
        "ApiKey": "your-azure-openai-key",
        "Endpoint": "https://your-resource.openai.azure.com/"
      }
    }
  3. Add your documents

    # Place documents in the Documents folder
    cp your-files.pdf Documents/
  4. Run the application

    dotnet run --project AskBase
  5. Open your browser

    http://localhost:5000
    

📖 Usage

Web Interface

Navigate to http://localhost:5000 for an intuitive chat interface with:

  • Real-time document Q&A
  • Conversation history
  • AI-suggested follow-up questions
  • Source citations

⚙️ Configuration

Vector Storage Options

Choose your vector database in appsettings.json:

SimpleVectorDb (Default - No Docker Required):

{
  "KernelMemory": {
    "VectorStore": "SimpleVectorDb",
    "SimpleVectorDb": {
      "StoragePath": "Documents/.km_vectors"
    }
  }
}

Qdrant (High Performance):

{
  "KernelMemory": {
    "VectorStore": "Qdrant",
    "Qdrant": {
      "Endpoint": "http://localhost:6333"
    }
  }
}

Start Qdrant with Docker:

docker run -d -p 6333:6333 qdrant/qdrant

Production Considerations

  • Use Azure Managed Identity for OpenAI authentication
  • Deploy Qdrant on Azure Container Apps for scale
  • Store secrets in Azure Key Vault
  • Enable Application Insights for monitoring

🛠️ Tech Stack

Component Technology
Framework .NET 8 / ASP.NET Core
AI Orchestration Microsoft Kernel Memory
Prompt Engineering Microsoft Semantic Kernel
Vector Database SimpleVectorDb / Qdrant
LLM Azure OpenAI (GPT-4o)
Embeddings text-embedding-ada-002

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.


📝 License

MIT License

About

Ask questions about your documents using AI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published