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

  •  
  •  
  •