/eShopSupport

A reference .NET application using AI for a customer support ticketing system

Primary LanguageJavaScriptMIT LicenseMIT

eShopSupport

A sample .NET application showcasing common use cases and development practices for build AI solutions in .NET (Generative AI, specifically). This sample demonstrates a customer support application for an e-commerce website using a services-based architecture with .NET Aspire. It includes support for the following AI use cases:

  • Text classification, applying labels based on content
  • Sentiment analysis based on message content
  • Summarization of large sets of text
  • Synthetic data generation, creating test content for the sample
  • Chat bot interactions with chat history and suggested responses

This sample also demonstrates the following development practices:

  • Developing a solution locally, using small local models
  • Evaluating the quality of AI responses using grounded Q&A data
  • Leveraging Python projects as part of a .NET Aspire solution
  • Deploying the application, including small local models, to the Cloud (coming soon)

Architecture

image

Getting Started

Prerequisites

Windows with Visual Studio

Mac, Linux, & Windows without Visual Studio

Install Python requirements

From the Terminal, at the root of the cloned repo, run:

pip install -r src/PythonInference/requirements.txt

Note: If the above command doesn't work on Windows, use the following command:

py -m pip install -r src/PythonInference/requirements.txt

Running the solution

Warning

Remember to ensure that Docker is started.

  • (Windows only) Run the application from Visual Studio:

    • Open the eShopSupport.sln file in Visual Studio
    • Ensure that AppHost is your startup project
    • Hit Ctrl-F5 to launch .NET Aspire
  • Or run the application from your terminal:

    dotnet run --project src/AppHost

    then look for lines like this in the console output in order to find the URL to open the Aspire dashboard:

    Login to the dashboard at: http://localhost:17191/login?t=uniquelogincodeforyou

You may need to install ASP.NET Core HTTPS development certificates first, and then close all browser tabs. Learn more at https://aka.ms/aspnet/https-trust-dev-cert

Contributing

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Sample data

The sample data is defined in seeddata. All products/descriptions/brands, manuals, customers, and support tickets names are fictional and were generated using GPT-35-Turbo using the included DataGenerator project.