一、前言慢更通过视频和ai问答还有技术文章总结如下二、简单认识RAGRAG-Retrieval-Augmented Generation(检索-增强-生成)一般是指先从资料库中检索相关的内容然后再基于这些内容来生成答案三、使用场景一般是基于某个应用程序来做ai客服或者各种问答助手但是做这些功能就需要一个ai模型和一个资料库这样ai客服就是通过这个资料库的内容然后通过ai模型来思考输出答案在这个过程中会遇到一些问题如下①资料库内容过多ai模型支持的上下文有限不能全都记住②每次对话都要带上繁重的资料库内容导致模型推理成本很高③由于繁重的资料内容塞入prompt也会导致推理的速度慢④大模型训练完成后知识点固定无法读取新增的实时的资料容易出现知识过时和凭空捏造而RAG就是解决这几个问题而诞生的四、RAG的基本运行流程问答前要将资料库的内容进行分片并加上索引回答后需要召回然后重排最后生成1.分片按字数分、按页数分、按章节分、按段落分但是在分片之前需要预处理数据文档2.索引指的就是通过Embedding将片段文本转换为向量然后存入向量数据库中并构建ANN加速索引这样就不用海量的数据遍历实现毫秒级的查找而你不懂的Embedding指的是将文本映射到高维向量空间的一个神经网络模型3.召回根据用户的问题需求对向量数据库里的数据进行召回然后返回一定数量的相关片段但是你知道是怎么进行的召回吗召回对象需要满足的条件是什么这里需要先对用户的问题进行Embedding转为向量然后将数据库中的向量与用户的问题向量进行相似度计算计算选出相似度最接近的那几个。而计算方法又有余弦相似度、欧氏距离、点积余弦相似度就是算两向量的余弦值欧氏距离指的就是两向量之间的距离(终点间的距离)点积指的就是点乘的结果 总而言之都是不同方式来算 谁离用户的问题向量近4.重排对于召回选出的相关向量再次进行筛选但是筛选的方法和召回的不一样用的是cross-encoder这种方法属于更精细的比较计算得到相似度更高的几个用来作后面的回答准备5.拼装Prompt把重排筛选后的高相关片段、用户原始问题、回答约束模板拼接成一段完整提示词统一输入大模型。6.生成根据重排获得的相似度最高的几个片段交给大模型进行分析和计算得到对应的结果输出五、总结Rag整个环节其实最耗时间的是预处理阶段而最影响结果、最重要的是检索环节当忘了这段总结是为什么的时候请你重新再学一遍Rag的原理
Spring Security OAuth2.0(22):分布式系统授权-搭建网关 本章代码已提交至Gitee: https://gitee.com/lengcz/distributed-security01.git 文章目录网关创建网关安全配置网关 网关整合OAuth2.0 有两种思路,一种是认证服务器生成jwt令牌,所有请求统一在网关层验证,判断权限等操作;另一种是…
Windows下Obsidian多版本共存实战:mklink+AppData精细化管理 1. 为什么需要在一台电脑上装多个 Obsidian 版本?这真不是折腾,而是刚需Obsidian 不是普通软件,它本质是一个本地优先的知识操作系统。你用它写笔记、搭知识库、做项目管理、甚至当轻量级 IDE,不同场景对版本的要求天差地别。我见…
python interpreter 装不上Python?这翻译官卡死90%新手,真让人心碎 好些想要学习编程的友人, 满怀信心地开启教程, 然而, 第一步便遭遇阻碍——无法成功安装。不是出现报错了, 就是寻觅不到入口, 要不然就是面对着一排安装包, 两眼一抹黑。明明教程里面, 老师点几下就能够搞定, 然而到自己手上, 却怎么弄都不正确。说实话, 这一关把人劝退的数量…
内网环境下的O2OA与OnlyOffice集成:打造安全高效的Excel协同办公平台 1. 为什么需要内网环境下的Excel协同办公?在企业日常运营中,Excel文件几乎贯穿了所有业务流程——从财务报表制作到项目进度跟踪,再到销售数据分析。但传统文件传递方式存在三个致命伤:版本混乱(同事A的修改覆盖了同事…
解锁unittest:从核心组件到企业级数据驱动实战 1. unittest框架核心组件解析unittest作为Python标准库中的测试框架,已经陪伴开发者走过了十余个年头。我第一次接触unittest是在2013年维护一个Django项目时,当时就被它严谨的结构所吸引。不同于临时编写的测试脚本,unittest提供了一套完整的…
C++宏定义完全指南:从常量定义到条件编译与高级元编程 1. 项目概述:为什么宏定义是C开发者绕不开的坎?刚接触C那会儿,我最怕的就是看到代码里那些大写字母串起来的“魔法符号”,比如#define PI 3.14159或者#define MAX(a, b) ((a) > (b) ? (a) : (b))。当时觉得,有变量…
软件设计师——UML建模实战:从下午试题三看核心图例与解题策略 1. UML建模在软件设计师考试中的重要性作为软件设计师考试下午试题三的核心内容,UML建模占据着举足轻重的地位。我参加过多次软考阅卷工作,发现这道15分的大题往往成为考生能否通过考试的关键分水岭。不同于数据流图和数据库设计这类相对固定的题型&…
深入解析TI FPD-Link III解串器I2C配置与中断处理实战 1. 项目概述与核心价值在汽车ADAS(高级驾驶辅助系统)、环视摄像头以及工业机器视觉领域,高速、可靠且抗干扰的视频数据传输是系统稳定运行的基石。德州仪器(TI)的FPD-Link III技术系列,特别是DS90UB662-Q1这…
SM320C6748-HIREL DSP硬件设计:电源、时钟与引脚配置实战指南 1. 项目概述与核心挑战在嵌入式硬件设计领域,尤其是面对德州仪器(TI)SM320C6748-HIREL这类高性能、高可靠性数字信号处理器时,工程师们常常会陷入一种“数据手册依赖症”。手册里密密麻麻的表格、参数和注意事项,看似详…
Python ctypes性能优化实战:8大技巧突破C扩展速度瓶颈 1. 项目概述:当Python遇上C,速度瓶颈的破局之道“Python调用C太慢?”——这恐怕是很多在性能敏感场景下使用Python的开发者,尤其是那些尝试过用ctypes、CFFI或Cython来集成C/C代码的朋友,心中挥之不去的疑问。你兴冲冲…
2026 年宜春诚信的塑料缠绕膜厂家哪个好,缠绕膜背后的秘密:你不知道的成本陷阱 - 领域鉴赏官 缠绕膜的秘密是什么,其中的成本陷阱又是怎样的一种情况呢在我们日常生活中的生产、仓储、运输等行业里经常要使用到塑料缠绕膜。你经营的是一个小小的电子产品制造公司,每天有无数电子产品的出货要装箱发货。你依旧用…
TPS2551-Q1负载开关:汽车电子电源路径保护与智能管理实战 1. 项目概述与核心价值在车载电子、便携设备乃至工业控制系统的电源路径设计中,我们工程师最头疼的问题之一,就是如何优雅且可靠地处理“意外”。你精心设计的5V电源轨,可能因为一个劣质USB设备的插入、一根内部短路的线缆,或者仅…
PlantUML 实战:5分钟将 UML 2.5 序列图转换为可执行代码草图 PlantUML 实战:5分钟将 UML 2.5 序列图转换为可执行代码草图 在软件开发过程中,清晰的系统设计往往比编码本身更为关键。传统拖拽式UML工具虽然直观,却常常成为效率杀手——频繁的鼠标操作打断设计思路,版本控制困难,…
【RT-DETR涨点改进】29 动态Batch推理:让RT-DETR在低延迟下吃满GPU算力 29 动态Batch推理:让RT-DETR在低延迟下吃满GPU算力 开篇故事 上个月帮一家安防厂商做项目优化,他们用RT-DETR做实时人流统计,部署在NVIDIA A10上。客户反馈说:“GPU利用率才30%,但延迟已经飙到40ms了,加人流量就丢帧。” 我远程一看,好家伙——生产环境里每个请求单独…
Postman 环境变量实战:3种动态设置方法与CI/CD集成避坑指南 Postman 环境变量高阶实战:动态管理与 CI/CD 深度集成在接口自动化测试领域,环境变量的灵活运用往往成为区分初级与高级测试工程师的关键能力。本文将深入探讨 Postman 环境变量的三种动态设置模式,并分享 Newman 在 CI/CD 流水线中的实战避坑…
[C++]内存管理:串顺序存储的内存回收 在串(字符串)的顺序存储中,内存回收的方式取决于字符串的存储方式以及所使用的编程语言和相关库。以下以 C 为例进行说明,因为 C 对内存管理有较为直接的控制。 1. 基于 char 数组的串顺序存储 如果使用普通的 char 数组来存储字…
移动端游戏功耗测试实战:电流、功率、亮度和场景对比 移动端游戏功耗测试:先控制变量,再比较优化是否真的省电 摘要:功耗测试最容易犯的错误,是拿两次不同温度、不同亮度、不同场景的平均功率直接比较。本文给出一套可复现的游戏功耗测试方法,覆盖引擎特性验证、版本回归和黑盒体验测试,并说明如何把功耗与帧率、温控、CPU/G…
足球口袋教练 HarmonyOS 离线应用实战(03/20):ArkUI 首页仪表盘搭建 本文是“足球口袋教练 HarmonyOS 离线应用实战”系列第 3 篇。示例项目是一个 HarmonyOS / ArkTS / ArkUI 编写的离线足球训练助手,围绕真实页面、真实截图和可复现操作展开。 本篇要解决的问题 训练 App 的首页不能只展示欢迎语,它要解决“我现在该点哪…