AI面试相关之RAG与Doris(JAVA)
最仅段段开始复习并面试了,但是市场行情还是差点意思,段段把最近学的和面试的,以及段段做的AIGC项目做个小总结,希望能对大家带来帮助。
不得不感叹AI进步速度之快,我们这帮研发天天研究用AI革自己的命,属于是没有办法的办法了,在这个巨大变革的时代,我们也不得不跟进潮流,防止淘汰了,闲话少说,上干货。
本文主要讲解RAG架构,RAG定义,Doris数据仓湖,Doris分区分桶,贪多嚼不烂,先讲这几个。
一、RAG架构
什么是RAG架构,很多同学其实有思想误区,任务RAG是个向量库,RAG是个什么什么服务,其实都不准确。严格来说,RAG代表一种架构思想。
定义:RAG全名增强检索生成(Retrieval-Augmented Generation),是大模型AI技术方案,通过外部知识库检索相关信息,为大模型提供精准上下文,解决AI幻觉,知识过时,领域知识不足等问题。
为什么要通过外部知识库?以为涉及企业保密问题,同时为了在专项领域更加精确。
为什么会产生幻觉?因为没有准确信息,AI就会胡编乱造。
为什么会知识过时?因为大模型是基于上一代数据训练好的,如果没有实时文档或者联网查询,那么知识就是旧的。
核心过程:文档切片与存入向量数据库、用户问题转向量查询相关片段、问题+检索上下文+LLM可溯源答案。
其实我们以JAVA开发维度,可以将RAG分成两部分。一部分是后端负责,另一部分大模型负责。后端主要是用户问题解析与切片,相关知识形成向量数据库,调用向量数据库查询出高相关文本切片,然后调用大模型生成答案。
高频面试题:
1.为什么要文本切片?文本切片如何做?
2.Embedding是什么,作用是什么?
3.为什么要Rerank重排序?意义是什么?
4.RAG架构是什么?解决了哪些痛点?
5.上下文太多怎么办?如何优化?
6.RAG常见优化手段?
二、Doris与RAG误区
上一点已经讲了,关于RAG与Doris的误会,这一部分具体讲讲RAG中的Doris是如何应用的。
传统企业是什么样?MySQL存储业务数据,ES用来做检索引擎,向量库(Milvus/Chroma)存向量,还要做数据同步,成本太高,过于复杂。
为什么用 Doris 做 RAG?简单来说,因为他能在一套系统里,同时搞定向量检索+文本检索,结构化数据+高并发分析,我们就不用搞一套向量数据库,再搞一份数据仓湖了。因为很多场景下,企业既有大模型文档场景应用,又有大数据报表可视化的需求,而这两者都可以通过Doris会实现。
Doris+RAG典型流程:
1.数据准备:文档切片、生成Embedding、写入Doris并建立向量索引。
2.检索阶段:用户提问、生成查询向量(同Embedding方法)、Doris混合索引(向量+关键词)、召回相关文档。
3.生成阶段:拼接上下文、调用LLM大模型,生成精确回答。
应用场景:比如企业问答,智能助手、智能客服,实时分析等。
高频面试题:
1.为什么用 Doris 做 RAG。
2.Doris 向量检索实现,Doris索引优化。
3.RAG 流程中 Doris 的角色。
4.对比传统 RAG 架构(MySQL+ES + 向量库),Doris有什么优势?
三、Doris知识扩展
Doris适合做什么?报表、漏斗、ROI、大盘。高并发聚合查询,以及RAG场景向量检索。
Doris为什么要分区分桶,如何实现?分区:横向切分,按天RANGE分区,减少扫描范围,管理冷数据。分桶:纵向打散,HASH分桶,提升并行度,管理查询与并发。
分区如何建立?按dt日期range分区,分月,分天,主要是数据量太庞大,为了优化存储和提升查询效率,以及数据结构型,所以要分区。
分桶如何建立?分桶键选择高基数关键字段,比如user_id,customer_id等,分桶数一般是BE节点数*核数,常见的就是3/6/12。这样做的好处就是,数据打散,聚合、join、向量检索并行加速。
高频面试题:
1.Doris分区分桶如何实现?意义是什么?
2.Doris基本定义,FE、BE指的是什么?
3.Doris存储过程和查询过程,为什么速度快?
4.Doris 为什么比 MySQL 快?
5.向量索引如何优化?
下篇我们讲我做的AIGC项目,将用户与智能助手的多轮对话自动转化为高价值结构化销售线索,并打通广告再营销、转化追踪与数据报表闭环。由于保密问题,所以项目我结合了当下比较热门的项目进行整合重构,但是重点的知识点不会少。
#AI求职实录#

查看16道真题和解析