使用说明
使用Microsoft Learn MCP的代理框架
两个。NET控制台应用程序演示了 Microsoft代理框架 随着 模型上下文协议(MCP) 访问Microsoft学习文档。
� 项目
1.LearnMcp代理框架
简单演示,只需执行一个问题。非常适合学习基础知识。
2.代理框架副驾驶⭐
具有对话历史、命令和增强UI的交互式ChatGPT风格体验。用途 代理线程 以在多个交互中维护对话上下文和状态。 建议交互式使用。
✨ 主要特点
- 🔌 连接到Microsoft Learn MCP服务器
- 🔍 动态工具发现(搜索、获取、代码示例)
- 🤖 由Azure OpenAI支持的AI代理
- 🧵 代理线程 用于维护对话上下文和状态
- 🧠 记忆存储 用于持久用户上下文和个性化
- 💬 带有对话历史记录的交互式聊天循环
- 📊 实时指标和彩色UI
- 💾 将对话保存到文件
📋 先决条件
- .NET 9.0 SDK
- 带有部署的Azure OpenAI服务
- Azure命令行界面(
az login)
⚙️ 快速设置
- 使用Azure进行身份验证:
az login
- 配置您的Azure OpenAI设置:
编辑 launchSettings.json 在每个项目的 Properties 文件夹:
{
"profiles": {
"AgentFrameworkCopilot": {
"commandName": "Project",
"environmentVariables": {
"AZURE_OPENAI_ENDPOINT": "https://your-resource.openai.azure.com/",
"AZURE_OPENAI_DEPLOYMENT_NAME": "gpt-5-mini"
}
}
}
}
- 运行项目:
# Simple demo
### Option 2: Environment variables in PowerShell
```powershell
$env:AZURE_OPENAI_ENDPOINT = "https://your-resource.openai.azure.com/"
$env:AZURE_OPENAI_DEPLOYMENT_NAME = "gpt-5-mini"
选项3:永久环境变量
[System.Environment]::SetEnvironmentVariable('AZURE_OPENAI_ENDPOINT', 'https://your-resource.openai.azure.com/', 'User')
[System.Environment]::SetEnvironmentVariable('AZURE_OPENAI_DEPLOYMENT_NAME', 'gpt-5-mini', 'User')
🏃 跑
cd AgentFrameworkWithLearnMcp
dotnet run
# Interactive chat (recommended)
cd AgentFrameworkCopilot
dotnet run
💬 交互式命令
一旦跑步 AgentFrameworkCopilot:
| 命令 | 描述 |
|---|---|
/help |
显示可用命令 |
/clear |
开始新对话 |
/history |
查看对话历史记录 |
/memory |
显示所有存储的记忆 |
/profile |
显示用户配置文件信息 |
/save |
将对话保存到文件 |
/exit |
退出应用程序 |
📦 依赖项
Azure.AI.OpenAI(2.5.0-beta.1)Azure.Identity(1.17.0)Microsoft.Agents.AI.OpenAI(1.0.0-预览.251028.1)ModelContextProtocol(0.4.0-复习。3)
🔄 运作原理
- 连接到Microsoft Learn MCP服务器(https://learn.microsoft.com/api/mcp)
- 发现可用工具(文档搜索、代码示例等)
- 使用Azure OpenAI创建AI代理(
gpt-5-mini) - 初始化 代理线程 保持对话状态
- 代理自动使用MCP工具获取官方文档
- AgentThread跟踪整个对话中的所有消息和上下文
- 返回带有官方Microsoft Learn参考的答案
🧵 关于代理线程
代理线程 是Microsoft代理框架的关键组件,它:
- 在多个用户交互中维护对话上下文
- 自动跟踪所有消息(用户查询和代理响应)
- 在代理运行之间保留状态
- 使用内存实现多回合对话
- 可以用重置
/clear命令开始新的对话
🧠 关于内存存储
这 记忆存储 提供持久的上下文和个性化功能:
- 用户档案:存储个人信息(姓名、职务、兴趣、位置)
- 情境意识:代理在对话中记住用户偏好和详细信息
- 自定义记忆:任何用户特定数据的可扩展键值存储
- 与系统提示集成:内存上下文会自动注入代理指令中
- 命令:
/memory-查看所有存储的记忆/profile-显示格式化的用户配置文件
默认用户配置文件
应用程序加载默认配置文件进行演示:
Name: Pablo Piovano
Nickname: Pablito Piova
Title: Microsoft MVP
Interests: Café, Cocinar Asados Argentinos, Viajar
Location: Sunchales, Santa Fe
Country: Argentina
您可以通过编辑来自定义配置文件 LoadDefaultUserProfile() 方法in Program.cs.
🔐 认证
用途 AzureCliCredential 用于Azure身份验证。确保您拥有:
- 已安装Azure CLI
- 通过身份验证
az login - Azure OpenAI资源的适当权限
编码愉快! 🎉