Ai Agent、ai应用开发面经面试题2
一些自己在网上搜刮的面经题目路过的牛爷爷可以试着答一答,附上自己的答案,如果有更好的答案也可以拷打我,如果有别的比较好的题目也可以评论里发一发。
如何评估 RAG 效果?指标是什么?
分层评估:
- 检索质量评估:看如HitRate(命中率),Recall(召回率)等指标
- 生成质量评估:看如相关性(是否切题)、忠诚度(生成是否基于检索内容生成)、完整性(生成答案是否完整)
- 用户满意度测评:答案是否满意,检索速度够不够块。
RAG 和微调怎么取舍?
RAG适合更新频率高,存在隐私数据以及需要可解性性要求高需要稳定输出的场景。
微调适合需要特定规则以及语气的使用场景。
这两个技术在大部分场景下都不是互斥的,一般一个成熟的系统需要结合使用
多路召回怎么做?
多路召回的目的是解决某一种检索方式的缺陷。
比如向量检索对于专有名词,精确匹配方面逊色。在实际应用中可以结合如BM25或倒排索引做多路召回,
具体怎么做多路召回要看实际使用场景做调整。
如何降低 RAG 的延迟?
- 缓存机制:将使用率高的项放入缓存,命中直接召回。
- HNSW索引:将原本的索引换成HNSW。
- 减少TOP-K:减少TOP-K的数量。
- 向量维度:减少向量维度。
如何解决幻觉问题?
- Prompt优化:提示词中强制要求不许捏造事实,并且允许模型在不知道的情况下拒绝回复。
- RAG:使用检索增强生成技术
- 模型优化:调低Temperature、top-p、top-k等参数
如何让模型输出稳定格式?
- 结构化生成:大部分模型原生支持结构化输出。
- prompt优化:使用提示词强制约束格式、以及加入few-shot。
- 模型微调:使用特定格式的数据训练微调模型。
- 生成后检验:生成后进行检验如果不是所需格式进行重新生成。
LLM 调用很慢怎么办?
- 加入缓存:命中直接返回,或者以一个模型做检验然后返回
- 减少token输入:优化prompt、做输出约束等。
- 模型优化:使用更轻量的模型、量化、蒸馏等。
如何做缓存?
使用LRU(最近最少使用淘汰)+TTL(固定时间淘汰)兼顾热度于时效。
返回分两步首先精确匹配、如没匹配到进行语义匹配,被精确匹配的直接返回,语义匹配的返回前再一次经过模型做一次检验
#我的求职进度条##牛客解忧铺#