chat-copilot  by microsoft

LLM chat copilot sample application for educational purposes

created 2 years ago
2,400 stars

Top 19.6% on sourcepulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

This project provides a sample application for building an integrated LLM chat copilot, targeting developers and researchers interested in leveraging AI within web applications. It demonstrates the use of Microsoft Semantic Kernel to create a full-stack chat experience with a React frontend, .NET backend API, and a worker service for semantic memory, offering a practical starting point for custom AI assistants.

How It Works

The application is architected into three core components: a React web app for the user interface, a .NET web API for backend logic and AI orchestration, and a .NET worker service for asynchronous processing of semantic memory. It integrates with Azure OpenAI or OpenAI for LLM capabilities, utilizing models like GPT-4o and text-embedding-ada-002. The design emphasizes modularity, allowing for separate deployment and scaling of frontend, backend, and memory processing.

Quick Start & Requirements

  • Install: Clone the repository and run platform-specific setup scripts (scripts/Install.ps1 for Windows, scripts/install-apt.sh or scripts/install-brew.sh for Linux/macOS).
  • Prerequisites: .NET 8.0 SDK, Node.js, Yarn, Git, and an Azure OpenAI or OpenAI account with API keys and deployed models (gpt-4o, text-embedding-ada-002 recommended).
  • Configuration: Run scripts/Configure.ps1 (Windows) or scripts/configure.sh (Linux/macOS) with AI service details.
  • Run: Execute scripts/Start.ps1 (Windows) or scripts/start.sh (Linux/macOS).
  • Docs: Microsoft Learn

Highlighted Details

  • Demonstrates integration of Semantic Kernel with web applications.
  • Supports both OpenAI and Azure OpenAI services.
  • Includes optional Azure AD authentication for secure deployments.
  • Features an optional Ms Graph API plugin using the On-Behalf-Of flow.

Maintenance & Community

The project is maintained by the Microsoft Semantic Kernel team. Community engagement is encouraged via GitHub discussions, bug reports, and contributions. A Discord community is available for further interaction.

Licensing & Compatibility

Licensed under the MIT license. This permissive license allows for commercial use and integration into closed-source projects.

Limitations & Caveats

This sample application is explicitly stated as NOT FOR PRODUCTION DEPLOYMENTS and is intended for educational purposes only. The Ms Graph API plugin currently only supports GET operations and does not implement incremental consent. Users may incur costs from Azure OpenAI/OpenAI token usage.

Health Check
Last commit

6 months ago

Responsiveness

1 week

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

Explore Similar Projects

Feedback? Help us improve.