Today we’re featuring a sample application, called eShop. You can read the entire blog post and steps for running the application here: eShop infused with AI – a comprehensive intelligent app sample – .NET Blog
Below, we have a brief summary of eShop and the integration with Semantic Kernel.
Introducing eShop “support with AI” edition
The AI-enhanced eShopSupport application is a support site that customers use to inquire about products. The eShop staff have a workflow for tracking these inquiries, conversing with the customers, and categorizing and eventually closing these inquiries. Through a variety of features, this sample moves past the popular “chatbot” scenario to illustrate several ways AI can boost your developer productivity while increasing the level of individualized customer support you are able to provide.
This demo illustrates how AI can be used to enhance a variety of features in an existing line-of-business application and is not just for “green field” or new apps. For example, why not enhance your search with semantic search that can find things even when the user doesn’t type the exact phrase or use proper spelling? Do you need to add new languages to your app? Large language models, or LLMs, are capable of handling multiple language inputs and outputs. Do you have a lot of data you sift through to find trends? Use the LLM to help summarize your data. If it is going into a pipeline, consider automating classification and sentiment analysis.
The demo also uses .NET Aspire to take advantage of its ability to orchestrate across services, data stores, containers, and even technologies. Python is a popular language in the data science world, but that doesn’t mean you have to switch everything to Python or even convert Python to C#. This example shows one approach to interoperability and hosts a Python microservice using .NET Aspire.
Features
AI-related features in the sample include:
Feature | Description | Code implementation |
---|---|---|
Semantic search | Find things without knowing an exact phrase or description and even with improper spelling | src / Backend / Services / SemanticSeach |
Summarization | Avoid “getting in the weeds” to re-read history to gain context and just focus on the relevant bits | src / Backend / Services / TicketSummarizer |
Classification | Automate workflows without requiring human intervention | src / PythonInference / routers / classifier |
Sentiment scoring | Help triage and prioritize feedback and discussions to understand how well a product or campaign is received | src / Backend / Services / TicketSummarizer |
Internal Q&A chatbot | Help staff answer technical and business related questions with citations for proof, and auto-generate the draft of the reply | src / ServiceDefaults / Clients / Backend / StaffBackendClient |
Test data generation | Generate large volumes of data based on the rules you provide | seeddata / DataGenerator / Generators |
Evaluation tool | Objectively score the behavior of your bots/agents based on accuracy, speed, and cost, and systematically improve them over time | src / Evaluator / Program |
E2E testing | An example (experimental) approach to providing deterministic test gates when the product itself is not deterministic | test / E2ETest |
.NET Aspire is used to manage the resources such as LLMs and databases. Microsoft.Extensions.AI is a set of common building blocks and primitives for intelligent apps. Developers benefit by using a standard set of APIs to perform common tasks, while library and framework providers can build on these common, standard interfaces and classes to provide a consistent experience throughout the .NET ecosystem. As the Semantic Kernel team announced in their blog, the Microsoft.Extensions.AI release does not replace Semantic Kernel. Instead, it provides a set of abstractions, APIs, and primitive building blocks that will be implemented by Semantic Kernel along with additional features like semantic chunking.
Conclusion
As next steps you can clone and run it locally by following the instructions here: https://devblogs.microsoft.com/dotnet/e-shop-infused-with-ai-comprehensive-intelligent-dotnet-app-sample/#instructions-for-cloning-and-running-locally
Please reach out if you have any questions or feedback through our Semantic Kernel GitHub Discussion Channel. We look forward to hearing from you! We would also love your support — if you’ve enjoyed using Semantic Kernel, give us a star on GitHub.
0 comments