AI面试·中档题
1. 在RAG系统中,如何平衡检索的召回率和精确率?你会采用哪些策略?
答案: 可以通过多路检索(如关键词+向量)、重排序(Reranker)、调整检索块大小、使用混合检索(RAG-Fusion)等。例如,先用向量检索召回Top-K,再用交叉编码器重排序,提高精确率。
2. 你提到对Qwen2.5-0.5B进行微调,请说明微调数据的构造方法和注意事项。
答案: 对于医疗问答,需要收集领域相关的问答对或指令数据。构造时需确保数据质量、多样性,避免偏见和错误信息。注意事项:① 数据清洗(去重、去除噪声),② 平衡不同疾病/问题类型,③ 加入否定样本(如"不知道"的回答),④ 验证数据合规性(如脱敏)。
3. 自然语言转SQL任务中,如何解决用户问题的歧义性和复杂查询(如多表Join、子查询)?
答案: 可通过:① 提供数据库Schema信息(表结构、字段注释)给模型;② 使用Few-shot示例引导;③ 结合Function Calling让模型分步生成SQL;④ 对于复杂查询,可设计多步Agent,先识别实体再生成子查询。另外,可加入语法校验和重试机制。
4. 你使用LangGraph管理Agent流程,请说明LangGraph相比LangChain的Agent有什么优势?
答案: LangGraph基于图结构定义Agent的工作流,支持循环、分支、并行等复杂逻辑,更灵活地控制多智能体协作和状态管理。而LangChain的Agent通常是线性或简单循环,难以处理复杂多步交互。LangGraph适用于需要动态规划和多智能体协同的场景。
5. 在RAG系统中,如何评估检索模块的效果?你会使用哪些指标?
答案: 常用指标包括:命中率(Hit Rate)、平均倒数排名(MRR)、归一化折扣累积增益(NDCG)等。此外,可结合下游生成任务评估,如答案的忠实度(Faithfulness)与检索内容的相关性。
6. 你提到对模型进行量化部署(Ollama, vLLM),请比较这两种工具的特点。
答案: Ollama是一个简化的大模型运行工具,支持一键部署和调用,适合本地快速测试。vLLM则专注于高吞吐量推理,通过PagedAttention和连续批处理优化,适合生产环境。两者都支持量化模型,但vLLM更强调性能。
7. 在医疗器械领域微调模型,如何保证生成内容的准确性和安全性?
答案: 需采取多重措施:① 使用高质量、权威的医疗数据(如指南、药品说明书)微调;② 加入安全护栏,如拒绝回答超出范围的问题;③ 结合RAG实时检索最新医学知识;④ 进行严格的医学专家评估和测试;⑤ 遵守医疗法规(如FDA对AI软件的要求)。
8. 请解释RAG中的"Advanced RAG"和"RAG-Fusion"分别指什么?
答案: Advanced RAG通常指在基础RAG上引入优化技术,如多路检索、重排序、查询重写、元数据过滤等。RAG-Fusion是一种结合多种检索结果(如向量检索与关键词检索)并融合排序的技术,可能通过倒数排名融合(RRF)或学习排序模型。
9. 你在动态SQL生成项目中使用了Deepseek,请说明Deepseek模型在处理复杂指令方面的优势。
答案: Deepseek模型在代码生成和逻辑推理方面表现优异,其训练数据包含大量代码,对结构化输出支持好。在Function Calling场景中,Deepseek能准确识别需要调用外部函数的时机,并生成符合格式的参数,减少解析错误。
10. 你在医疗项目中用Bert-Score评估微调效果,为什么选择这个指标?它有什么局限性?
答案: Bert-Score利用BERT的上下文嵌入计算生成文本与参考答案的相似度,能更好捕捉语义而非字面匹配。局限性:① 对专业术语可能不敏感;② 依赖于BERT模型本身的质量;③ 无法评估事实正确性,需结合人工或医学知识库验证。