Token导航 LogoToken导航TokenDH.com
Dotnet AI E2e logo
运维云端未说明官方级别未说明来源级核验

Dotnet AI E2e

MCP Server

一个展示完整.NET AI技术栈的端到端客户支持场景演示应用,涵盖多智能体工作流、外部工具调用、情感分析和实时聊天界面。

工具数

4

提示词数

0

GitHub Stars

6

资源数

0
人工智能多智能体系统C#ClaudeClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

luisquintanilla

提供方

luisquintanilla

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Contoso电子人工智能支持——端到端。NET人工智能演示

一个全面的演示应用程序,展示了 满了。NET人工智能堆栈 在现实的客户支持场景中 dotnet run 该命令启动6个相互连接的服务,这些服务可以摄取产品文档、编排多代理工作流、通过MCP调用外部工具、使用Python分析情绪,并提供流式Sequencechat UI——所有这些都可以通过Aspire仪表板观察到。

这表明了什么

技术它在这里做什么
微软。扩展。AI(MEAI)IChatClient / IEmbeddingGenerator 无处不在的抽象概念——零供应商锁定
微软代理框架(MAF)3个代理(研究、情感、响应)同时组成→顺序工作流
模型上下文协议(MCP)MCP服务器公开订单查找、保修检查和更换工具
数据摄入+矢量数据Markdown文档→ 语义块→ 带自动嵌入的SQLite矢量存储
.NET Aspire通过服务发现、健康检查和分布式跟踪协调所有服务
Python多边形FastAPI+拥抱脸 transformers 用于确定性情绪分析
AI评估5个测试场景×6个HTML报告的质量评估员

建筑

┌──────────────────────────────────────────────────────────────┐
│                   ContosoSupport.AppHost                     │
│                  (Aspire Orchestration)                      │
├──────────────────────────────────────────────────────────────┤
│                                                              │
│  ┌─────────────┐    ┌──────────────────────────────────────┐ │
│  │  Azure       │    │     ContosoSupport.AgentWorker       │ │
│  │  OpenAI      │◄───│  ┌───────────┐  ┌───────────────┐   │ │
│  │  - gpt-4.1   │    │  │ Research   │  │ Sentiment     │   │ │
│  │  - embedding │    │  │ Agent      │  │ Proxy Agent   │   │ │
│  └──────┬───────┘    │  │ (LLM +     │  │ (→ Python)    │   │ │
│         │            │  │  vectors)  │  │               │   │ │
│         │            │  └─────┬─────┘  └───────┬───────┘   │ │
│         │            │        └──── concurrent ────┘        │ │
│  ┌──────▼───────┐    │               │                      │ │
│  │  Ingestion   │    │        ┌──────▼──────┐               │ │
│  │  Worker      │    │        │  Response   │               │ │
│  │  (markdown   │    │        │  Agent      │               │ │
│  │   → vectors) │    │        │  (LLM + MCP │               │ │
│  └──────┬───────┘    │        │   tools)    │               │ │
│         │            │        └─────────────┘               │ │
│   ┌─────▼─────┐      └──────────────────────────────────────┘ │
│   │  SQLite   │                    ▲                          │
│   │  Vector   │◄───────────────────┘  (search)               │
│   │  Store    │                                              │
│   └───────────┘      ┌──────────────┐   ┌────────────────┐   │
│                      │  MCP Server  │   │  Python        │   │
│                      │  - orders    │   │  Sentiment     │   │
│                      │  - warranty  │   │  (HuggingFace) │   │
│                      │  - replace   │   │  FastAPI       │   │
│                      └──────────────┘   └────────────────┘   │
│                                                              │
│   ┌──────────────────────────┐   ┌────────────────────────┐  │
│   │  ContosoSupport.Web     │   │  Aspire Dashboard      │  │
│   │  (Blazor Chat UI)       │   │  (traces/logs/metrics) │  │
│   └──────────────────────────┘   └────────────────────────┘  │
└──────────────────────────────────────────────────────────────┘

请求流:用户消息→ DateTimeWeb→ 代理人→ 研究‖情感(并发)→ 响应(顺序,使用MCP工具)→ 流式回复

快速开始

选项A:GitHub代码空间(推荐)

最快的跑步方式-- 无需本地设置.

](https://codespaces.new/luisquintanilla/dotnet-ai-e2e?quickstart=1)

  1. 单击上面的按钮(或 Code → 代码空间→ 新代码空间)
  2. 等待devcontainer构建(约2分钟——安装.NET 10、Python 3.12、uv、Aspire CLI)
  3. 配置您的Azure OpenAI连接:
cd ContosoSupport/ContosoSupport.AppHost

# Managed Identity (recommended — no API key needed)
az login
dotnet user-secrets set "ConnectionStrings:openai" "https://YOUR-ACCOUNT.openai.azure.com/"

# Or with an API Key
dotnet user-secrets set "ConnectionStrings:openai" "Endpoint=https://YOUR-ACCOUNT.openai.azure.com/;Key=YOUR-API-KEY"
  1. 运行所有内容:
cd ContosoSupport
aspire run
  1. 打开 网络 从Aspire仪表板的端点开始聊天!
Azure OpenAI要求:你需要一个Azure OpenAI资源 gpt-4.1text-embedding-3-small 模型部署。对于托管身份,请确保您的帐户具有 认知服务OpenAI用户 角色。

______________________________________________________________________

方案B:地方发展

Prerequisites for local setup

# 1. Clone and build
git clone https://github.com/YOUR-ORG/dotnet-ai-e2e.git
cd dotnet-ai-e2e
dotnet build ContosoSupport

# 2. Configure Azure OpenAI credentials
cd ContosoSupport/ContosoSupport.AppHost
dotnet user-secrets set "ConnectionStrings:openai" "https://YOUR-ACCOUNT.openai.azure.com/"
cd ..

# 3. Run everything
aspire run              # or: dotnet run --project ContosoSupport.AppHost

Aspire启动所有6项服务,并打开仪表板,显示健康状态、分布式跟踪、结构化日志和OpenTetry指标。

试试看

打开 网络 Aspire仪表板中显示的端点。尝试以下提示:

  • *“告诉我X500耳机的情况”* --tests研究代理+矢量搜索
  • *“我的耳机在2个月后坏了,订购ORD-2025-1001”* --测试保修检查+MCP工具
  • *“这是我第三次打电话了!没人帮我!!”* --测试情绪代理(负面)+移情反应

项目结构

dotnet-ai-e2e/
├── .devcontainer/                         # Codespaces / devcontainer config
├── ContosoSupport/                        # .NET solution
│   ├── ContosoSupport.slnx               # Solution file
│   ├── ContosoSupport.AppHost/           # Aspire orchestration
│   ├── ContosoSupport.ServiceDefaults/   # Shared OTel + service discovery
│   ├── ContosoSupport.Shared/            # Shared models (IngestedChunk)
│   ├── ContosoSupport.Ingestion/         # Worker: markdown → vector store
│   │   └── data/                         #   15 mock Contoso documents
│   ├── ContosoSupport.AgentWorker/       # MAF agents + workflow
│   ├── ContosoSupport.McpServer/         # MCP tools (orders, warranty)
│   ├── ContosoSupport.Web/              # Blazor chat frontend
│   ├── ContosoSupport.Evaluation/       # AI quality evaluation (xUnit)
│   ├── PythonSentiment/                 # Python FastAPI sentiment service
│   │   ├── pyproject.toml
│   │   └── src/main.py
│   ├── docs/                             # Layer-by-layer walkthrough
│   └── README.md                         # Solution-level readme
└── README.md                            # ← You are here

技术栈深潜

第1层——MEAI基础

每项服务都使用 IChatClientIEmbeddingGenerator 来自微软。扩展。AI。这意味着将Azure OpenAI替换为Ollama、Anthropic或任何其他提供商需要更改一行注册码——业务逻辑不变。

第二层——知识(数据摄入+矢量数据)

Ingestion工人看着 data/ 目录。当markdown文件更改时,它会通过一个 SemanticSimilarityChunker,通过以下方式生成嵌入 text-embedding-3-small,并将其存储在SQLite矢量数据库中。AgentWorker的研究代理查询同一个数据库。

第3层——业务集成(MCP)

MCP服务器公开了4个带有模拟数据的工具: lookup_order, get_customer_orders, check_warranty, initiate_replacement响应代理通过模型上下文协议发现并调用这些工具,该协议与Claude、Cursor和其他AI工具使用的标准相同。

第4层——代理智能(MAF)

三个专业代理组成了一个工作流程:

  • 研究代理:LLM+矢量搜索工具→ 查找相关产品文档
  • 情感代理:自定义 AIAgent 子类→ 调用Python服务(无LLM成本)
  • 响应代理:LLM+MCP工具→ 代表客户采取行动

研究和情绪运行 同时,然后将它们的组合上下文输入到Response中 依次.

第5层——多边形(Python)

情感分析使用HuggingFace transformers --一个不需要LLM的已解决的ML问题。Python服务通过Aspire的 AddUvicornApp() 自动地 uv 依赖性管理。

第6层——编排(Aspire)

aspire run (或 dotnet run --project ContosoSupport.AppHost)启动一切:。NET服务、Python服务、服务发现、健康检查和可观察性仪表板。

第7层——质量(AI评估)

5个测试场景根据6个质量指标(相关性、基础性、连贯性、流畅性、完整性、检索性)评估系统。与一起跑步 dotnet test 并生成HTML报告 dotnet aieval report.

运行评估

# Set the judge LLM credentials (same Azure OpenAI or a different one)
cd ContosoSupport\ContosoSupport.Evaluation
# Set via environment variables or appsettings

# Run the evaluation suite
dotnet test ContosoSupport\ContosoSupport.Evaluation

# Generate HTML report
cd ContosoSupport
dotnet aieval report

文档

ContosoSupport/docs/ 有关详细的逐层文档:

文档主题
概述架构和技术栈
01-基础微软。扩展。AI
02--知识数据摄入+矢量数据
03--集成模型上下文协议
04-情报Microsoft代理框架
05--多边形Python情绪分析
06--编排.NET Aspire
07--质量AI评估
08--请求流端到端跟踪演练
冒烟测试分步手动测试指南

模拟数据

ContosoSupport.Ingestion/data/ 目录包含15个逼真的Contoso Electronics文档(复制以自动生成输出):

类别文件示例
产品(5)contoso-x500-headphones.md, contoso-s200-speaker.md, ...规格、定价、保修期
政策(5)warranty-policy.md, return-policy.md, ...业务规则、流程步骤
支持(5)troubleshooting-headphones.md, faq-orders.md, ...如何操作,升级路径

模拟订单和客户被硬编码在 ContosoSupport.McpServer/MockData.cs.

许可证

这是一个用于教育目的的演示/示例应用程序。

目录标签

目录标签

人工智能多智能体系统C#Claude本地部署客户支持情感分析实时聊天数据向量化

支持客户端

ClaudeCursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明api-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP