大模型架构记录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

# 注意镜像全称为 qdrant/qdrant
docker pull qdrant/qdrant

# 完整命令(Windows/Linux通用)
docker run -d \
  -p 6333:6333 \          # HTTP API端口
  -p 6334:6334 \          # gRPC端口(可选但推荐)
  -v D:/qdrant_data:/qdrant/storage \  # 数据持久化路径
  qdrant/qdrant

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/33182.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

个性化音乐推荐系统

python、pycharm、Django、Mysql都已经安装好了&#xff01; 目录 2025/3/13 2025/3/13 一.打开CMD&#xff0c;安装Mysql驱动 pip install mysqlclient 二.项目初始化&#xff1a; 1.创建Django项目&#xff1a; django-admin startproject project1 cd project1 2.创…

面试高频#LeetCode#Hot100-字母异位词分组

题号链接 49. 字母异位词分组 - 力扣&#xff08;LeetCode&#xff09; 1首先定义map集合一个String对应一个String[]集合&#xff0c;遍历字符串数组 2对其先进行拆分&#xff0c;拆分为字符数组&#xff0c;再进行排序&#xff0c;再转为字符串 3如果key值没有就创建一个字符…

笔试刷题专题(一)

文章目录 最小花费爬楼梯&#xff08;动态规划&#xff09;题解代码 数组中两个字符串的最小距离&#xff08;贪心&#xff08;dp&#xff09;&#xff09;题解代码 点击消除题解代码 最小花费爬楼梯&#xff08;动态规划&#xff09; 题目链接 题解 1. 状态表示&#xff1…

hcia华为路由器静态路由实验配置

目录 一、网络拓扑分析 二、华为路由器配置&#xff08;分设备&#xff09; 1. R1 配置 2. R2 配置 3. R3 配置 三、验证测试 拓扑图 一、网络拓扑分析 IP 地址规划&#xff1a; R1&#xff1a;E0/0/0&#xff08;12.1.1.1/24&#xff09;、E0/0/1&#xff08;192.168.1.…

贪心算法和遗传算法优劣对比——c#

项目背景&#xff1a;某钢管厂的钢筋原材料为 55米&#xff0c;工作需要需切割 40 米&#xff08;1段&#xff09;、11 米&#xff08;15 段&#xff09;等 4 种规格 &#xff0c;现用贪心算法和遗传算法两种算法进行计算&#xff1a; 第一局&#xff1a;{ 40, 1 }, { 11, 15…

PowerBi,一个简单的动态度量值以及图表联动的案例

假设我们有一张[销量表]&#xff0c;数据如下: 我们想做下面的效果: 左边的饼图显示每个门店的销量以及百分比&#xff0c;右边是一个堆积条形图&#xff0c;显示每种商品的销量&#xff0c;并且有一个切片器能切换显示销售渠道 做法如下&#xff1a; 1.报表里放入一个饼图&a…

夜莺监控 v8.0 新版通知规则 | 对接企微告警

对新版本通知规则还不太了解的用户可以阅读文章&#xff1a;《夜莺监控巨大革新&#xff1a;抽象出通知规则&#xff0c;增强告警通知的灵活性》。下面我们将以企微通知为例&#xff0c;介绍如何使用新版通知规则来对接企微通知。 上图是通知规则对接企微通知的示意逻辑图。 在…

HCIA-11.以太网链路聚合与交换机堆叠、集群

链路聚合背景 拓扑组网时为了高可用&#xff0c;需要网络的冗余备份。但增加冗余容易后会出现环路&#xff0c;所以我们部署了STP协议来破除环路。 但是&#xff0c;根据实际业务的需要&#xff0c;为网络不停的增加冗余是现实需要的一部分。 那么&#xff0c;为了让网络冗余…

LeetCode 解题思路 15(Hot 100)

解题思路&#xff1a; 引入哑节点&#xff1a; 简化头节点删除操作&#xff0c;统一处理所有边界条件。快慢指针法&#xff1a; 快指针先移动 n 步&#xff0c;确保快慢指针距离为 n&#xff0c;之后同步移动快慢指针。当快指针到达末尾时&#xff0c;慢指针指向倒数第 n 个节…

大数据学习(65)- Hue详解

&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4dd;支持一…

设计模式之美

UML建模 统一建模语言&#xff08;UML&#xff09;是用来设计软件的可视化建模语言。它的语言特点是简单 统一 图形化 能表达软件设计中的动态与静态信息。 UML的分类 动态结构图&#xff1a; 类图 对象图 组件图 部署图 动态行为图&#xff1a; 状态图 活动图 时序图 协作…

【大模型学习】第十八章 强化学习介绍

目录 引言 一、 强化学习的理论基础与发展脉络 1.1 基本概念与核心要素 1.2 历史演进与里程碑 二、 强化学习的数学框架与核心算法 2.1 马尔可夫决策过程与贝尔曼方程 2.2 基于价值的算法 2.3 基于策略的算法 2.4 混合算法&#xff1a;Actor-Critic架构 2.5 应用举例 …

Chatbox通过百炼调用DeepSeek

解决方案链接&#xff1a;评测&#xff5c;零门槛&#xff0c;即刻拥有DeepSeek-R1满血版 方案概览 本方案以 DeepSeek-R1 满血版为例进行演示&#xff0c;通过百炼模型服务进行 DeepSeek 开源模型调用&#xff0c;可以根据实际需求选择其他参数规模的 DeepSeek 模型。百炼平台…

网络安全设备系统集成方案 系统集成和网络安全

一、网络安全概述 计算机网络安全是指计算机、网络系统的硬件、软件以及系统中的数据受到保护&#xff0c;不因偶然的或恶意的原因而遭到破坏、更改、泄露&#xff0c;确保系统能连续和可靠地运行&#xff0c;使网络服务不中断。广义地说&#xff0c;凡是涉及网络上信息的保密…

【菜鸟飞】通过vsCode用python访问公网deepseek-r1等模型(Tocken模式)

目标 通过vsCode用python访问deepseek。 环境准备 没有环境的&#xff0c;vscode环境准备请参考之前的文章&#xff0c;另外需安装ollama&#xff1a; 【菜鸟飞】用vsCode搭建python运行环境-CSDN博客 AI入门1&#xff1a;AI模型管家婆ollama的安装和使用-CSDN博客 选读文章…

C# Unity 唐老狮 No.9 模拟面试题

本文章不作任何商业用途 仅作学习与交流 安利唐老狮与其他老师合作的网站,内有大量免费资源和优质付费资源,我入门就是看唐老师的课程 打好坚实的基础非常非常重要: Unity课程 - 游习堂 - 唐老狮创立的游戏开发在线学习平台 - Powered By EduSoho 如果你发现了文章内特殊的字体…

【2025最新】phpMyAdmin渗透利用全链路:信息收集→漏洞探测→后渗透提权技巧

目录 一、信息收集与漏洞探测 1. 获取关键信息 2. 权限验证 3. 漏洞扫描 二、历史漏洞利用方法 1. 写入 Webshell 到了这个地步密码探索 2. 远程代码执行&#xff08;RCE&#xff09; 3. 提权与后渗透 4. 文件包含漏洞 三、高危历史漏洞列表 四、防御与加固建议 五…

泰山派开发之—Ubuntu24.04下Linux开发环境搭建

简介 最近翻到了吃灰已久的泰山派&#xff0c;是刚出来的时候用优惠券买的&#xff0c;当时价格挺便宜的&#xff0c;最近给它翻出来了&#xff0c;打算试试做个项目。买的泰山派容量是2G16G&#xff0c;SOC芯片使用的是RK3566&#xff0c;搭载1TOP算力的NPU&#xff0c;并且具…

05延迟任务精准发布文章(redis实现延迟任务、分布式锁)

上架不代表发布(需要发布app端才会显示文章&#xff09; 1)文章定时发布 2)延迟任务概述 2.1)什么是延迟任务 定时任务&#xff1a;有固定周期的&#xff0c;有明确的触发时间 延迟队列&#xff1a;没有固定的开始时间&#xff0c;它常常是由一个事件触发的&#xff0c;而在…

linux 命令 ls

ls 是 Linux 系统中用于列出目录内容的核心命令&#xff0c;几乎所有日常操作都会用到。以下是其详细用法和常见场景说明 1. 基础语法 ls [选项] [目录/文件] 不指定目录时&#xff0c;默认列出当前目录的内容。 可以指定文件或目录路径&#xff0c;支持通配符&#xff08;如…