德扑之星有限公司官方网站

基于CMS的私有知識庫與公共人工智能的集成

 

人工智能可以說是未來10年的一個趨勢和風口웃유ღ♋♂,其中OpenAI是首先推出的一種人工智能技術驅動的自然語言處理工具♀☿☼☀☁☂☄,它基于Transformer神經網絡架構❻❼❽❾❿⓫⓬⓭⓮⓯⓰,這是一種用于處理序列數據的模型⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾,擁有語言理解和文本生成能力㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂,可以不斷學習和升級☾☽❄☃,不僅僅是傳統的檢索功能❻❼❽❾❿⓫⓬⓭⓮⓯⓰。

人工智能的出現ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ,對很多行業㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂,很多產業ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ,很多應用都是顛覆性的改革ⓚⓛⓜⓝⓞⓟⓠⓡⓢ。

其中對于科研⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓、教學⑰⑱⑲⑳⓪⓿❶❷❸❹❺、圖書館領域內⒜⒝⒞⒟⒠⒡⒢⒣⒤,通過人工智能工具⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾,提煉和學習現有知識✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴,學習私有領域的知識⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓,然后疊加AI本身的知識웃유ღ♋♂,可以實現更高級更專業的人工智能機器人✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴、生成新的學習素材❣❦❧♡۵。

本文就如何訓練一個私有化的ChatGPT人工智能模型做一個簡單介紹⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ,類似于訓練一個專業領域的人工智能機器人✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴。

 

 

 

訓練私有化ChatGPT的方法

 

目前根據ChatGPT的官網文檔❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣,有兩類方式訓練自己的ChatGPT

1. Embeddings 

2. Finetune

 

第一個Embeddings⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ,類似于聯合查詢ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,將自有的數據進行向量化存儲✺ϟ☇♤♧♡♢♠♣♥,通過OpenAI和Embedding的向量數據進行聯合查詢ⓚⓛⓜⓝⓞⓟⓠⓡⓢ。

第二個FinetuneⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ,類似于私有化一個自定義的模型⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾,這個模型進行投喂了大量的私有數據ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,所以AI就會比較專業的進行回答相關問題⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾。

 

Embeddingsⓚⓛⓜⓝⓞⓟⓠⓡⓢ,

主要功能是通過OpenAI的Embedding生成接口⑰⑱⑲⑳⓪⓿❶❷❸❹❺,來將本地的數據生成向量數據⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ,為什么要用OpenAI的embeddings接口呢♀☿☼☀☁☂☄?

因為OpenAI通過人工智能的方式ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ,生成的向量數據更加準確❣❦❧♡۵,所以Embeddings的方式主要是接口生成的向量數據☈⊙☉℃℉❅,然后可以將這些向量數據保存到本地的向量數據庫❣❦❧♡۵,比如MongoDB等等⒜⒝⒞⒟⒠⒡⒢⒣⒤,然后通過向量查詢獲取自己想要的結果❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣。

具體可以參考youtube這個介紹:

https://www.youtube.com/watch?v=ySus5ZS0b94

 

 

當然ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ,還有另外一種應用㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂,是在上面的步驟上增加一個OpenAI API接口的調用㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂。

1. 生成Embeddings⒜⒝⒞⒟⒠⒡⒢⒣⒤,存儲向量

2. 用戶搜索⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾,通過input搜索向量♀☿☼☀☁☂☄,將搜到的結果發送給ChatGPTⓣⓤⓥⓦⓧⓨⓩ,讓ChatGPT根據輸入的內容進行回答

最終生成的prompt類似下面結構:

 

請用下面的文章來回答如下問題ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,

文章摘要:xxxx

文章摘要:xxx

...

問題:請問xxxx

 

具體的代碼可以參考這篇文章介紹:

https://cookbook.openai.com/examples/question_answering_using_embeddings

 

 

 

Finetune

 

Finetune是一種類似于對模型的優化ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ,他是長期的持續的❻❼❽❾❿⓫⓬⓭⓮⓯⓰,對于大量數據或者對于某個特定領域的綜合知識可以采用這種方式㈠㈡㈢㈣㈤㈥㈦。

Finetune一旦完成☾☽❄☃,那么后續就是可以持續的調用這模型獲取答案웃유ღ♋♂,所以后續的prompt就無需再給ChatGPT更多的提示和樣例參考⒜⒝⒞⒟⒠⒡⒢⒣⒤。

Finetune可以有下面幾步:

1. 準備數據

2. 訓練一個模型

3. 評估訓練結果ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,可以不斷重復步驟2

4. 使用訓練好的模型

需要注意的是FineTune的模型會是私有的ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ,比如my_modalⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ,另外一個是上傳的數據是有大小限制的ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ,目前最大1GB限制⑰⑱⑲⑳⓪⓿❶❷❸❹❺。

1. 數據格式的要求參考 

https://cookbook.openai.com/examples/chat_finetuning_data_prep

2. OpenAI可視化操作界面: 

https://platform.openai.com/finetune 

3. 具體可以參考OpenAI的官方文檔 

https://platform.openai.com/docs/guides/fine-tuning

 

 

 

私有化Embeddings和Finetune的區別

 

私有化Embeddings和Finetune有什么區別呢✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴? 

目前來看主要是應用場景不同⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ,Embedding主要偏向更加準確的結果❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣,精準的結果ⓣⓤⓥⓦⓧⓨⓩ,并且時效性短❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣,不需要長時間記憶❣❦❧♡۵,另外✺ϟ☇♤♧♡♢♠♣♥,更多配合向量數據庫查詢ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,應用于更垂直的領域ⓚⓛⓜⓝⓞⓟⓠⓡⓢ。

而對于Finetune來說ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ,其答案更加通用性❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣,常識性⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾,為一般應用目的❣❦❧♡۵,給其投喂數據的主要目的是彌補其知識面不足⑰⑱⑲⑳⓪⓿❶❷❸❹❺,增加更多物料ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ。

主要應用場景如下: 

1.  答案檢索

2.  內容分類

3.  相關推薦

4.  異常檢測

而Finetune的應用場景主要表現在如下幾個方面:

1. 新建一個新的回答風格⒜⒝⒞⒟⒠⒡⒢⒣⒤、方式

2. 對于原有模型的內容提升ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ、內容糾錯

3. 處理更多邊緣性問題

 

可以看OpenAI這篇討論 https://community.openai.com/t/fine-tuning-vs-embedding/35813/10

可以參考Youtube的這個介紹

https://www.youtube.com/watch?v=_wtfszFzqt0 

 

 

后記

 

不管是那種數據投喂方式⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ,最終都需要數據的準備ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ,所以CMS的內容管理系統在此刻發揮了重要作用✺ϟ☇♤♧♡♢♠♣♥,如果在具備原始數據的情況下☾☽❄☃,訓練一個自定義個ChatGPT模型那么將是非常快速和高效的⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯。

因此웃유ღ♋♂,ChatGPT與內容管理的最終整合⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ,能夠將AI應用到具體的數據應用層面❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣,發揮更高作用⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯。

 

創作不易⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ,轉載請注明出處①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯!

 

更多Drupal CMS相關內容ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ,請參考我們其他相關文章✵✶✷✸✹✺✻✼❄❅,

 

1⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯、常見開源可視化低代碼頁面構建框架對比

2♦☜☞☝✍☚☛☟✌✽✾✿❁❃、Drupal 的OpenAI模塊使用介紹

3①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯、基于ChatGPT的Drupal模塊應用

4㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂、常見的CMS平臺比較

5㈠㈡㈢㈣㈤㈥㈦、在線展覽和多媒體展示建設方案

6㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂、構建英文網站應該用什么框架⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾?

7ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ、如何通過Drupal Rector來快速升級Drupal

 

德扑之星官网下载 网站地图