最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于本地知識(shí)的問(wèn)答機(jī)器人langchain-ChatGLM 大語(yǔ)言模型實(shí)現(xiàn)方法詳解

 更新時(shí)間:2023年07月17日 09:01:55   作者:無(wú)涯  
這篇文章主要介紹了基于本地知識(shí)的問(wèn)答機(jī)器人langchain-ChatGLM 大語(yǔ)言模型實(shí)現(xiàn)方法,結(jié)合具體實(shí)例形式詳細(xì)分析了langchain-ChatGLM的功能、原理、部署方法與操作注意事項(xiàng),需要的朋友可以參考下

背景

ChatGPT火了后,各種大語(yǔ)言模型(LLM)模型相繼被發(fā)布,完全開(kāi)源的有ChatGLM、BLOOM、LLaMA等。但是這些模型學(xué)到的知識(shí)是滯后的(比如ChatGPT的知識(shí)是截止到2021年),并且這些知識(shí)是通用領(lǐng)域的。

在實(shí)際應(yīng)用場(chǎng)景中,除閑聊機(jī)器人外,大多數(shù)機(jī)器人是為了完成特定任務(wù)的。比如數(shù)字人虛擬主播、某公司的智能客服等都需要圍繞具體的業(yè)務(wù)來(lái)進(jìn)行問(wèn)答。如何將具體業(yè)務(wù)知識(shí)融合到大語(yǔ)言模型里,是問(wèn)答機(jī)器人落地應(yīng)用需要考慮的一個(gè)重要問(wèn)題。

一、langchain-ChatGLM簡(jiǎn)介

langchain-ChatGLM是一個(gè)基于本地知識(shí)的問(wèn)答機(jī)器人,使用者可以自由配置本地知識(shí),用戶(hù)問(wèn)題的答案也是基于本地知識(shí)生成的。github鏈接為:GitHub - imClumsyPanda/langchain-ChatGLM: langchain-ChatGLM, local knowledge based ChatGLM with langchain | 基于本地知識(shí)的 ChatGLM 問(wèn)答。

二、以淘寶衣服為例,測(cè)試問(wèn)答效果

以淘寶衣服屬性構(gòu)建本地知識(shí),測(cè)試問(wèn)答效果。將淘寶鏈接為https://detail.tmall.com/item.htm?abbucket=6&id=656544342321&ns=1&spm=a230r.1.14.48.b3f84f64A9YLJ0的"寶貝詳情"和"尺碼推薦"整理成《local_knowledge_clothing_describe.txt》,內(nèi)容如下:

身高:160-170cm, 體重:90-115斤,建議尺碼M。
身高:165-175cm, 體重:115-135斤,建議尺碼L。
身高:170-178cm, 體重:130-150斤,建議尺碼XL。
身高:175-182cm, 體重:145-165斤,建議尺碼2XL。
身高:178-185cm, 體重:160-180斤,建議尺碼3XL。
身高:180-190cm, 體重:180-210斤,建議尺碼4XL。
身高:180-195cm, 體重:210-230斤,建議尺碼5XL。
面料分類(lèi):滌綸
圖案:幾何圖案
領(lǐng)型:連帽
衣門(mén)襟:拉鏈
顏色:黑色302春秋款(斜插口袋) 深灰色302春秋款(斜插口袋) 藍(lán)色302春秋款(斜插口袋) 米色302春秋款(斜插口袋) 黑色303春秋款(工裝口袋) 深灰色303春秋款(工裝口袋) 藍(lán)色303春秋款(工裝口袋) 黑色303(冬季棉衣款加棉加厚) 深灰色303(冬季棉衣款加棉加厚) 藍(lán)色303(冬季棉衣款加棉加厚) 黑色302(冬季棉衣款加棉加厚) 米色302(冬季棉衣款加棉加厚) 黑色303春秋款+黑色302春秋款 深灰色303春秋款+黑色302春秋款
袖型:收口袖
適用季節(jié):春秋
袖長(zhǎng):長(zhǎng)袖
厚?。撼R?guī)
適用場(chǎng)景:其他休閑
衣長(zhǎng):常規(guī)款
版型:寬松型
款式細(xì)節(jié):假兩件
工藝處理:涂層
適用對(duì)象:青少年
面料功能:防風(fēng)
穿搭方式:外穿
材質(zhì)成分:聚酯纖維100% 

加載《local_knowledge_clothing_describe.txt》作為本地知識(shí),問(wèn)答效果如下所示:

用戶(hù):身高173,體重144斤,選什么尺寸客服: 您的身高為173厘米,體重為144斤,建議選擇尺碼為XL。這個(gè)尺寸適用于身高在170-178厘米之間,體重在130-150斤之間的人。選擇XL尺寸可以確保衣服能夠合適地遮蓋住身體,同時(shí)不會(huì)過(guò)小或過(guò)大,確保穿著舒適。用戶(hù):衣服是什么材質(zhì)客服: 衣服的材質(zhì)成分為聚酯纖維100%

從測(cè)試的問(wèn)答效果上來(lái)看,滿(mǎn)足了基本的要求,具體情況仍需要更多的實(shí)測(cè)結(jié)果來(lái)說(shuō)明。

三、langchain-ChatGLM的原理

先上圖,langchain-ChatGLM的架構(gòu)如下圖所示:

圖1、langchain-ChatGLM的架構(gòu)

3.1、從本地知識(shí)中獲取與用戶(hù)query相關(guān)的context

通過(guò)Faiss搜索得到與query_embedding關(guān)系最緊密的Top K個(gè)Document,將這些Document的內(nèi)容按換行符拼起來(lái)作為query的context。舉例說(shuō)明如下圖所示:

圖2、通過(guò)Faiss搜索得到query相關(guān)的context

3.2、用query和context填充模版得到prompt

模版示例如下,可根據(jù)問(wèn)答效果自行修改

prompt_template = """基于以下已知信息,簡(jiǎn)潔和專(zhuān)業(yè)的來(lái)回答用戶(hù)的問(wèn)題。不允許在答案中添加編造成分。
    已知內(nèi)容:
    {context}
    問(wèn)題:
    {query}"""

將context和query填充到模版得到的prompt,加它輸入給ChatGLM-6B就能生成response。

四、langchain-ChatGLM使用中

五、問(wèn)答需要優(yōu)化的環(huán)節(jié)

個(gè)人認(rèn)為langchain-ChatGLM是一種使用本地知識(shí)進(jìn)行問(wèn)答的框架,它的實(shí)際問(wèn)答效果與下面兩個(gè)問(wèn)題相關(guān):

1、如何通過(guò)得到query相關(guān)性高的context,即與query相關(guān)的Document盡可能多的能被召回;

2、如何讓LLM基于query和context得到高質(zhì)量的response。

5.1、讓query相關(guān)的Document盡可能多的被召回

將本地知識(shí)切分成Document的時(shí)候,需要考慮Document的長(zhǎng)度、Document embedding質(zhì)量和被召回Document數(shù)量這三者之間的相互影響。在文本切分算法還沒(méi)那么智能的情況下,本地知識(shí)的內(nèi)容最好是已經(jīng)結(jié)構(gòu)化比較好了,各個(gè)段落之間語(yǔ)義關(guān)聯(lián)沒(méi)那么強(qiáng)。Document較短的情況下,得到的Document embedding的質(zhì)量可能會(huì)高一些,通過(guò)Faiss得到的Document與query相關(guān)度會(huì)高一些。

使用Faiss做搜索,前提條件是有高質(zhì)量的文本向量化工具。因此最好是能基于本地知識(shí)對(duì)文本向量化工具進(jìn)行Finetune。另外也可以考慮將ES搜索結(jié)果與Faiss結(jié)果相結(jié)合。

5.2、基于query和context讓LLM得到高質(zhì)量的response

有了query相關(guān)的context后,如何讓LLM生成高質(zhì)量的response,也是一個(gè)非常重要的問(wèn)題。優(yōu)化的點(diǎn)有兩個(gè):①、嘗試多個(gè)的prompt模版,選擇一個(gè)合適的,但是這個(gè)可能有點(diǎn)玄學(xué);②、用與本地知識(shí)問(wèn)答相關(guān)的語(yǔ)料,對(duì)LLM進(jìn)行Finetune。

補(bǔ)充:ChatGML模型對(duì)于硬件的要求比較高,內(nèi)存需要32G以上,半精度的 ChatGLM2-6B 模型需要大概 13GB 內(nèi)存。

查看專(zhuān)屬GPU內(nèi)存:因?yàn)镃hatGLM2內(nèi)存要求6GB以上才可以發(fā)揮出性能要求。

下表為ChatGLM2-2B的根據(jù)顯存大小決定的問(wèn)答性能。

量化等級(jí)最低 GPU 顯存(推理)最低 GPU 顯存(高效參數(shù)微調(diào))
FP16(無(wú)量化)13 GB14 GB
INT88 GB9 GB
INT46 GB7 GB

相關(guān)文章

  • python基礎(chǔ)之定義類(lèi)和對(duì)象詳解

    python基礎(chǔ)之定義類(lèi)和對(duì)象詳解

    這篇文章主要為大家詳細(xì)介紹了python的定義類(lèi)和對(duì)象,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02
  • 詳解Python當(dāng)中的字符串和編碼

    詳解Python當(dāng)中的字符串和編碼

    這篇文章主要介紹了詳解Python當(dāng)中的字符串和編碼,代碼基于Python2.x版本,文中所述皆是Python學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-04-04
  • Python四款GUI圖形界面庫(kù)介紹

    Python四款GUI圖形界面庫(kù)介紹

    這篇文章介紹了Python的四款GUI圖形界面庫(kù),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Python?tkinter中l(wèi)abel控件動(dòng)態(tài)改變值問(wèn)題

    Python?tkinter中l(wèi)abel控件動(dòng)態(tài)改變值問(wèn)題

    這篇文章主要介紹了Python?tkinter中l(wèi)abel控件動(dòng)態(tài)改變值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • 使用Python編寫(xiě)一個(gè)沙箱隔離功能

    使用Python編寫(xiě)一個(gè)沙箱隔離功能

    這篇文章主要為大家詳細(xì)介紹了如何通過(guò)?Docker?實(shí)現(xiàn)一個(gè)簡(jiǎn)單的沙箱隔離應(yīng)用,然后提供一個(gè)通過(guò)?Python?模擬沙箱的例子,感興趣的可以了解下
    2024-12-12
  • Python管理Word文檔屬性與統(tǒng)計(jì)信息完整指南

    Python管理Word文檔屬性與統(tǒng)計(jì)信息完整指南

    在日常辦公自動(dòng)化場(chǎng)景中,為?Word?文檔添加元數(shù)據(jù)信息是提升文檔管理效率的重要手段,本文將介紹如何使用?Python?實(shí)現(xiàn)?Word?文檔的屬性管理和信息統(tǒng)計(jì)功能,感興趣的小伙伴可以了解下
    2026-04-04
  • python打印文件的前幾行或最后幾行教程

    python打印文件的前幾行或最后幾行教程

    今天小編就為大家分享一篇python打印文件的前幾行或最后幾行教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • pandas將DataFrame的列變成行索引的方法

    pandas將DataFrame的列變成行索引的方法

    下面小編就為大家分享一篇pandas將DataFrame的列變成行索引的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • Python調(diào)用Prometheus監(jiān)控?cái)?shù)據(jù)并計(jì)算

    Python調(diào)用Prometheus監(jiān)控?cái)?shù)據(jù)并計(jì)算

    Prometheus是一套開(kāi)源監(jiān)控系統(tǒng)和告警為一體,由go語(yǔ)言(golang)開(kāi)發(fā),是監(jiān)控+報(bào)警+時(shí)間序列數(shù)據(jù)庫(kù)的組合。本文將介紹Python如何調(diào)用Prometheus實(shí)現(xiàn)數(shù)據(jù)的監(jiān)控與計(jì)算,需要的可以參考一下
    2021-12-12
  • python提取文件中特定字符串方法實(shí)例

    python提取文件中特定字符串方法實(shí)例

    今天搞了一天的文本處理,發(fā)現(xiàn)python真的太適合做數(shù)據(jù)處理了,下面這篇文章主要給大家介紹了關(guān)于python提取文件中特定字符串的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06

最新評(píng)論

湘阴县| 丰台区| 大理市| 平南县| 南开区| 武汉市| 潞西市| 正蓝旗| 禹城市| 基隆市| 宁都县| 龙胜| 中山市| 汉沽区| 西贡区| 武夷山市| 岐山县| 峨山| 香港| 洛隆县| 乌拉特前旗| 峨眉山市| 邵武市| 龙海市| 长宁区| 丰宁| 安泽县| 织金县| 安阳市| 昌平区| 陆河县| 蕲春县| 皮山县| 延川县| 平武县| 宁城县| 栾川县| 渝北区| 梨树县| 雅安市| 武山县|