大模型架構記錄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

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/72040.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/72040.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/72040.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

物聯網IoT系列之MQTT協議基礎知識

文章目錄 物聯網IoT系列之MQTT協議基礎知識物聯網IoT是什么&#xff1f;什么是MQTT&#xff1f;為什么說MQTT是適用于物聯網的協議&#xff1f;MQTT工作原理核心組件核心機制 MQTT工作流程1. 建立連接2. 發布和訂閱3. 消息確認4. 斷開連接 MQTT工作流程圖MQTT在物聯網中的應用 …

第27周JavaSpringboot電商進階開發 1.企業級用戶驗證

課程筆記&#xff1a;注冊郵箱驗證 一、概述 從本小節開始&#xff0c;將學習如何進行注冊郵箱驗證。主要任務是給項目配置一個公共郵箱&#xff08;可自己注冊或由公司提供&#xff09;&#xff0c;用于向用戶發送驗證碼&#xff0c;幫助用戶完成注冊流程。課程中以QQ郵箱為…

數據庫---sqlite3

數據庫&#xff1a; 數據庫文件與普通文件區別: 1.普通文件對數據管理(增刪改查)效率低 2.數據庫對數據管理效率高,使用方便 常用數據庫: 1.關系型數據庫: 將復雜的數據結構簡化為二維表格形式 大型:Oracle、DB2 中型:MySql、SQLServer …

音視頻軟件工程師面試題

一、基礎知識 編解碼相關 H.264 和 H.265(HEVC)的主要區別是什么?視頻編解碼的基本流程是什么?關鍵技術有哪些?音頻編解碼(如 AAC、MP3、Opus)的區別和應用場景?什么是 B 幀、P 幀、I 幀?它們的作用是什么? 流媒體協議RTMP、HTTP-FLV、HLS、WebRTC 的區別和應用場景…

【系統架構設計師】測試方法

目錄 1. 說明2. 靜態測試3. 動態測試4. 黑盒測試5. 白盒測試6. 灰盒測試7. 自動化測試8.例題8.1 例題1 1. 說明 1.軟件測試方法的分類有很多種&#xff0c;以測試過程中程序執行狀態為依據可分為靜態測試&#xff08;Static Testing&#xff0c;ST&#xff09;和動態測試&…

tomcat配置應用----server.xml文件具體配置

1.tomcat項目目錄 默認項目目錄&#xff1a;tomcat安裝目錄/webapps目錄 如上圖所示&#xff0c;在tomcat的項目目錄下有很多子文件夾&#xff0c;這些子文件夾中都有一個項目首頁。 如上圖所示&#xff0c;將來我們去使用IP加端口號的方式去訪問tomcat的時候&#xff0c;默認是…

Spring Boot 調用DeepSeek API的詳細教程

目錄 前置準備步驟1&#xff1a;創建Spring Boot項目步驟2&#xff1a;配置API參數步驟3&#xff1a;創建請求/響應DTO步驟4&#xff1a;實現API客戶端步驟5&#xff1a;創建控制器步驟6&#xff1a;異常處理步驟7&#xff1a;測試驗證單元測試示例Postman測試請求 常見問題排查…

多維數據聚合方案:SQL GROUPING SETS深度解析

一、什么是GROUPING SETS&#xff1f; GROUPING SETS是SQL標準中的多維聚合運算符&#xff0c;允許在單個查詢中實現多維度組合的分組統計。相較于傳統UNION ALL方案&#xff0c;性能可提升3-10倍&#xff08;TPC-DS基準測試&#xff09;。 二、核心語法解析 SELECT column1,…

Excel中國式排名,3種方法!

大家好&#xff0c;我是小魚。 什么是中國式排名呢&#xff1f; 舉個例子比如說公司一共有10名員工進行成績考核&#xff0c;如果9個人考核成績都是90分&#xff0c;你是89分&#xff0c;按照國際慣用的排名法則&#xff1a;9 個人考核成績并列第一&#xff0c;你第10名&…

哪些業務場景更適合用MongoDB?何時比MySQL/PostgreSQL好用?

哪些業務場景更適合用MongoDB&#xff1f;何時比MySQL/PostgreSQL好用&#xff1f; 就像淘寶的個性化推薦需要靈活調整商品標簽&#xff0c;MongoDB這種"變形金剛"式的數據庫&#xff0c;在處理以下三類中國特色業務場景時更具優勢&#xff1a; 一、動態數據就像&q…

深度解讀:OpenAI發布GPT-5的技術突破與商業影響

引言 2025年2月&#xff0c;OpenAI正式發布GPT-5&#xff0c;這一被譽為“AI新紀元開篇之作”的模型&#xff0c;不僅實現了技術架構的顛覆性創新&#xff0c;更以免費開放策略引發行業地震。本文將從技術突破、商業影響、行業競爭格局及未來挑戰四個維度&#xff0c;全面解析…

網絡防火墻是什么有什么用_網絡防火墻:守護信息安全的重要屏障

網絡防火墻的基本概念 網絡防火墻是網絡安全領域的重要組成部分&#xff0c;它充當著內部網絡和外部網絡之間的安全防護層。防火墻能夠監控和控制進出網絡的數據流&#xff0c;只允許符合安全策略的信息通過&#xff0c;從而有效阻止潛在威脅的入侵。簡而言之&#xff0c;網絡…

C# WPF 串口通信

C# WPF 串口通信 安裝依賴庫 安裝依賴庫 System.IO.Ports using System.Diagnostics; using System.IO.Ports; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windo…

【玩轉23種Java設計模式】結構型模式篇:組合模式

軟件設計模式&#xff08;Design pattern&#xff09;&#xff0c;又稱設計模式&#xff0c;是一套被反復使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。使用設計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性、程序的重用性。 匯總目錄鏈接&…

如何選取合適的 NewRatio 值來優化 JVM 的垃圾回收策略

目錄 一、垃圾回收模型簡介 &#xff08;一&#xff09;新生代&#xff08;Young Generation&#xff09; &#xff08;二&#xff09;老年代&#xff08;Old Generation&#xff09; &#xff08;三&#xff09;NewRatio 的作用與影響 &#xff08;四&#xff09;圖解&am…

Element Plus中的樹組件的具體用法(持續更新!)

const defaultProps {//子樹為節點對象的childrenchildren: children,//節點標簽為節點對象的name屬性label: name, } 屬性 以下是樹組件中的常用屬性以及作用&#xff1a; data&#xff1a;展示的數據&#xff08;數據源&#xff09; show-checkbox&#xff1a;節點是否可…

第十一屆藍橋杯單片機國賽

什么&#xff1f;4T模擬賽和省賽做起來輕輕松松&#xff1f;不妨來挑戰一下第十一屆國賽&#xff0c;這一屆的國賽居然沒考超聲波、串口通信&#xff01;只要你正確地理解了題目的意思&#xff0c;規避出題人挖的坑&#xff0c;拿個國一輕輕松松。 附件&#xff1a;第十一屆藍橋…

大彩串口屏開發 —— MODBUS通信

目 錄 Modbus通信方式 1 使用變量與協議設置方式 2 使用LUA腳本方式 3 兩者結合 Modbus通信 大彩串口屏可以采用三種方式實現與其它設備進行modbus通信和邏輯處理。 方式 1 使用變量與協議設置 步驟1 在協議設置里進行設置&#xff0c;包括開啟modbus協議&#xff0c;屏做為主…

【Linux docker】關于docker啟動出錯的解決方法。

無論遇到什么docker啟動不了的問題 就是 查看docker狀態sytemctl status docker查看docker日志sudo journalctl -u docker.service查看docker三個配置文件&#xff08;可能是配置的時候格式錯誤&#xff09;&#xff1a;/etc/docker/daemon.json&#xff08;如果存在&#xf…