RAG实现大致流程

在这里插入图片描述
如上图所示,假如我们要参加临时考试,那我们有三种途径获取答案,1、直接查询数据 2、利用检索系统查询 3、LLM知识检索增强生成。第一种方法直接查询数据,这也是最笨拙的方法,第二种方法则是利用检索系统查询,我们需要构建很多 query-answer对,来方便我们快速检索答案,第三种则是RAG,结合大模型来快速生成答案。

图中RAG流程实现过程:

1.将外部知识库的资料,读取进行切片划分,然后再Embeding,转换成向量的形式进行存储,也就是存储在图中的vectordb中,当我们再输出query的时候,会将query也转换成vector,然后再进行相似度等方法计算,最后再进行Augmented,然后输入到LLM中,然后输出最终的大模型Generation的答案。

下图就是langchain存储外部知识库的一系列流程:

在这里插入图片描述
参考链接:链接

### RAG(检索增强生成)的实现方式 RAG 是一种结合信息检索和文本生成的技术,其核心在于通过检索模块获取外部知识并将其与生成模型结合起来,从而提高生成结果的质量和准确性。以下是具体的实现方法: #### 架构组成 RAG 的架构主要由两个部分构成:**检索模块** 和 **生成模块**。 1. **检索模块** - 检索模块负责从大规模的知识库中提取与用户查询最相关的上下文信息。这一过程通常依赖于两种技术路径:基于关键词的传统检索技术和基于语义相似性的向量检索技术[^4]。 - 使用 Elasticsearch 或其他搜索引擎工具可以高效完成结构化数据的匹配;而像 FAISS 或 HNSW 等向量数据库则用于处理高维嵌入空间中的近似最近邻搜索问题[^3]。 2. **生成模块** - 一旦获得相关文档片段后,这些内容会被送入到强大的语言生成模型当中作为额外条件输入的一部分。此阶段采用的是 Transformer 类型的大规模预训练模型来执行最终的任务——无论是摘要撰写还是对话回应等多样化场景需求均可满足[^2]。 #### 工作流程详解 整个工作流大致分为以下几个环节: - 用户提交一个问题或者一段描述性质的需求给系统接口; - 接收到请求之后先启动检索引擎,在预先建立好的庞大资料集合里寻找若干篇高度关联的文章节选出来形成候选集[^1]; - 将上述所得材料连同原初询问一起传递至下游神经网络单元内部进行联合编码操作,以便更好地理解两者之间的联系特征并向目标方向调整参数设置状态; - 经过充分训练后的解码器依据前面所学规律逐步预测下一个可能出现的最佳词汇直至整句话结束为止,期间不断循环迭代直到达到预期长度限制或是遇到特殊终止标志位才停止动作。 ```python def rag_pipeline(query, knowledge_base): # Step 1: Retrieve relevant documents from the knowledge base. retrieved_docs = retrieve_documents(query, knowledge_base) # Step 2: Combine query and retrieved information into a single input sequence. enhanced_input = create_enhanced_input(query, retrieved_docs) # Step 3: Pass through the generative model to produce output. generated_output = generate_response(enhanced_input) return generated_output # Example function definitions (simplified for illustration purposes). def retrieve_documents(query, kb): ... def create_enhanced_input(query, docs): ... def generate_response(input_seq): ... ``` --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值