代理框架集成工具

一个集成Microsoft代理框架和模型上下文协议(MCP)的.NET控制台应用程序,用于访问Microsoft Learn文档并提供交互式AI代理体验。

  • by ppiova
  • C#
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 ppiova/AgentFX-MCP-MicrosoftLearn

使用说明

使用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)

⚙️ 快速设置

  1. 使用Azure进行身份验证:
az login
  1. 配置您的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"
      }
    }
  }
}
  1. 运行项目:
# 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)

🔄 运作原理

  1. 连接到Microsoft Learn MCP服务器(https://learn.microsoft.com/api/mcp)
  2. 发现可用工具(文档搜索、代码示例等)
  3. 使用Azure OpenAI创建AI代理(gpt-5-mini)
  4. 初始化 代理线程 保持对话状态
  5. 代理自动使用MCP工具获取官方文档
  6. AgentThread跟踪整个对话中的所有消息和上下文
  7. 返回带有官方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资源的适当权限

编码愉快! 🎉