https://github.com/adricwht/aspire-ai-chat-demo

https://github.com/adricwht/aspire-ai-chat-demo

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.3%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: adricwht
  • Language: C#
  • Default Branch: main
  • Size: 350 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme

README.md

Aspire AI Chat

Aspire AI Chat is a full-stack chat sample that combines modern technologies to deliver a ChatGPT-like experience.

High-Level Overview

  • Backend API:
    The backend is built with ASP.NET Core and interacts with an LLM using Microsoft.Extensions.AI. It leverages IChatClient to abstract the interaction between the API and the model. Chat responses are streamed back to the client using stream JSON array responses.

  • Data & Persistence:
    Uses Entity Framework Core with CosmosDB for flexible, cloud-based NoSQL storage. This project utilizes the new preview CosmosDB emulator for efficient local development.

  • AI & Chat Capabilities:

    • Uses Ollama (via OllamaSharp) for local inference, enabling context-aware responses.
    • In production, the application switches to Azure OpenAI for LLM capabilities.
  • Frontend UI:
    Built with React, the user interface offers a modern and interactive chat experience. The React application is built and hosted using Caddy.

Getting Started

Prerequisites

Running the Application

Run the AIChat.AppHost project. This project uses
.NET Aspire
to run the application in a container.

Configuration

  • By default, the application uses Ollama for local inference.
  • To use Azure OpenAI, set the appropriate configuration values (e.g., API keys, endpoints).
  • Ensure CosmosDB Emulator is running locally or configure an external CosmosDB instance.

Owner

  • Name: Adric White
  • Login: adricwht
  • Kind: user
  • Location: Vallejo, CA

Senior Software Engineer | React/Next.js, Angular, Vue | AI, Python, C#/.NET, Node.js, Java

GitHub Events

Total
Last Year

Dependencies

AIChat.ServiceDefaults/AIChat.ServiceDefaults.csproj nuget
  • Microsoft.Extensions.Http.Resilience 9.0.0
  • Microsoft.Extensions.ServiceDiscovery 9.0.0
  • OpenTelemetry.Exporter.OpenTelemetryProtocol 1.9.0
  • OpenTelemetry.Extensions.Hosting 1.9.0
  • OpenTelemetry.Instrumentation.AspNetCore 1.9.0
  • OpenTelemetry.Instrumentation.Http 1.9.0
  • OpenTelemetry.Instrumentation.Runtime 1.9.0
ChatApi/ChatApi.csproj nuget
  • Aspire.Azure.AI.OpenAI 9.1.0-preview.1.25118.7
  • Aspire.Microsoft.EntityFrameworkCore.Cosmos 9.1.0-preview.1.25118.7
  • Aspire.StackExchange.Redis 9.1.0-preview.1.25118.7
  • CommunityToolkit.Aspire.OllamaSharp 9.1.0
  • Microsoft.Extensions.AI.AzureAIInference 9.3.0-preview.1.25114.11
  • OllamaSharp 5.0.7
chatui/Dockerfile docker
  • caddy 2.6-alpine build
  • node 22 build
chatui/package-lock.json npm
  • 219 dependencies
chatui/package.json npm
  • @types/node ^22.13.8 development
  • @types/react ^19.0.10 development
  • @types/react-dom ^19.0.4 development
  • @types/react-router-dom ^5.3.3 development
  • @types/react-window ^1.8.8 development
  • @vitejs/plugin-react ^4.3.4 development
  • typescript ^5.8.2 development
  • vite ^6.1.1 development
  • @microsoft/signalr ^8.0.7
  • denque ^2.1.0
  • react ^19.0.0
  • react-dom ^19.0.0
  • react-markdown ^9.0.3
  • react-router-dom ^7.2.0
  • react-window ^1.8.11
AIChat.AppHost/AIChat.AppHost.csproj nuget
  • Aspire.Hosting.AppHost 9.1.0
  • Aspire.Hosting.Azure.AppContainers 9.1.0
  • Aspire.Hosting.Azure.CognitiveServices 9.1.0
  • Aspire.Hosting.Azure.CosmosDB 9.1.0
  • Aspire.Hosting.NodeJs 9.1.0
  • Aspire.Hosting.Redis 9.1.0
  • CommunityToolkit.Aspire.Hosting.NodeJS.Extensions 9.2.0
  • CommunityToolkit.Aspire.Hosting.Ollama 9.2.0