因为摸鱼太久导致被美团二面暴打,我痛定思痛决定好好学一下。

现在准备秋招了,上个星期面了字节和奇绩创坛,前两天面了美团,很快,上午投的,晚上就面了,

然后面完发现确实玩了太久了,这博客也好久没更新了,赶紧加班加点学一下噻。

那么不说废话了。

先讲讲RAG是什么?

这个RAG我讲过很多次了,(现在看到这里基本上是3.0版本了,现在的东西就不算速成的内容了,我说过我要写教程,写大众通识的内容,所以要深入浅出完整的讲。)

 

这个东西本质上算外置大脑,在模型进行给出内容之前先检索再生成。

 那么RAG 解决了什么问题或者有什么用?

幻觉

知识过时(现在一般通过联网解决问题)

无法访问私有/特定领域数据

那么RAG的核心工作流程是什么?

第一阶段:检索

在你知识库准备好之后,我们需要对数据集进行分块处理,

太大不行(大了加了还不如不加),太小也不行(太少容易丢东西)。

然后进行向量化:

使用嵌入模型(Embedding Model) 将每个文本块转换为一个高维向量(即一组数字),这个向量可以表征文本的语义。

讲一下嵌入层和嵌入模型的区别:

这里就用人家的了,至于神经网络有什么东西请移步机器学习的部分。

总结一:关系与区别

特性

Embedding层

嵌入模型 (Embedding Model)

本质

神经网络中的一个组件/层

一个完整的、独立的模型

输入

单个单词/物品的索引(ID)

一段文本(句子、段落等)

输出

一个静态的、与上下文无关的向量

一个动态的、包含上下文信息的语义向量

核心机制

查表(Look-up Table)

Transformer编码器 + 自注意力机制 + 汇聚

类比

字典:给你一个词,返回它的定义。

语言专家:给你一句话,他理解后告诉你这句话的核心意思

那么高维向量是矩阵集合吗?

不是,这个就是向量,带方向的数字罢了,不过一堆batch组成的算矩阵集合。

 存储:将这些向量及其对应的原始文本存储到向量数据库

在线检索(用户提问):

当用户问题时,将问题也转换为一个向量。

将这个“问题向量”送入向量数据库,进行相似性搜索,快速找出与问题向量最相似的几个文本块。

 

那么怎么筛选最相似的文本块?

然后我就要给你讲搜广推的东西了:

1:给他设置一个分数,如果低于90分的就不要。

2:重排序模型:

先粗排-过滤-精排,

分别有top-k(第一次排序的数量,先筛多点,k一般是50到200)需要高召回率;

然后是top-n(再筛选完送回LLM的文本数量,n一般是1到5)

然后拿到top-n上传LLM。

3:元数据模型:

就是给出标注让他自己搜。

 

第二阶段:增强生成

构建增强提示(Prompt):

这里大伙就熟悉了,就是提示词问什么,

这个提示通常类似于:

 “请严格根据以下提供的信息来回答问题。如果信息中不包含答案,请直接说'根据已知信息无法回答'。

 【信息开始】

{这里插入从向量数据库检索到的相关文本}

【信息结束】

 问题:{用户的问题}”

 模型生成答案:

 大语言模型(LLM)的上下文窗口现在不仅包含了用户的问题,更重要的是包含了解决问题所需的确切知识。

 或者是这样:

你是一个法律专家,你需要按照。。。。。。

你会用百度,基本上用ai基本没问题。

RAG怎么优化?

那么根据上面怎么来的,就怎么优化,

1:数据优化:

这个数据要出重,降噪,还有文本分割。

1.1:这个文本分割怎么做?

常规都是按照章节,段落句子去分,然后设置一点固定tokens,

同时有一级标题和二级标题,或者子类。

这会就加上关键字(元数据)作者,时间之类的。

 

2:检索优化:

2.1:选择对应的模型和数据同时进行嵌入增强(就是扩展/压缩语义让他听得懂)

2.2:加上上下文召回之类的,还有上述的粗排+精排。

2.3:换向量数据库和修改索引对应参数。

 

3:其他的方面优化:

3.1给他整个缓存记录回答,

3.2更新迭代

3.3加个监控核心指标之类的。

#聊聊我眼中的AI##面试问题记录##创作激励计划##牛客创作赏金赛#
全部评论

相关推荐

问了流程, 两轮技术,一轮HR面。【面试问题】1️⃣ 请先简单做一下自我介绍。2️⃣ 你的专业方向是软件工程和计算机科学吗?3️⃣ 刚才提到的三个项目中,请你挑一个最具复杂度或最有代表性的,详细讲讲项目背景、核心难点及实现思路。9️⃣ 项目上线后实际发现过xxx吗?🔟 请介绍一下你参加过的竞赛经历及在团队中的角色。1️⃣1️⃣ 你对未来的职业规划是什么?1️⃣2️⃣ 对工作地点有偏好吗?1️⃣3️⃣ 你认为当前 AI 相比人类有哪些优势和劣势?1️⃣4️⃣ 你觉得 AI 最先能在哪些领域替代或辅助人类?1️⃣5️⃣ 如果让你设计一个 AI 优化方案,你会聚焦在哪个方向?1️⃣6️⃣ 在日常学习或项目实践中,做得好的人与做得不好的人差距体现在哪里?1️⃣7️⃣ 针对知识基础薄弱的情况,你有哪些快速提升的方法?1️⃣8️⃣ 你平时通过哪些英文渠道获取技术信息?1️⃣9️⃣ 面对紧急项目需要快速决策时,你会如何思考并行动?2️⃣0️⃣ 请你现场完成一道算法题,并在 15分钟内提交代码。二叉树最大路径和(124. 二叉树中的最大路径和  )没想到这题竟然是hard, 做出来了。2️⃣1️⃣ 请讲解一下你刚才算法题的解题思路与复杂度。2️⃣2️⃣ 目前是否已有其他公司的 offer?2️⃣3️⃣ 你在项目中使用过 PostgreSQL、Redis 吗?请简述使用场景。2️⃣4️⃣ PostgreSQL的索引结构有哪些?B+ 树与哈希索引各自优缺点?2️⃣5️⃣ PostgreSQL 与 MySQL 在底层实现或功能扩展上有什么区别?2️⃣6️⃣ 时序数据库与普通关系型数据库在需求上有哪些不同?2️⃣7️⃣ MVCC 的实现原理是什么?Read View 的作用?2️⃣8️⃣ 解释“可重复读”隔离级别。2️⃣9️⃣ Redis 最基础的数据结构有哪些?3️⃣0️⃣ Redis 的 Stream 数据结构如何用作消息队列?3️⃣1️⃣ Redis 为什么快?3️⃣2️⃣ 如何理解 IO 多路复用?3️⃣3️⃣ select 与 epoll 的区别?3️⃣4️⃣ io_uring 是什么?相对 epoll 的优势?3️⃣5️⃣ 深拷贝与浅拷贝的区别?3️⃣6️⃣ 乐观锁与悲观锁的区别?3️⃣7️⃣ 如何解决哈希冲突?3️⃣8️⃣ 介绍部门的主要业务方向,有什么想了解的吗?业务听起来很核心。3️⃣9️⃣ 美团整体面试流程有几轮?两轮技术,一轮HR面。
美团一面2294人在聊
点赞 评论 收藏
分享
昨天 10:58
已编辑
暨南大学 产品经理
投递腾讯等公司10个岗位
点赞 评论 收藏
分享
评论
3
2
分享

创作者周榜

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