教主技術進化論2024第22期 RAG中使用語義進行分塊(Chunking)

现任明教教主
1 位粉絲
2024年10月15日
教主技術進化論2024第22期 RAG中使用語義進行分塊(Chunking)
好,我們開始了啊,我們開始2024年的第22期的教主技術進化論
我們講這個基於語義的chunking在IG裏面使用
IG咱們講的比較多,chunking講的也比較多
但是最近出的這個基於語義的,我覺得還是比較重要的
所以說今天我花了一些時間來學習
然後呢,還有一個比較有趣的呢
通過學習這個IG的技術
那麼我又學到了一些新的一些重要的一些
關於IG的一些指標
比如說召回,比如說精度
這些重要的衡量IG成功與否的一些重要的一些指標
OK,然後呢,後面呢,還有一個去對IG的效果好不好
做一些測試的一些方案
那麼在今天呢,我都學習到了
那麼學完之後呢,就做一些進化論
簡單的呢,給大家介紹一下
好吧,首先呢,講一下基於語義的chunking
然後呢,聊一聊這個IG相關的好與不好的一些指標
好吧,有哪些指標,它指標起什麼作用
然後呢,我們就還有一個算法
能幫你算一下這個IG的效果好不好
那麼到底是好到什麼程度
還有一個分,它會打一個分
好吧,那麼我們來走一走
今天我差不多上午學習到現在
差不多花了四五個小時
而且呢,也順便的去了解一下
這個新的GDP4歐的這個
這個就新的這種畫布吧
或者這種一種新的一種格式
以前的代碼呢,就是編輯起來
看起來不方便
好吧,以前總是需要你把一堆代碼貼給它
然後呢,它在產生
產生完之後呢,你又把你的新代碼再重新貼給它
這個很不方便
而且呢,你有時候它產生之後呢
你也搞不清楚它到底改了一些什麼樣的內容
那麼新的這個方案呢,就通過這種方式
來更好的顯示相應的代碼
它能夠告訴你哪些呢,它改過
哪些呢,它做過一些註釋等等等等
我看一下啊,應該還不止這些
會有兩個
特別是下面這個
改的比較多
它會告訴你
比如說啊,我這次改了什麼,改了什麼
然後爲什麼會改
後面有相應的解釋
OK
還會給你做相應的註釋
這個代碼差不多磨了兩到三個小時
今天GDP4歐的智商比較不在線
好吧
就說這種方式呢
至少我覺得比較能夠清楚的看到
它到底改了些什麼樣的東西
它會給你一些高量啊
然後呢
還會給你解釋每一段代碼的作用啊
然後呢
這還可以
比如說幫你去做一些debug呀
等等等等的一些工具吧
我覺得只是改了一些樣式
讓代碼的修改和查看呢
會更加方便
但是呢
它也改不了智商不在線的情況
老子是改不了的
老子還是那麼不好使
4歐的話
寫一些傳統的代碼還是可以的
寫一些比較新的代碼
比如說
現在今天呢
我的longchain升到了0.3.0
就遇到了很多的問題
它就很多東西都解決不了
好吧
而且呢
今天呢
我上來呢
我是有一篇文章
然後呢
我把這些文章文章很大
然後呢
我不斷的截圖呢
把它輸入給他
我發現他老子想不過來
就是我明明輸了
他就不會看
反正他自己按照自己的想法
自己去整
然後呢
我需要反覆的
更加精細的
把相應的部分貼給他
他才能夠想得過來
好吧
這個我覺得也是一個問題吧
好吧
好那麼言歸正傳
我們還來說這個東西
相關代碼呢
依然在我的AIops的第六部分
我加了這些相應的內容
好吧
加了一個第五部分
是在Longchain裏面的
基本上呢
今天呢
不管是地規的產品
還是這個基於語義的產品
我都用的
Longchain提供的工具
Longchain這個框架呢
確實還是在人工智能開發這塊
還是非常重要的
好吧
他提供了很多很有趣
很有用的工具
你就不用自己再去寫了
那麼用他的工具
就可以幫你實現一些產品
好吧
呃
產品的分類
呃
產品的很簡單
就是把一個大的文章
那麼如何給他截斷
截斷
的一個技術
然後截斷之後呢
給他放到這個相量數據庫
然後呢
再基於這個計算的相量值
然後呢
再去找到
呃
相應的相似度
然後呢
從這個相量數據庫裏面提取出來
好吧
這個主要是截斷的技術
截斷其實還是比較重要的
OK
因爲
由於我們的大模型
現在他支持的這個輸入的
令牌的數量是比較有限的
雖然說現在新的這些大模型都能夠支撐
支持一個128k的token
那已經很大了
OK
但是那一些本地部署的模型
或者一些老的模型
他們的這個
令牌的這個限制數量還是比較少的
比如說8k呀
等等等等
OK
那就說呢
你一次性的
你不太可能把一個大文檔一次性的全部餵給他
然後呢
讓他去
根據這麼大一個文檔來回答問題
這個首先是非常費令牌的
而且也
有時候也不太可能
好吧
這麼大文檔
所以呢
我們就需要把這些文檔的做一些
切片
OK
然後呢
最終呢
我們會找到
你問一個問題
我們找到跟你這個問題相關的一些分塊
相關的一些分塊
然後呢
你只能看到這些相關的分塊
作爲上下文
然後呢
來回答問題
那麼所以說呢
這個分塊分的好不好
跟你的IG的效果直接有關係
那麼
那麼這些分塊的方案呢
大概有這麼四種
那麼第一種呢
就是固定的大小分塊
這個就非常不合理了
比如說
一千個字節
一千個字符
好吧
那麼就說
反正我就按照這一千來分
那麼這個時候就很容易出現
你一句話
那麼一部分在一個塊裏面
一部分在另外一塊裏面
因爲可能你正好卡在一千那個位置
OK
這種就比較不合理了
你明明是一個完整的一句話
但是呢卻分在兩個塊裏面
你給大模型看的時候呢
大模型也只能看到了這句話的一半
那麼這樣的話就就沒有什麼意義
對吧
所以固定的呢
就沒有什麼太多效果
好吧
那麼緊接着呢
主要呢會有這種三種
一個是叫地規的
地規很簡單
那麼
首先呢
它基於符號
比如說逗號啊
句號啊
框行啊
然後呢來進行分塊
比如說我就開始用句號來分塊
OK
看一下這個是官方
這是我今天跟他聊了很多
他給了一個案例啊
我們來看看
他舉的例子比較
比較簡單
看一下啊
他這個案例舉的還不錯
比較簡單
比如說這句話
那麼分塊的話
他首先呢
他用句號來分
首先用句號分
那麼好句號分的話
那麼就有五五個句號的五句話
這個沒問題
好吧
但是呢
首先它可以基於句號分
然後呢
你也需要去定義這個塊的大小
看一下
比如說我們也在分塊的時候呢
也要去定義這一個塊
的字符數
比如說1000個字符
當然了
比如說他
當然了
他這個數據比較小啊
他在說
那麼我們定義在20個字符
或者說30個字符
OK
當然了我這個時間呢
用的是1000或者500
都比較大
但是呢
他這個文章呢
比較小
他舉的例子呢
也比較小
OK
首先呢
這個裏面呢
有五句話
如果用句號分割的話
那麼就有五個塊
OK
用chunking技術之後呢
就會有五個塊
好吧
然後呢
但是呢
最後一句話呢
比較長
他超過了我們的這個限制
比如說20個字符
比如說這的1000個字符
好吧
比如說呢
他超過了這個20個字符
那麼
那麼這個時候呢
我們需要繼續分
那這個時候呢
我們就句號是沒有了
句號一共也就這麼五個
好吧
那這個時候呢
我們就可以嘗試用逗號來分
然後呢
再用逗號分
最終得到了六個塊
大概呢
就是這麼一個套路
OK
所以首先呢
他用這個
句號來分
如果說句號
如果說句號夠了
好吧
那時候
首先我跟你解釋一下
如果說
這一句話
剛纔這一句話
他長了
那麼他就會
再繼續遞歸嘛
那麼
他可能就會用逗號
再來做分隔
這是一個套路
然後呢
如果說
那麼
這一句話
他短了
那麼
他有可能會把兩句話
給你拼到一起
那麼儘量的
就說
他儘量的
那首先他不能
超過這個20個字符
超過是不行的
一定要小於這個
然後呢
如果說太小的話
他也會盡量的去
把多個放到一起
給你儘量的呢
能夠湊20個字符
就說呢
長了
他也會削減一些
然後呢
儘量的低於這個20個字符
那麼短的話
他會盡量的
把多句話呢
給你拼在一起
也儘量的逼近這個
20個字符
你所設置的邊界
大概就這麼一個作用
好吧
當然了
實際的時候呢
可能會更大一些
500啊1000
那麼有時候呢
如果說
在1000那個位置
如果多了
他會把一些語句
基於逗號或者句號
給你踢出去
然後減少這部分
讓它低於1000
然後呢
如果說
那麼
比如說你分的時候
只有800
那麼你還少一些
他可能會嘗試
再把下一句話加進來
然後正好湊到
接近
幾乎接近
但是小於1000
這麼一個長度
好吧
這就叫基於地規
它是基於符號
然後呢
儘量的通過地規的方法
增加或者減少
然後呢
儘量的能夠滿足
那個分塊的
這麼一個邊界
這叫做地規
其實這個效果
其實還是不錯的
好吧
至少呢
看到的是一句話
至少
至少是一句話的一個小部分
比如逗號算是一句話的小部分
那麼句號呢
就是完整的一句話
它會在這種
儘量是句號
或者說換行
來對這個文章進行分段
這叫做地規
好吧
好
下面呢
我們再說一下
就是文檔特定分塊
比如說markdown
markdown呢
就就專門的一些標識符
markdown
我給大家看一些
markdown
markdown呢
就專門的標識符
比如說呢
這是什麼大段落呀
然後呢
每一章啊
每一個小節呀
每一個小節裏面的每一個小點呢
還有這些符號
那麼我們的markdown呢
這是特定的文檔
特定文檔呢
有特定的格式
那這個時候呢
我們就通過這些特定文檔的特定格式
來幫你分
首先呢
比如說我先
先拿大段落分
然後看看呢
它能不能夠
比如說你也要定義一千個字節
這種說法
好吧
你要定義一千個字節
這種說法
好
然後呢
它就大段落
那麼如果
如果超過了
那麼它就會再減一些
如果不夠的話
它可能再加下一個段落
就基於這個段落來分
基於這個段落
這種特殊的這種段落來分
好吧
那麼這個地規呢
是基於符號
逗號
句號或者換行來分
那麼markdown呢
基於markdown
特定的一些頭部
特定的段落來分
好
那麼最近出的呢
是基於語意
語意什麼意思呢
看一下這個圖
它把你的文檔
首先呢
比如說依然通過這種符號和地規
分爲很多的句子
很多的段落
很多的句子
OK
然後呢
它去找這些句子和句子之間的相似度
比如說
你可能再買一個文章
那麼這些文章呢
可能前面有些部分呢
寫到一個東西
後面的部分呢
又寫了一個東西
然後呢
它會把它分成很多句子
然後呢
去找到這麼多句子當中
哪些句子
它們比較相近
然後呢
如果說它們相近的話
那麼就把它合併在一起
OK
如果說呢
它們不相近的話
就把它們分開
通過這種方法呢
來去把它們聚成一個一個的塊
當然了
你也可以去設置相應的一些
長度也是可以設置的
就說長度最大長度呢
是不能超過的
OK
但是呢
你儘量的在這個長度範圍以內呢
儘量的把這一個大文章裏面一些相似的句子
基於相似度
那麼給它合併在一起
這是一個塊
好吧
然後呢
把一些不相干的
那麼就要分開
那麼這就要基於語意的這個chunking
OK
這個還是比較有意思吧
我覺得
好吧
所以說呢
這就是幾個經典的一個chunking的方案
但是前一段時間我還講過這個
Graphic ID
那個是另外一個思路了
好吧
傳統的chunking呢
主要就在幾個
地規的
基於逗號句號的
OK
基於文檔的
比如markdown的那些段落的
好吧
基於語意的
就說呢
它能夠找到這些文
這些段落的相似度
然後把相似的湊在一起
做成一個大的塊
就這個效果
好吧
那麼今天呢
我們會做一個地規的
也會做一個語意的
那麼這個文
這個markdown呢
今天就不做markdown了
就做兩個
而且呢
我們會用一個評分標準
這個也很有意思
這是這個部分的一個有趣的東西
我們還有一個評分
然後呢
來通過這個評分的來測試一下
那麼到底是地規的好呢
還是語意的好
注意啊
其實還不一定
我給你解釋一下
其實我測了還不一定
雖然說今天最後這個測試
還是基本上的語意呢
會更加好一些
然後呢
普通的地規的呢
稍微差一點
但其實呢
也差不了太多
我看了一下
其實差不了太多
好吧
偶爾還會出現
就這種地規的
比這個語意的還好一些
我也發現有這種情況
好吧
好
這個聊了之後呢
我們再看一下
一些比較重要的一些
呃
指標
指標好吧
好我們來看一下啊
一共有四個
這個一會兒我們在比較的時候呢
要產生這四個東西
要在比較的時候的代碼裏面
就要產生這四樣東西
這四個東西分別是什麼呢
我解釋一下啊
首先呢
是
我我我說一下
我這個我四個怎麼來的啊
首先
首先第一個呢
就是上下文的
這個上下文的信息
也就說呢
我們會通過
呃
地規的
分片和這個基於語意的chunking
來把這個文章分成一個一個段
原始的一個一個的段
注意啊
我們會把原始的文章啊
然後呢
通過不同的chunking的技術
然後呢
給它切成一個一個段
然後呢
把一個一個段呢
寫到這個列表裏面
也就是這個chunking的
OK
這是一個
好
然後呢
我們會根據就說
我現在有一有一句話
我有一句話
好吧
然後呢
我們通過大模型
根據這句話
你看你看我們的提示詞
提示詞
根據這句話
我們來產生一個問題
哎
這是反着啊
就是你基於啊
比如說你是一個老師
然後呢
你想提一個問題
就根據我們的這句話
然後呢
你去給他提一個問題
注意是基於上下文來產生一個問題
好
叫question
或者叫詢問
這是第二個指標
這是問題
對
是基於你現在有一個文章了
然後呢
你是比如說啊
提示詞呢
就說你是一個老師
那麼現在這是一個文章
然後呢
你基於這個文章呢
你給我出一個題
出一個問題
那麼那些你有多少段
那麼就基於這些段呢
會產生相應的對應的數量的一些問題
這就是問題
好吧
好
緊接着
緊接着你給他這個文檔和這個問題
問題
讓他去回答
注意啊
你給他這個文章和這個問題
注意啊
這個問題是基於這個就在基於這一段
就是基於這一段
然後呢
產生的問題
然後呢
你把這一段文檔和這個問題
那麼給到大模型
然後呢
去讓大模型的去產生一個回答
那麼這個回答就是他
就是正確的
期望的
準確的
我們期望的那種回答
好吧
因爲這是文章產生的問題
然後呢
我把問題和文章給你
那麼你產生的答案
當然應該是最準確的咯
那沒有疑問的
對吧
因爲就是基於這個內容產生的問題
那麼我問了這個問題
又把這個文章給你了
那麼你當然應該是最準確的一個回答
沒問題吧
好
然後進去啊
這個響應有什麼呢
響應就說呢
那麼我
我把這
我不是做這個chalk嘛
就是把它分片嘛
我把分片的這個東西寫到這個相量數據庫
然後呢
你根據這個問題在相量數據庫裏面去搜索
提取到的這個contact
對啊
那你搜索出來這個contact
跟我們這個contact可能就不一定了
然後呢
你基於這個問題和搜索到的contact的回答的
答案
啊
這叫response
這是這是正常走IG的流程
就是正常的
啊
你首先做chunking
然後呢
把它寫到這個數據庫裏面去
啊
然後呢
你再提問題
然後呢
基於問題呢
在數據庫裏面的找到相應的contact
所以你找出來的contact跟這個contact可能就不是一個contact了
不一定的
對吧
然後呢
你基於這些contact做的回答叫response
懂了
這就是一會兒他要做測試的四個數據
瞭解
這是原始的一個段落
一個chunking出來的段落
一個語句
然後呢
這是根據這個段落提的問題
然後呢
這是根據這個段落和問題
回答的答案
這肯定是最準確的答案
OK
這個answer呢
就是說基於這個問題
在向量數據庫去搜索相應的contact
然後回答出來的問題
全是用大模型來實現的
好
然後呢
你把這個東西給他
然後呢
他就可以去幫你做一個評分
他會幫你回
他給你做相應的這些的評分
好吧
好
我們來看一下
這有幾個比較有意思
當然我們主要是做兩個
在這裏面主要是兩個
一個呢
叫做
召回率
recall
今天我也學習了一下
什麼叫recall
好吧
然後呢
還有上下文的精度
這兩個東西
好吧
我來解釋一下
什麼叫做這個
recall
recall很簡單啊
剛纔我說過
我們是最開始是基於一個固定的內容
然後呢
產生的問題
那這叫contact
那麼
然後呢
基於這個問題和這個內容產生的答案
這是最準確的
對吧
好
然後呢
這個response是怎麼來的呢
是基於你的問題
在那個相聯數據庫裏面
通過相似度找到相應的contact
那麼也就是說
你從那個相聯數據庫找到的contact
跟這個contact可能不一定
可能不一定是一樣的
那麼
這個之間
這就有一個召回率的問題
如果說
那麼你召回的那幾個內容
沒有一個是這個原始的contact
那麼你召回率就是零
這麼簡單
好吧
這是這個GDP時候給我的一個介紹
道理就很簡單
就說呢
什麼叫召回率呢
就是你找到的內容和在這個找到的內容和整個這個
整個相聯數據庫裏面相關的內容來比的一個比值
那麼就叫做召回率
他舉了一個例子
比如說那麼這有五個段落
那麼你提一個問題
什麼叫機器學習的原理
那麼其實真正跟機器學習原理相關的
那是第二號段落和第四號段落
是跟你這個問題是真正有關係的
但是呢
你通過IG的索引
只返回了第二個段落和第三個段落
那麼第三個段落
其實跟機器學習沒有關係
那麼你的召回率呢
就是上面的是一個有效的
因爲只有二號段落是有效的
所以說上面是1
但是呢
在整個相聯數據庫裏面呢
跟你這句話相關的有兩個
所以說分52
所以說那的召回率是0.5
OK
召回率越高
肯定越好
召回率越高
比如說我就完滿
就說呢
我找到了這個相聯數據庫裏面全部的跟你這個問題相關的內容
OK
這叫召回率
那麼一會兒呢
他可以幫你去算相應的一些結果
好吧
叫recall
這是一個概念
好還有一個呢
就是精度
那是召回率
還有一個呢
就是精度
就是你找到這個文
你找到這個文檔的內容
和你的問題的匹配度
就說雖然說呢
你的召回率很高
但是你召回的這些東西吧
確實呢
跟我們的問題呢
是有關係的
但是呢
也不是特別有關係
那麼這叫做精度
你召回率是很高
就是確實你都給我召回來了
跟他有關的
你都召回來了
這沒問題
但是呢
你召回來這些玩意兒呢
跟我們的問題呢
其實不是你要說完全不搭邊吧
也肯定是有搭邊的
但是呢
他也不是特別的有太多意義
這叫做精度
好吧
OK
他這就說了一個比較有趣的
就是說
比如說高精度
低召回率
什麼意思呢
就是說
其實這個相關數據庫裏面呢
有很多相關的
但是你沒找着
你召回率比較低
但是呢
你找回來的這些內容
跟你的問題呢
是比較匹配的
這叫做高精度
但是召回比較低
好吧
那麼低精度呢
召回比較高
就是說呢
基本上你就召回來了
就是說
所有相關的就找回來了
但是呢
跟我的問題呢
好像也不是很搭
這叫做低精度高召回率
好吧
那麼當然我們希望的是
高精度高召回率
好吧
那麼
當然以前呢
我們是這麼說
但是呢
以前呢
我們其實
就是我們如果說
要對IG進行一些調整
我們來看一下
哪一個
哪一個這個方案
會更適合我們這種場景
那麼這個時候呢
我們需要一個真正的一個
指標
對吧
你得給我一個說法
就是我們比如說
爲什麼說你的成績好
那麼因爲你考了100分
爲什麼我成績就沒有你好
因爲我考了80多分
那麼我們最好有一個指標
不能用
用嘴說
對吧
好
那這個時候呢
我們來看一下我們的代碼
這也是
這個文章比較有趣的地方
當然我參考的是一個
一個老外哥們寫的文章
好吧
那麼
然後呢
我順便也說一下
我的這個學習套路
學習套路
那個文章
我會找到那個文章
應該是這個文章
這是一個老外寫的
好吧
我說一下我的學習套路
首先呢
我這個貼其實不方便
其實有時候貼
當然貼
我看那個文章還是比較好貼的
但有時候他不允許貼
我呢
基本上就是直接截圖
是可以截圖的
我先直接截圖
把所有的截圖
全部都截給他
全部全部
全部截給他
截完了之後呢
我就
我說什麼呢
我就說
你需要幫我
先我把圖給你
然後呢
你先幫我翻譯
然後呢
再給我解釋解釋
裏面相應的內容
就先截完
先不管
全部截完
截完之後呢
我說你幫我翻譯一下
然後再幫我解釋一下
然後呢
他翻譯完了之後呢
就幫我解釋
解釋了
這個過程中呢
我就有一些
字典就不是很瞭解
比如說
我就招回律呀
對什麼忠誠度啊
這些我就不是很瞭解
我就說你給我舉例
我不懂
這個東西
那你應該給我一個案例
給我解釋一下
好吧
然後呢
他就
我覺得剛纔這個案例
我就用了這個案例
我覺得這個案例還是不錯的
然後呢
他就基於這個案例呢
給我
就介紹了一下
什麼叫做地規
怎麼來實現的
我覺得這個還不錯
好吧
OK
這是一個學習方案
然後緊接着呢
就是
我讓他就是產生代碼
那他幫我說
這這這
重點的代碼都這些
好吧
然後呢
就幫我產生
當然這個代碼磨了很久
因爲
我覺得問題主要是在於
那個哥們兒的那個代碼
是用的
Longchain 0.1的
我現在0.3
然後呢
有些內容呢
還是不一樣
有很多很多的爆錯
就解決不了
好吧
磨了很久
OK
然後呢
他的PDF呢
也是一個
我也不知道是什麼
學術論文一樣的東西
我這個PDF呢
是一個
思科的一個
英文的配置文檔
配置微量相關的
一個文檔
好吧
稍微做了一些改變
反正其實也出了很多問題吧
好吧
然後呢
他用的這個
他用的OpenAI的這個
API
我用的
本地的歐拉瑪
歐拉瑪這個MISO
我用的這個MISO
OK
用了他來做的這個
都是本地
都是本地模型
不管是這個
計算這個像量的
還是這個大模型
都是歐拉瑪本地的
本地的模型
好吧
OK
這個如果說你用OpenAI的話
可能還花不少錢呢
因爲
分片
也是需要弄的
而且他
你想一個問題
他不僅要去
切片
然後呢
他要切片
這個就要
就有些消費了
是吧
不僅要切片
然後呢
要基於每一片
這個每一
差不多二三百片
好吧
然後呢
要提二三百個問題
我來了吧
好
然後呢
又基於
二三百個片和問題
產生準確的答案
然後呢
再基於問題
然後呢
去
然後呢
去IG
然後得到你IG的答案
這個
這個應該要費不少的力
買好吧
所以說呢
我這是用的本地
本地算的
本地算的話
差不多得算個二十多分鐘
纔算得出來
好吧
OK
這是最終的一個精度
他會幫你
他會幫你提他
這是46個
然後呢
這是
這是差不多50個
50個
開始呢
應該就是這個地規
地規的
然後呢
地規的有50個吧
然後呢
這個基於語意的有46個
OK
然後最終相應的
他會給你
相應的召回
的一些精度
這是召回率
召回率
OK
然後呢
還有最後呢
會給你打印一個相應的精度
OK
召回的一些精度
好吧
OK
好
我們來看看這個代碼
我覺得代碼還是比較有意思的
首先我們來看看簡單的
就是普通的基於地規的
這個比較簡單
我給大家代碼
從頭到尾給大家看一遍吧
看一遍啊
首先呢
讀取這個PDF文檔
這個PDF呢
就是一個四顆的配置
VLAN的這麼一個
一個文檔
配置VLAN
我記得是VLAN
不是不是VLAN
是介紹四顆C8000的路由器的一些參數的文檔
對
這是一個介紹C8000的一些參數的文檔
不算太大22頁
這是介紹C8K的一些參數的文檔
都是源自於這個文檔
好吧
然後呢
Longchain的好處呢
就給你提供了這個
PDF Loader
把它直接可以讀取
讀取完了之後呢
就可以用Longchain的分片
分片呢
我們用的地規
用的地規
那麼每一片呢
是每一塊呢
就是1000
然後呢
上上塊和下塊呢
沒有重疊
它其實最好有重疊會好一些
好吧
通過拍上的L1N來計算它的長度
啊
就是正常就用符號
逗號句號來分割就可以了
不用準準表達詞來分割
好吧
好
然後呢
這就OK了
然後呢
這個大模型
用的歐拉瑪本地的這個Mistral
然後呢
這也是歐拉瑪的一個向量模型
都用的歐拉瑪本地的這些模型
OK
好
然後呢
給它寫到這個數據庫
寫到數據庫
這寫到一個向量數據庫
這個呢
直接在內存裏面的
就沒有去拉一個真正的服務器了
直接放到內存裏面的
好
然後呢
有
這是一個RIG的提示詞
就是說呢
基於RIG
就是說
要查詢這個
查詢這個數據庫
查詢我們的這個數據庫
然後找到相應的
片
內容
上下文
然後回答問題
OK
這是傳統的一個操作
這是普通的
先普通的低規分片
然後寫到數據庫
然後呢
做一個RIG
從這個數據庫提取內容
來回答問題
這是一個普通的
最近才升級的這個浪遷
0.3.0
這個確實存在不兼容問題
我怎麼搞都搞了好多遍
都沒把這個玩搞定
好吧
最終還是用老辦法
所以說現在有些這個版本不兼容的一些提示
但不重要
只是警告而已
好吧
最多單塊卡能夠支持32個口
32個口
我再試試
好像我覺得不是吧
8個口
怎麼回答32個口
32個
我們看看這個
這是語意
語意好吧
前面加載PDF沒問題
然後呢
用的這個歐拉瑪的本地的像這個項量算法
沒問題
好
這是語意
語意
也是浪遷提供的
語意的chunker
OK
用語意來做風格
OK
對他這個好用好多種類型
我其實用的其中的一種
我記得還是默認
我記得他這有介紹
有介紹
我給他翻一下
我用的他默認的
就如何去找到
這應該就是一些相處的算法
相似度的算法
該怎麼
怎麼表示他們是相似的
OK
那麼我用的是他的默認默認的
就是如他不是先分成很多的句子嗎
然後呢
基於一個相處的算法
給他們相似的都放在一起
然後呢
不相似的就分開
然後這樣的話
做成把他轉換成一個一個的塊
然後寫到這個相量數據庫裏面去
OK
這是相應的一些算法
我用的默認的
好吧
那個老外的文檔
他也是用的默認的
其實就是這麼一個東西
基於語意的
chunker
OK
然後弄完之後呢
就能夠給他寫到這個
相量數據庫
OK
一樣的IG
然後呢
從相量數據庫裏面來提取相應的數據
回答這個問題
這個問題
我就用他的
其實用英文會比較好一些
他這個中文知識確實效果不太好
你看最終我導出了一個一個cell
能夠去看到他相應的問題
因爲他做這個語意分詞的時候
用英文來做的
不靠譜
還是
這個應該差不多
你看最多的是他的48線的網卡
這個你看用了英文之後就對了
就都是48
用中文的就不行
因爲你用的這個是英文的
對吧
做了分片
然後寫了相量數據庫
然後呢
你來一個這個中文的
他確實不太回答
所以說呢
你用一個英文的問題
然後呢
要求他用中文回答起來就可以了
這個就應該就沒有什麼問題
都是一樣的
應該都是48個
而且他有時候還能幫你列出來
相應的這個卡的名字
對吧
這就對了
沒問題啊
好那麼這是一個普通的
然後我們來看一下
他的比較算法比較有意思
前面都差不多
這是地規的chunking
然後呢
這是基於語意的chunking
好
然後呢
都寫到數據庫相量數據庫
這都寫到相量數據庫裏面去
這也是IG的
這是這是他的IG
這是地規的IG
這是基於語意的IG
好吧
然後呢
有這麼四個列表
看一下這比較有意思啊
首先第一個
基於你的內容
不是分片嗎
chunk嗎
你的內容
然後呢
去通過這個chunk
然後產生相應的問題
把問題寫到這裏面來
他的提示詞很簡單
提示詞就說呢
你是一個老師
然後呢
現在有一段話
然後呢
基於這段話
你幫我出個問題
就這麼個意思
你只需要把內容給他
他就能夠幫你出問題
這是一個
出問題
好
然後呢
緊接着呢
直接把你的內容
直接把你的原始內容
寫到contact
這個列表裏面去
這是一個
好
然後呢
緊接着
基於你的問題和內容
產生一個準確答案
看一下啊
那麼這個提示詞呢
就是說
我給你內容
準確的內容
和基於這個內容
剛纔產生的問題
然後呢
你給我產生一個答案
這個部分
這是一個chunk
用的新的提示詞
提供了問題和內容
然後呢
得到了答案
把答案呢
放到他這個列表裏面去
好
最後
那麼
你通過問題
然後呢
我們通過
這個chunk
來得到
得到
答案
把答案呢
放到這個列表裏面去
也就是說呢
最終呢
你會有四個列表
不僅是地規的
有這四個
然後呢
基於語意的
也會有這四個
OK
好
緊接着呢
有了這些
有了這些列表之後
OK
然後呢
我們就可以通過
他的這個評估的一個模塊
有一個評估的模塊
這是一個算法
你可以去了解一下
這是一個算法
OK
他有一個評估的
這麼一個工具
OK
你可以去把剛纔的東西
給傳進去
他就需要這四個
就是
內容
問題
準確的答案
和你通過
IG得到答案
然後呢
他最終呢
你要給他一個
嵌入什麼
這個項鍊模型
和一個大模型
然後呢
他會幫你返回
這相應的指標
然後呢
會幫你產生一個
pandas的
data frame
OK
然後呢
我們可以打印一下
然後呢
可以幫你保存到
一個xml裏面去
這就是他
打印的
這個data frame的結果
OK
然後呢
最終呢
會幫你去計算
他的這個
精確度的
平均值
精確度
主要是這個
精確度
OK
精確度
的一個平均值
精確度
很明顯的
我們的這個
語義的會更加
精確一些
其實一陣一陣的
不一定
會精確一些
好吧
然後呢
最終呢
幫我們導出了
三個excel
一個是
地規的
一個是
語義的
一個是最終的
他們的一個
就這個值
OK
然後呢
裏面就會有
往裏記了
問題
內容
回答
這是真實的回答
然後呢
這是通過IG的
這個回答
然後呢
緊接就有
就有什麼
召回略
相關性
剛纔不是有相關性嗎
這好像是中程度
這是精度
好吧
這兩個詞
我們來看一下
就相關性
就是你的想念
合理的問題的相關性
相關性
OK
然後呢
忠實度呢
就是說
你這個想念
你既然
你爲什麼做這個回答
是因爲
我們的
提供的消息裏面
有消息
所以說呢
理財
基於這個消息
做了這樣的回答
這叫做忠實性
OK
那麼也就是說呢
他其實幫我提供了
四個內容
分別是精度
召回率
相關性
和忠實性
四個指標
最終呢
我們打印的一個
平均值呢
是這個精度的
精度
當然了
也可以打一些
其他的
好吧
召回率的
或者說
都可以
最終打的是精度的
是這個精度的
OK
你的回答的問題
和這個
你回答的這個
你得到的這些文檔
和這個問題之間的
一個精度
OK
很明顯
這個剛纔我們看到了
我們的語義的
會更加精度會高一些
好吧
OK
那麼今天呢
差不多我就
這個直直點吧
我就忙活到這
一會兒還有其他的
精華論要做
好吧
今天我就講到這
那麼至少呢
今天瞭解到了這些
chalking的幾個方案
然後呢
瞭解到什麼叫做
一歸
chalking
瞭解到什麼叫
語義的chalking
瞭解到了
怎麼去
主要的
這幾個詞
比較重要
我也瞭解到了
然後呢
如何去獲取
就是如何去評估
兩個這個chalking的算法
這個算法
哪個會更好
那麼這些指標
那麼
去怎麼去得到
怎麼去比較它
一個準確的一個值
那麼我覺得
也是今天我所學到的
一個知識點
好吧
今天就先把這個
精華論
我們就講到這
我們就結束了
好吧
