Ai Agent、ai应用开发面经面试题2

一些自己在网上搜刮的面经题目路过的牛爷爷可以试着答一答,附上自己的答案,如果有更好的答案也可以拷打我,如果有别的比较好的题目也可以评论里发一发。

如何评估 RAG 效果?指标是什么?

分层评估:

  1. 检索质量评估:看如HitRate(命中率),Recall(召回率)等指标
  2. 生成质量评估:看如相关性(是否切题)、忠诚度(生成是否基于检索内容生成)、完整性(生成答案是否完整)
  3. 用户满意度测评:答案是否满意,检索速度够不够块。

RAG 和微调怎么取舍?

RAG适合更新频率高,存在隐私数据以及需要可解性性要求高需要稳定输出的场景。

微调适合需要特定规则以及语气的使用场景。

这两个技术在大部分场景下都不是互斥的,一般一个成熟的系统需要结合使用

多路召回怎么做?

多路召回的目的是解决某一种检索方式的缺陷。

比如向量检索对于专有名词,精确匹配方面逊色。在实际应用中可以结合如BM25或倒排索引做多路召回,

具体怎么做多路召回要看实际使用场景做调整。

如何降低 RAG 的延迟?

  1. 缓存机制:将使用率高的项放入缓存,命中直接召回。
  2. HNSW索引:将原本的索引换成HNSW。
  3. 减少TOP-K:减少TOP-K的数量。
  4. 向量维度:减少向量维度。

如何解决幻觉问题?

  1. Prompt优化:提示词中强制要求不许捏造事实,并且允许模型在不知道的情况下拒绝回复。
  2. RAG:使用检索增强生成技术
  3. 模型优化:调低Temperature、top-p、top-k等参数

如何让模型输出稳定格式?

  1. 结构化生成:大部分模型原生支持结构化输出。
  2. prompt优化:使用提示词强制约束格式、以及加入few-shot。
  3. 模型微调:使用特定格式的数据训练微调模型。
  4. 生成后检验:生成后进行检验如果不是所需格式进行重新生成。

LLM 调用很慢怎么办?

  1. 加入缓存:命中直接返回,或者以一个模型做检验然后返回
  2. 减少token输入:优化prompt、做输出约束等。
  3. 模型优化:使用更轻量的模型、量化、蒸馏等。

如何做缓存?

使用LRU(最近最少使用淘汰)+TTL(固定时间淘汰)兼顾热度于时效。

返回分两步首先精确匹配、如没匹配到进行语义匹配,被精确匹配的直接返回,语义匹配的返回前再一次经过模型做一次检验

#我的求职进度条##牛客解忧铺#
全部评论

相关推荐

05-19 16:41
复旦大学 Python
ynq2126:我一直觉得现在考算法题没啥意义 真要选拔人才不如把公司实际项目中遇到的问题当成一系列场景题抛给求职者答 这才是能检测能力的东西
点赞 评论 收藏
分享
评论
点赞
4
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务