# MAF-Study-MooSQL **Repository Path**: rainlime/maf-study-moo-sql ## Basic Information - **Project Name**: MAF-Study-MooSQL - **Description**: 微软MAF框架学习和案例测试 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-04-04 - **Last Updated**: 2026-08-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: MAF, dotNET, AI ## README # MAF-Study-MooSQL ## 项目介绍 MAF-Study-MooSQL 是一个基于 Microsoft.Agents.AI 框架的学习和测试项目。该项目演示了如何使用 Microsoft.Agents.AI 框架构建智能对话应用,包括基础聊天、多轮对话、记忆管理和工具调用等核心功能。 ## 软件架构 本项目采用 ASP.NET Core Web API 架构,集成了 Microsoft.Agents.AI 框架: - **控制器层 (Controllers)**:处理 HTTP 请求,提供 AI 聊天测试接口 - **AI 层 (AI)**:核心 AI 功能实现 - **Frags**:各种对话模式的实现(基础聊天、多轮对话、记忆、工具调用) - **Memory**:自定义记忆组件,用于存储和提取用户信息 - **配置层 (Configration)**:管理 LLM 模型配置 ### 核心组件 | 组件 | 说明 | |------|------| | `AIChatTestController` | AI 聊天测试控制器,提供多种对话模式测试接口 | | `AICash` | AI 客户端管理类,负责创建和缓存 ChatClient 实例 | | `Frag` | 对话功能片段,包含基础聊天、多轮对话、记忆、工具调用等实现 | | `UserInfoMemory` | 自定义记忆组件,实现用户信息的存储和提取 | | `UserInfo` | 用户信息模型,存储用户名和年龄 | ## 技术栈 - .NET 10.0 - ASP.NET Core Web API - Microsoft.Agents.AI - Microsoft.Agents.AI.OpenAI - OpenAI SDK(兼容阿里云百炼 API) ## 快速开始 ### 环境要求 - .NET 10.0 SDK 或更高版本 - Visual Studio 2022 / VS Code - 阿里云百炼 API Key ### 安装步骤 1. 克隆项目到本地: ```bash git clone https://gitee.com/rainlime/maf-study-moo-sql.git ``` 2. 进入项目目录: ```bash cd maf-study-moo-sql/src ``` 3. 配置 API Key: 编辑 `Configration/llm.json` 文件,填入你的阿里云百炼 API Key: ```json { "ModelProvider": { "Endpoint": "https://dashscope.aliyuncs.com/compatible-mode/v1", "ApiKey": "your-api-key-here", "ModelId": "qwen-plus" } } ``` 4. 还原依赖包: ```bash dotnet restore ``` 5. 运行项目: ```bash dotnet run ``` ## API 参考 ### AIChatTestController | 方法 | 路径 | 描述 | |------|------|------| | GET | /qw/Heelo/QianWen | 基础聊天测试 | | GET | /qw/Heelo/many | 多轮对话测试 | | GET | /qw/Heelo/memory | 记忆功能测试 | | GET | /qw/Heelo/tools | 工具调用测试 | ### 功能说明 #### 1. 基础聊天 (BasicChat) 演示最基本的 AI 对话功能,创建一个智能助手并与之进行单次对话。 #### 2. 多轮对话 (ManyChat) 演示多轮对话功能,支持: - 会话上下文保持 - 流式响应输出 - 角色扮演(如讲冷笑话、模仿特定语气) #### 3. 记忆管理 (MemoryChat) 演示自定义记忆组件的使用: - 自动提取用户信息(姓名、年龄) - 会话状态序列化与反序列化 - 跨会话记忆共享 #### 4. 工具调用 (AddToolChat) 演示 AI 函数工具调用: - 定义自定义工具函数 - 自动识别用户意图并调用相应工具 - 支持流式工具调用响应 ## 项目结构 ``` ├── src/ │ ├── AI/ │ │ ├── Frags/ │ │ │ ├── Frag.Basis.cs # 基础聊天实现 │ │ │ ├── Frag.MultiTurn.cs # 多轮对话实现 │ │ │ ├── Frag.Memory.cs # 记忆功能实现 │ │ │ └── Frag.AddTool.cs # 工具调用实现 │ │ ├── Memory/ │ │ │ ├── UserInfo.cs # 用户信息模型 │ │ │ └── UserInfoMemory.cs # 自定义记忆组件 │ │ └── AICash.cs # AI 客户端管理 │ ├── Configration/ │ │ └── llm.json # LLM 配置文件 │ ├── Controllers/ │ │ └── AIChatTestController.cs # AI 测试控制器 │ ├── Properties/ │ │ └── launchSettings.json # 启动配置 │ ├── Program.cs # 程序入口 │ ├── WeatherForecast.cs # 天气数据模型 │ ├── appsettings.json # 应用配置 │ └── apiALdemo.csproj # 项目文件 ├── LICENSE ├── README.md └── README.en.md ``` ## 核心依赖 | 包名 | 版本 | 说明 | |------|------|------| | Microsoft.Agents.AI | 1.0.0 | Microsoft AI Agent 框架核心库 | | Microsoft.Agents.AI.OpenAI | 1.0.0 | OpenAI 兼容的 Agent 实现 | | Microsoft.AspNetCore.OpenApi | 10.0.5 | OpenAPI 支持 | ## 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request ## 开源协议 本项目遵循 MIT 协议开源。 ## 获取帮助 - 访问 [Gitee 官方博客](https://blog.gitee.com) 了解最新动态 - 探索 [Gitee 优秀开源项目](https://gitee.com/explore) 学习更多 - 查看 [Gitee 帮助手册](https://gitee.com/help) 获取使用指导