演示指南
1612 字约 5 分钟
2026-03-31
本文档提供一组精心设计的示例问题,用于演示 DataMind 的 Agent 如何自动调度不同模块来回答问题。每个问题都标注了预期触发的模块,方便你验证系统是否正常工作。
使用方式:启动 Web 界面 (
python server.py) 或终端 (python main.py),依次输入下面的问题。
1. RAG 知识库检索
RAG 模块从 profile 目录下的文档中检索语义相关的内容。
| # | 示例问题 | 预期行为 |
|---|---|---|
| 1.1 | DataMind 支持哪些文档格式? | 检索 sample.txt,返回 PDF/TXT/MD/DOCX 等 |
| 1.2 | 这个项目使用了什么向量数据库? | 检索到 Chroma 相关描述 |
| 1.3 | RAG 检索的核心原理是什么? | 检索到向量化 + 余弦相似度的描述 |
| 1.4 | LlamaIndex 提供了哪些功能? | 检索到数据连接器、索引结构、查询接口 |
2. 多模态 RAG 检索
多模态 RAG 能够从图片中提取信息并用于检索问答。需要先切换到多模态 demo profile:
DATA_PROFILE=mm_demo IMAGE_EMBEDDING_MODE=vlm_describe python server.py内置的 mm_demo profile 包含文本 + 图片混合数据(data/profiles/mm_demo/),其中三张图片分别展示了系统架构图、检索策略对比柱状图和知识图谱可视化。
| # | 示例问题 | 预期行为 |
|---|---|---|
| 2.1 | 系统架构有哪几层?每层包含什么组件? | VLM 从 arch.png 提取架构信息,回答包含 Data Layer / Service Layer / API Gateway 等 |
| 2.2 | 哪种检索策略的召回率最高?具体是多少? | VLM 从 chart.png 读取柱状图数据,回答包含 Hybrid 91% 等具体数值 |
| 2.3 | 知识图谱中有哪些实体和关系? | VLM 从 graph.png 提取图谱结构,回答包含实体节点数和关系边数 |
注意:多模态模式下首次启动会调用 VLM API(如 GPT-4o)为图片生成文本描述,之后会缓存在索引中。
3. GraphRAG 图谱检索
GraphRAG 模块通过知识图谱的实体和关系进行多跳推理。
| # | 示例问题 | 预期行为 |
|---|---|---|
| 3.1 | DataMind 基于什么框架? | 图谱推理: DataMind → 基于 → LlamaIndex |
| 3.2 | DataMind 包含哪些模块? | 图谱推理: DataMind → 包含模块 → RAG/GraphRAG/NL2SQL |
| 3.3 | RAG 向量检索使用了什么技术? | 图谱推理: RAG向量检索 → 使用技术 → Chroma |
| 3.4 | LlamaIndex 和 Python 是什么关系? | 图谱推理: LlamaIndex → 是 → Python框架 |
4. Database 数据库查询
Database 模块将自然语言转换为 SQL 查询,在 SQLite 中执行。
当前 demo 数据库包含:
- employees 表: 8 名员工 (张三、李四、王五、赵六、孙七、周八、吴九、郑十)
- projects 表: 4 个项目 (RAG智能助手、数据分析平台、移动端App、品牌推广)
| # | 示例问题 | 预期行为 |
|---|---|---|
| 4.1 | 工程部有几个人? | SQL: SELECT COUNT(*) ... WHERE department='工程部' → 4 |
| 4.2 | 谁的工资最高? | SQL: ORDER BY salary DESC LIMIT 1 → 孙七 45000 |
| 4.3 | 北京的员工有哪些? | SQL: WHERE city='北京' → 张三、王五、孙七、郑十 |
| 4.4 | 预算超过 20 万的项目有哪些? | SQL: WHERE budget > 200000 → RAG智能助手、数据分析平台 |
| 4.5 | RAG 智能助手项目的负责人是谁? | SQL: JOIN employees 和 projects → 孙七 |
| 4.6 | 各部门的平均工资是多少? | SQL: GROUP BY department + AVG(salary) |
5. Skills 知识型技能
Skills 知识模块从 data/skills/ 下的 Markdown 文件中检索操作流程和最佳实践。
| # | 示例问题 | 预期行为 |
|---|---|---|
| 5.1 | 数据库备份的最佳策略是什么? | 检索 SOP,返回全量+增量备份策略 |
| 5.2 | 数据库慢查询怎么排查? | 检索 SOP,返回慢查询分析步骤 |
| 5.3 | 代码审查应该重点关注什么? | 检索审查指南,返回功能正确性/代码质量/安全性/性能 |
| 5.4 | Code Review 的反馈应该怎么写? | 检索审查指南,返回 MUST/SHOULD/NICE 分级 |
| 5.5 | 数据库故障排查的步骤? | 检索 SOP 故障排查清单 |
6. Skills 工具型技能
工具型技能是 Python 函数,Agent 自动调用获取精确结果。
| # | 示例问题 | 预期行为 |
|---|---|---|
| 6.1 | 现在几点了? | 调用 get_current_time → 返回当前日期时间 |
| 6.2 | 计算 sqrt(144) + 3^4 | 调用 calculator → 12 + 81 = 93 |
| 6.3 | 100 公里等于多少英里? | 调用 unit_convert → 62.14 mile |
| 6.4 | 25 摄氏度等于多少华氏度? | 调用 unit_convert → 77°F |
7. Memory 对话记忆
Memory 模块让 Agent 记住对话上下文。需要连续提问来验证。
| # | 操作 | 预期行为 |
|---|---|---|
| 7.1 | 先问: 工程部有几个人? | 正常回答: 4 个 |
| 7.2 | 再问: 他们分别是谁? | Agent 记得上文在讨论"工程部",返回张三、李四、孙七、吴九 |
| 7.3 | 再问: 其中谁的工资最高? | Agent 记得上下文,回答: 孙七 45000 |
| 7.4 | 问: 我刚才问了什么? | Agent 基于记忆回顾之前的对话内容 |
8. 多模块联动
以下问题可能触发 Agent 同时调用多个工具,体现智能调度能力。
| # | 示例问题 | 预期触发模块 |
|---|---|---|
| 8.1 | DataMind 用了什么技术栈?各模块分别用了什么? | RAG + GraphRAG |
| 8.2 | 工资最高的员工负责的是哪个项目?这个项目预算多少,折合多少美元? | Database + calculator |
| 8.3 | 数据库出了性能问题,应该怎么排查?先帮我看看当前数据库有哪些表 | Skills + Database |
| 8.4 | 今天是几号?帮我算一下如果按全量备份策略,30天前的备份应该从哪天开始保留? | get_current_time + calculator + Skills |
9. 普通闲聊
以下问题 Agent 会直接用 LLM 回答,不需要调用任何工具。
| # | 示例问题 | 预期行为 |
|---|---|---|
| 9.1 | 你好! | 直接打招呼 |
| 9.2 | 你能做什么? | 介绍自身能力 |
| 9.3 | 给我讲个笑话 | 直接生成内容 |
推荐演示流程
如果要做一个完整的演示,推荐按以下顺序:
- RAG: 问
DataMind 支持哪些文档格式? - 多模态 RAG: 切换到
mm_demoprofile,问系统架构有哪几层? - GraphRAG: 问
DataMind 包含哪些模块? - Database: 问
谁的工资最高? - Skills: 问
数据库备份的最佳策略是什么? - Tool: 问
现在几点了? - Memory: 问
工程部有几个人?然后问他们分别是谁? - 联动: 问
工资最高的员工负责哪个项目?预算折合多少美元?
提示:可以打开 Web 界面右侧面板,在提问的同时查看各模块的状态变化。
