当前位置: 首页 > news >正文

大模型架构记录4-文档切分 (chunks构建)

chunks: 块

trunks : 树干

“RAG”通常指 检索增强生成(Retrieval-Augmented Generation)

主要框架:用户提query,找到和它相关的,先把问题转换为向量,和向量数据库的数据做比较,检索相似的向量,返回 对应向量的原始文本,构建prompt,给模型回答问题

一 文档交互

1.1 生成和检索的区别

RAG”通常指 检索增强生成Retrieval-Augmented Generation

二 金融智能客服系统

2.1 传统架构 (通过检索的方式

1 提前设计FAQ库(业务人员整理)

<q, a> <q, a><q, a>

2 用户提问,和FAQ 问题做比较,看哪个问题相近,就使用这个答案

3 好处,结果可控。

2.2 传统问答方式2 (使用生成的方式)

1 提前设计FAQ库(业务人员整理)

<q, a> <q, a><q, a>

2 训练一个模型,问题做输入,答案做输出,训练模型 

3 使用模型,将问题作为模型的输入,使用模型的输出作为结果。

4 结果不可控,准确率比较低。

传统方式通常使用方式一 

2.3 检索 + 生成

大模型 问答系统 2.0

1 不用维护知识库,从文档抽出来关键问题

2 直接把原始的知识库就行,【doc, PDF, EXCEL, TXT 】都可以做知识库

3 用户提问,先做检索把相关文档提取出来,答案可能在文档里面

4 构建prompt,检索结果放在prompt 【上下文】, query【Input】 也放在prompt 里面,还要历史聊天记录 【上下文】,统一放入模型做输入得到一个response. 

三 基于大模型技术的Agent 框架搭建

1 技术栈 

项目架构梳理

1 用户提出 query(string)

2 构造知识库,企业知识【txt, pdf, html, doc, excel, ppt】 做转换

2.1 把文章做trunk【树干】,不能把整个文章放到prompt, 拆分章节,把适合的章节放进去就行。

文档 拆分-> Trunk ,放入【知识库】,需要做一定的数据清洗,特殊符号清洗啥的

2.2 把数据转换为向量,用于和query 比较

3 用户提 query , 在知识库找出对应的Trunk,一起放入prompt中,【基于如下的上下文回复用户的上下文】,然后进模型,然后回复。

2 向量数据库的搭建

1 trunk 和query 比较,比较两个string 做比较,把string 转换为向量。

用户提query,找到和它相关的,先把问题转换为向量,和向量数据库的数据做比较,检索相似的向量,返回 对应向量的原始文本,构建prompt

prompt {instructing, context,inputs} -> model = response 

2 相似度怎么计算? 

(vec1, vec2) -> 相似度

向量数据库,解决搜索效率的问题。

难点:

1 怎么比较query 和 trunk 的向量?

2 怎么做文档切割?

3 怎么转换为向量数据? 

3 怎么解决 hallucination(乱说)

4 拆分文本

1 最好按段落进行区分

2 fixed + 语义做分割【递归方法,来自 langchain】

后面的方法需要跑机器学习模型,比较慢,常见使用第一和第二种,直接拆分句子和字符数。

4.1 split  by sentence

每个块都是完整的一句话。

4.2 fixed length chunks 

4.3 chunks with overlapping window

4.4 recursiveCharacterTextSplitter from langchain

fixed + 语义做分割

5 拆分中文

四 文本向量化

4.1 opai embedding (向量化模型)

 

4.2 相似度计算

4.3 向量数据库 qdrant

 

相关文章:

  • Linux mount与umount以及机器重启后自动mount
  • 登录校验会话技术JWT
  • Linux练级宝典->Linux环境变量 ,main函数参数的意义
  • Jenkins持续集成与Web前端、SpringBoot项目的部署
  • LINUX系统安装+添加共享目录
  • Docker 安装成功后,安装 Dify 中文版本的步骤
  • 侯捷C++系列课程学习笔记
  • Matlab中快速查找元素索引号
  • 红警95游戏秘籍
  • axure11安装教程包含下载、安装、汉化、授权(附安装包)图文详细教程
  • 图像识别技术与应用总结
  • UI自动化:Python + Selenium4.6+版本 环境搭建
  • linux学习(十三)(shell编程(文字,变量,循环,条件,调试))
  • 【git】 贮藏 stash
  • 三、Docker 集群管理与应用
  • SmartDeblur深度解析:全能型图片编辑器,老照片修复利器
  • 快速使用Python爬虫根据关键词获取衣联网商品列表:实战指南
  • C++ 基础2
  • 【C51】24小时制的电子钟,数码管显示格式为时-分-秒
  • 探秘 CSS 盒子模型:构建网页布局的基石
  • 好友介绍网站怎么做/seo一键优化
  • 苏州做网站专业的公司/cilimao磁力猫搜索引擎
  • 国家建设部网站2018年/seo前景
  • 小程序免费制作平台360/广州各区正在进一步优化以下措施
  • 网站访问量统计工具/免费广告推广
  • 房屋装修效果图大全/北京百度推广优化