真题
真题1:SimpleDirectoryReader方法是干什么的
答案:LlamaIndex提供了SimpleDirectoryReader方法,可以直接将指定文件夹中的文件加载为document对象,对应着解析过程
documents = SimpleDirectoryReader('./docs').load_data()
真题2:如何将索引保存为本地文件?
答案: index.storage_context.persist("knowledge_base/test")
真题2:大模型里面ASSISTANT 、system、user分别是什么角色?
答案:
| 角色 | 职责与特点 | 使用场景示例 |
|---|---|---|
| SYSTEM | 设定对话的全局规则、背景和助手行为模式,仅初始化一次(通常位于对话开头) | {"role": "system", "content": "你是一个严谨的数学老师,用中文分步骤解答问题"} |
| USER | 代表用户输入的问题或指令,驱动对话进程 | {"role": "user", "content": "请解释勾股定理"} |
| ASSISTANT | 模型生成的回复内容,需符合 SYSTEM 的设定规则 | {"role": "assistant", "content": "勾股定理公式为 a² + b² = c²..."} |
单选题(共10题)
- RAG中的"Retrieval"阶段主要负责什么?
A. 生成最终答案
B. 从知识库中检索相关内容 ✅
C. 解析用户输入问题
D. 训练大模型 - 使用LlamaIndex加载本地文档的正确方法是?
A.SimpleDirectoryReader.load_files()
B.SimpleDirectoryReader('./docs').load_data()✅
C.read_documents('docs')
D.FileLoader.import_folder('./docs') - 保存索引文件的代码片段是?
A.index.save("knowledge_base/test")
B.index.storage_context.persist("knowledge_base/test")✅
C.index.export_to_file("test")
D.persist_index(index, "test") - 处理长文本检索效率下降的根本原因是?
A. 模型计算能力不足
B. Embedding模型对长文本效果较差 ✅
C. 硬盘存储空间不足
D. API调用频率受限 - 多轮对话优化的核心方法是?
A. 直接拼接所有历史对话
B. 将用户问题改写为包含历史关键信息的query ✅
C. 限制对话轮次
D. 增加检索次数 - 以下哪项是RAG中Generation阶段的任务?
A. 文档分块处理
B. 基于检索结果生成最终回答 ✅
C. 建立向量索引
D. 用户问题解析 - 索引文件保存后通常会生成什么类型的文件?
A. JSON配置文件
B. 二进制向量索引文件 ✅
C. CSV数据表
D. 文本日志文件 - 当用户提问"请解释量子计算",SYSTEM角色的作用是?
A. 直接生成技术文档
B. 定义回答的专业程度和范围 ✅
C. 存储量子计算知识
D. 解析用户意图 - 以下哪种方法能提升长文本检索效果?
A. 直接截断前100字
B. 基于历史对话动态改写query ✅
C. 增加Embedding维度
D. 使用更大字体存储文本 - ASSISTANT角色对应的是?
A. 用户提问内容
B. 系统初始化设定
C. 大模型生成的回答 ✅
D. 外部知识库数据
多选题(共5题)
- RAG流程的核心阶段包括?
A. Retrieval ✅
B. Validation
C. Generation ✅
D. Compression - LlamaIndex的正确使用步骤可能包含?
A. 加载文档生成索引 ✅
B. 直接修改原始文件内容
C. 持久化存储索引文件 ✅
D. 删除本地文档源文件 - 处理长文本问题的常见方案有?
A. 限制单次输入文本长度 ✅
B. 完全放弃历史对话信息
C. 动态优化用户query ✅
D. 降低Embedding模型精度 - SYSTEM角色的核心功能包括?
A. 生成技术文档
B. 设定回答风格和规则 ✅
C. 存储对话历史
D. 初始化对话边界 ✅ - 在多轮对话中,可能影响检索效果的操作是?
A. 重复设置SYSTEM角色 ✅
B. 动态更新query ✅
C. 清空历史对话记录
D. 固定使用初始query