基于OpenAi通用特定領域的智能語音小助手
無窮盡的Q&A
釘釘...釘釘... 雙雙同學剛到工位,報銷答疑群的消息就萬馬紛沓而來。她只能咧嘴無奈的搖搖頭。水都還沒有喝一口就開始“人工智能”的去回復。原本很陽光心情開始蒙上一層薄薄陰影。在這無休無止的Q&A中,就算你對工作有磐石一般強硬,有蘆葦一般堅韌... 也經(jīng)不住如此水滴石穿般消磨。工作激情便如磨刀之石,不見其消,日有所損。
然則,不只雙雙有這樣的困境,人事的同學也是每天為各種簡單的咨詢擾得不勝其煩,牢騷滿腹;還有負責合同用章的coco同學同樣不堪其擾... 更讓人苦惱是無人值班的周末,問的同事在焦急的等待,而支持的同事可能無法及時響應...
“母嬰護理”做為公司的核心業(yè)務,雖然每個護士同學上崗前都有過專業(yè)的訓練,但是在實踐過程中難免遇到各類問題,這時她們只有去問有經(jīng)驗的護士或者護士長...
所有種種問題,最后都是由一名“專家”完成了解答。這個“專家”在哪里,這成了我一直思考的問題。顯然,我還不至于去搞一個真正的“專家系統(tǒng)”。
OpenAi Assistant 橫空出世
面對上面的困境,我們也有嘗試使用 openai 的 emebedding能力,但是效果不是太好,并且每次問答要花費50美分;也用聞達獨立搭建過,就是不太穩(wěn)定(可能是沒部署好吧,老是要重啟)。一直在想,為啥如雨后春筍般出現(xiàn)的各路大模型,沒有一個可以非常方便的讓我們導入領域知識呢。一籌莫展之時,OpenAi 11月7號的發(fā)布會給我?guī)砹讼MF渲行略龅腁ssistant就如立于高山之巔遠看東方已見光芒四射噴薄欲出的一輪朝日。發(fā)布會只有45分之短,但是其涵蓋的內(nèi)容卻不短。鑒于英文聽力能力欠缺,找了一個“AI同聲中文版”發(fā)布會視頻,有需要的可以點擊「鏈接」觀看,一定不虛此點。
一個簡單的通用方案&問題
OpenAi 的assistant 已經(jīng)具備了根據(jù)提供的領域知識檢索(retrieve)特定問題的答案了。接下來就是接入企微自建應用,考慮到語音便利性,這次增加了對語音的支持,通過騰訊云asr接口識別語音,再通過文字調(diào)用Assistant。大致組件如下圖。其中問答有個特別的地方就是在創(chuàng)建一個 “Run”后,需要輪詢檢查其是否是終態(tài),如果是 “completed”再去檢索消息,獲取最終的回復。
實現(xiàn)一個Assistant的流程如下,為了偷懶,我就直接在平臺創(chuàng)建了assistant及上傳文件。
1.Create an Assistant in the API by defining its custom instructions and picking a model. If helpful, enable tools like Code Interpreter, Retrieval, and Function calling.
2.Create a Thread when a user starts a conversation.
3.Add Messages to the Thread as the user ask questions.
4.Run the Assistant on the Thread to trigger responses. This automatically calls the relevant tools.
有了想法,趁著大好的周末,早上帶著兩娃去學校踢球,貪婪的享受著冬日陽光,消耗完體力娃子們,吃過午飯便早早的開始了午睡。趁著著孩子們睡覺的光景,我又有大把的時間開始打代碼實現(xiàn)想法了。有時真感覺自己不再年輕了,遛個娃,寫個代碼就覺得可以受用一個周末。
由于之前的一些準備工作,不到兩小時demo就基本完成了。沒有壓力之下的代碼,幾乎不用調(diào)試就跑起來了,原來沒有壓力也可以動力十足,也許這就是專注的力量。基本用起來是沒啥問題了,唯一的問題就是響應時間幾乎在30秒左右。對于人事一類的問答尚可,一些需要快速響應的場景,這個時間稍微慢了些。
近些時間嘗試過好幾種方式,這里也簡單做個對比,鑒于能力,這個對比不一定準確,僅供參考。
|
方式 |
響應速度 |
單次花費 |
穩(wěn)定性 |
整體 |
|
Fine-tuning |
20s |
低 |
高 |
訓練成本高,難度大。效果不好。 |
|
Embeddings |
20s |
高(50美分) |
高 |
單次成本高,回答不全面 |
|
Assistant |
30+s |
低(數(shù)美分) |
高 |
回答全面,響應速度稍差 |
|
聞達 |
20s |
無 |
低 |
自備服務器,穩(wěn)定性不太好。 |
未來的思考
目前是直接嫁接在企業(yè)微信的自建應用之上(釘釘也是同理),可以通過不同應用對應不同的Assistant,解決不同場景的答疑。任何企業(yè),只要有現(xiàn)成資源的情況下,任何問答場景都可以快速應用。
如果要移植到微信小程序或者app,就可以使用同聲傳譯插件快速語音識別,并可通過tts 文字轉語音,提升應用的便利性。
希望語音小助手的上架,可以為雙雙同學,為coco同學,為那些每天還埋沒在無休無止的問答中的同事們帶來些許支持,掃除陰影,還他們一個陽光的心情。
微信:jijunjian
成為一名優(yōu)秀的程序員!


浙公網(wǎng)安備 33010602011771號