自测题:LlamaIndex 组件与工具(第 2 单元)
到目前为止,我们已经讨论了 LlamaIndex 的关键组件和工具。 是时候做个小测验了,因为自我测试是最好的学习方式,也能避免能力错觉。 这将帮助您发现哪些知识需要加强。
本测验为可选项目,不计入成绩。
问题 1:什么是 QueryEngine?
以下哪项最能描述 QueryEngine 组件?
- A. 仅处理静态文本且不具备检索能力的系统
- B. 在 RAG 过程中负责查找和检索相关信息的组件
- C. 仅存储向量嵌入而不具备搜索功能的工具
- D. 仅用于评估响应质量的组件
答案:B。QueryEngine 在 RAG 流程中负责检索与处理相关信息;A 缺少检索能力,C 局限于存储嵌入,D 把功能误解为质量评估。
问题 2:FunctionTools 的作用是什么?
为什么 FunctionTools 对 Agent 很重要?
- A. 用于处理大量数据存储
- B. 将 Python 函数转换为 Agent 可使用的工具
- C. 允许 Agent 创建随机函数定义
- D. 仅处理文本数据
答案:B。FunctionTools 通过封装 Python 函数使其可供 Agent 调用;A 错在“数据存储”,C 错在“随机”,D 错在“仅文本”。
问题 3:LlamaIndex 中的 Toolspecs 是什么?
Toolspecs 的主要目的是什么?
- A. 它们是冗余的组件,不提供实际功能
- B. 社区创建的工具集合,用于扩展 Agent 能力
- C. 专门用于内存管理
- D. 仅支持文本处理
答案:B。Toolspecs 是社区共享、可复用的工具集合,用于扩展 Agent 能力;A 低估其作用,C 错在“内存管理”,D 错在“仅文本”。
问题 4:创建工具时需要什么?
创建工具时必须包含哪些信息?
- A. 必须定义函数、名称和描述
- B. 仅需名称
- C. 仅需描述
- D. 仅需函数
答案:D。创建工具时只需提供函数,名称和描述默认从函数名与文档字符串解析;A/B/C 都额外要求了非必需字段。
恭喜完成测验!如果有错误,请重新阅读章节巩固知识。如果全部正确,您已准备好深入学习这些组件的构建了!
小结
- QueryEngine:在 RAG 中负责查找与检索相关信息,而非静态处理或纯存储。
- FunctionTools:把 Python 函数封装为 Agent 可调用的工具。
- Toolspecs:社区共享的工具集合,用于扩展 Agent 能力。
- 创建工具:只需提供函数,名称与描述可由函数名和文档字符串自动解析。