azure-search-openai-demo-csharp  by Azure-Samples

.NET sample app for ChatGPT-like experience over enterprise data

created 2 years ago
776 stars

Top 45.9% on sourcepulse

GitHubView on GitHub
Project Summary

This C# sample app demonstrates the Retrieval-Augmented Generation (RAG) pattern for building ChatGPT-like experiences over private data using Azure OpenAI and Azure AI Search. It's designed for developers and researchers looking to integrate LLMs with enterprise data for Q&A and conversational interfaces. The solution provides a user-friendly interface with features like citations, source tracking, and configurable prompt settings, enabling efficient and trustworthy AI-powered data interaction.

How It Works

The application employs a Blazor WebAssembly frontend for user interaction and an ASP.NET Core Minimal API backend for orchestration. Azure AI Search indexes documents from Azure Blob Storage, enabling vector search capabilities. Azure OpenAI Service provides access to large language models (e.g., GPT-4o-mini) for response generation. Semantic Kernel is utilized to manage complex AI workflows, integrating the LLM with the search retriever for context-aware responses.

Quick Start & Requirements

  • Install/Run: Use the Azure Developer CLI (azd). Key commands include azd auth login, azd env new, and azd up.
  • Prerequisites: Azure Account, Azure Developer CLI, .NET 8, Git, PowerShell 7+ (Windows), Docker.
  • Setup: GitHub Codespaces or local setup with the aforementioned tools.
  • Resources: Deploys Azure Container Apps, Azure AI Search, Azure AI Document Intelligence, Azure Blob Storage, and Azure Monitor. Free tiers are available with limitations.
  • Docs: Transform your business with smart .NET apps powered by Azure and ChatGPT

Highlighted Details

  • Supports voice chat and multi-modal (vision) capabilities with GPT-4o-mini.
  • Offers options for enabling Application Insights for performance monitoring and Azure Active Directory for authentication.
  • Provides guidance on productionizing, including OpenAI capacity, storage resiliency, search scaling, and container app configuration.
  • Demonstrates effective data chunking strategies to manage LLM token limits and maintain context.

Maintenance & Community

This is an official Azure sample, indicating active maintenance by Microsoft. Further community engagement details are not explicitly provided in the README.

Licensing & Compatibility

The repository is licensed under the MIT License, permitting commercial use and integration with closed-source applications.

Limitations & Caveats

The sample deploys resources that incur costs by default; free tiers have usage limitations. Re-indexing is required when enabling vision support due to schema changes in the search index. Production readiness requires thorough security and performance reviews.

Health Check
Last commit

4 days ago

Responsiveness

Inactive

Pull Requests (30d)
4
Issues (30d)
2
Star History
41 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.