Skip to content

telerik/telerik-blazor-progress-rag-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

34 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Progress Agentic RAG + Telerik Blazor UI Demo

A comprehensive demo application showcasing the powerful integration between Progress Agentic RAG AI-powered search capabilities and Telerik Blazor UI components. This application demonstrates how to build intelligent, data-driven interfaces that combine enterprise-grade AI retrieval with beautiful, functional user interfaces.

Live Demo

πŸš€ Product Links

πŸ“‹ Overview

This demo application illustrates how to:

  • Integrate Progress Agentic RAG with Blazor Server applications
  • Build intelligent search experiences with AI-powered responses
  • Create interactive data visualizations with AI-generated insights
  • Develop conversational AI interfaces with streaming responses
  • Generate customized content based on user inputs

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                         Blazor Server Application                   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚   Razor Pages   β”‚  β”‚ Shared Components β”‚  β”‚    Services       β”‚  β”‚
β”‚  β”‚                 β”‚  β”‚                 β”‚  β”‚                   β”‚  β”‚
β”‚  β”‚  - Index        β”‚  β”‚  - ChatMessage  β”‚  β”‚  - NucliaSearch   β”‚  β”‚
β”‚  β”‚  - AISearch     β”‚  β”‚  - SearchInput  β”‚  β”‚    Service        β”‚  β”‚
β”‚  β”‚  - Financial    β”‚  β”‚  - MarkdownContentβ”‚ β”‚                   β”‚  β”‚
β”‚  β”‚    Analysis     β”‚  β”‚  - GradientLoaderβ”‚  β”‚                   β”‚  β”‚
β”‚  β”‚  - Knowledge    β”‚  β”‚  - DrawerComponentβ”‚ β”‚                   β”‚  β”‚
β”‚  β”‚    Assistant    β”‚  β”‚  - ChatMessageBoxβ”‚  β”‚                   β”‚  β”‚
β”‚  β”‚  - AgenticRag   β”‚  β”‚                 β”‚  β”‚                   β”‚  β”‚
β”‚  β”‚    Value        β”‚  β”‚                 β”‚  β”‚                   β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                       Telerik UI for Blazor                         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚  Chat Β· Charts Β· Buttons Β· TextArea Β· ToggleButton Β· etc.  β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                        Progress Nuclia SDK                          β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚  NucliaDbClient Β· AskAsync Β· AskStreamAsync Β· Search API    β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                        Progress Agentic RAG                         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚  Knowledge Boxes Β· AI Search Β· Streaming Responses          β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Key Components

Layer Technology Purpose
Frontend Blazor Server Server-side rendering with real-time updates via SignalR
UI Components Telerik UI for Blazor Enterprise-grade UI components (Chat, Charts, Forms)
AI Integration Progress Nuclia SDK .NET client for Progress Agentic RAG APIs
AI Backend Progress Agentic RAG AI-powered knowledge retrieval and generation

πŸ“± Demo Pages

1. Home Page (/)

The landing page featuring a search bar and navigation to all demo experiences. Users can start exploring the AI capabilities directly from here.

2. Intelligent Search (/ai-search)

An AI-powered search interface that:

  • Provides intelligent responses to natural language queries
  • Supports streaming responses for real-time feedback
  • Displays AI-generated answers with markdown formatting
  • Offers popular search suggestions

3. Financial Analysis (/finance-analysis)

A conversational AI assistant for financial data analysis:

  • Chat-based interface using Telerik Chat component
  • AI-generated chart visualizations using Telerik Charts
  • Financial insights for companies like Apple, Google, NVIDIA, and more
  • Dynamic chart expansion and thumbnail previews

4. Knowledge Assistant (/knowledge-assistant)

A documentation assistant that:

  • Answers questions about KendoReact and related technologies
  • Provides streaming conversational responses
  • Features a drawer navigation component
  • Supports chat suggestions for quick queries

5. Agentic RAG Value Proposition (/value-proposition)

A dynamic value proposition generator that:

  • Creates customized proposals based on user inputs
  • Supports industry, company size, data types, and use case selection
  • Generates AI-powered content with markdown formatting
  • Demonstrates form-based AI interaction patterns

πŸ› οΈ Technology Stack

  • .NET 9.0
  • Blazor Server - Server-side Blazor with SignalR
  • Telerik UI for Blazor 12.0.0 - Professional UI component suite
  • Progress Nuclia SDK 0.1.0-preview.9 - AI integration library

πŸ“¦ Prerequisites

Before running this project, ensure you have:

  1. .NET 9.0 SDK - Download here

  2. Telerik UI for Blazor License or Trial

  3. Progress Agentic RAG Account

πŸš€ Getting Started

1. Clone the Repository

git clone https://github.com/telerik/telerik-blazor-progress-rag-demo.git
cd telerik-blazor-progress-rag-demo

2. Configure NuGet Package Sources

The Telerik packages require the Telerik NuGet feed. Add it to your NuGet configuration:

dotnet nuget add source "https://nuget.telerik.com/v3/index.json" \
  --name "TelerikNuGet" \
  --username "<your-telerik-email>" \
  --password "<your-telerik-password>"

Note: Replace <your-telerik-email> and <your-telerik-password> with your Telerik account credentials.

3. Configure Progress Agentic RAG

Update the blazor-progress-rag-demo/appsettings.json file with your Progress Agentic RAG credentials:

{
  "NucliaDb": {
    "ZoneId": "europe-1",
    "KnowledgeBoxId": "<your-knowledge-box-id>",
    "ApiKey": "<your-api-key>"
  },
  "NucliaDbCharts": {
    "ZoneId": "aws-eu-central-1-1",
    "KnowledgeBoxId": "<your-charts-knowledge-box-id>",
    "ApiKey": "<your-charts-api-key>"
  },
  "NucliaDbVerse": {
    "ZoneId": "aws-us-east-2-1",
    "KnowledgeBoxId": "<your-verse-knowledge-box-id>",
    "ApiKey": "<your-verse-api-key>"
  }
}

Security Note: For production deployments, use environment variables or user secrets instead of storing credentials in configuration files.

4. Restore Dependencies

Navigate to the project directory and restore dependencies:

cd blazor-progress-rag-demo
dotnet restore

5. Run the Application

dotnet run

The application will start on https://localhost:5001 (or the port configured in your launch settings).

Alternatively, run from the repository root:

dotnet run --project blazor-progress-rag-demo

πŸ”§ Configuration

Environment Variables

For production deployments, configure the following environment variables:

Variable Description
NucliaDb__ZoneId Zone ID for the default Knowledge Box
NucliaDb__KnowledgeBoxId Knowledge Box ID for general queries
NucliaDb__ApiKey API Key for the default Knowledge Box
NucliaDbCharts__ZoneId Zone ID for the charts Knowledge Box
NucliaDbCharts__KnowledgeBoxId Knowledge Box ID for financial data
NucliaDbCharts__ApiKey API Key for the charts Knowledge Box
NucliaDbVerse__ZoneId Zone ID for the verse Knowledge Box
NucliaDbVerse__KnowledgeBoxId Knowledge Box ID for documentation
NucliaDbVerse__ApiKey API Key for the verse Knowledge Box

User Secrets (Development)

For local development, use .NET user secrets from the project directory:

cd blazor-progress-rag-demo
dotnet user-secrets init
dotnet user-secrets set "NucliaDb:ApiKey" "<your-api-key>"
dotnet user-secrets set "NucliaDb:KnowledgeBoxId" "<your-knowledge-box-id>"
# ... and so on for other secrets

πŸ“‚ Project Structure

telerik-blazor-progress-rag-demo/
β”œβ”€β”€ blazor-progress-rag-demo/
β”‚   β”œβ”€β”€ Pages/
β”‚   β”‚   β”œβ”€β”€ Index.razor           # Home page
β”‚   β”‚   β”œβ”€β”€ AISearch.razor        # Intelligent search
β”‚   β”‚   β”œβ”€β”€ FinancialAnalysis.razor # Financial analysis chat
β”‚   β”‚   β”œβ”€β”€ KnowledgeAssistant.razor # Documentation assistant
β”‚   β”‚   └── AgenticRagValue.razor # Value proposition generator
β”‚   β”œβ”€β”€ Shared/
β”‚   β”‚   β”œβ”€β”€ MainLayout.razor      # Main application layout
β”‚   β”‚   β”œβ”€β”€ ChatMessage.razor     # Chat message component
β”‚   β”‚   β”œβ”€β”€ ChatMessageBox.razor  # Chat input component
β”‚   β”‚   β”œβ”€β”€ SearchInput.razor     # Search input component
β”‚   β”‚   β”œβ”€β”€ MarkdownContent.razor # Markdown rendering
β”‚   β”‚   └── ...                   # Other shared components
β”‚   β”œβ”€β”€ Services/
β”‚   β”‚   β”œβ”€β”€ NucliaSearchService.cs # Progress Agentic RAG integration
β”‚   β”‚   β”œβ”€β”€ ChartModels.cs        # Chart data models
β”‚   β”‚   └── Schemas.cs            # JSON schemas for AI responses
β”‚   β”œβ”€β”€ wwwroot/                  # Static assets
β”‚   β”œβ”€β”€ Program.cs                # Application entry point
β”‚   └── appsettings.json          # Configuration
β”œβ”€β”€ blazor-progress-rag-demo.sln  # Solution file
└── README.md                     # This file

🀝 Contributing

Contributions are welcome! Please feel free to submit issues and pull requests.

πŸ“„ License

This project is provided for demonstration purposes. Please refer to the individual product licenses:

πŸ“ž Support


Built with ❀️ using Progress Agentic RAG and Telerik UI for Blazor

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •