讓GenAI提供更好答案的訣竅
GenAI作為一種界面提供了巨大的潛力,使用戶能夠以獨特的方式查詢你的數(shù)據(jù),以接收針對他們的需求的答案,例如,作為查詢助手,GenAI工具可以幫助客戶使用簡單的問答格式更好地導航廣泛的產(chǎn)品知識庫。
但在使用GenAI回答有關(guān)數(shù)據(jù)的問題之前,重要的是首先評估所提出的問題。
這是Miso.ai的首席執(zhí)行官兼聯(lián)合創(chuàng)始人Lucky Gunasekara對當今開發(fā)GenAI工具的團隊的建議。
出于對Miso.ai的產(chǎn)品Smart Answers如何展現(xiàn)其洞察力的興趣,我要求Gunasekara更深入地討論Miso.ai理解和回答用戶問題的方法。
大型語言模型“實際上比我們想象的要幼稚得多”,Gunasekara說,例如,如果被問到一個有強烈觀點的問題,大語言模型很可能會去尋找證實這個觀點的精挑細選的數(shù)據(jù),即使現(xiàn)有的數(shù)據(jù)表明這個觀點是錯誤的。因此,如果被問到“為什么項目X失敗了?”,大語言模型可能會列出一個項目失敗的原因清單——即使它是成功的,而這不是你想要的一個面向公眾的應(yīng)用程序所做的事情。
Gunasekara指出,在所謂的RAG(檢索增強生成)應(yīng)用程序中,評估問題是一個典型的遺漏步驟,RAG應(yīng)用程序?qū)⒋笳Z言模型指向特定的數(shù)據(jù)體,并告訴它僅根據(jù)該數(shù)據(jù)回答問題。
這類應(yīng)用程序通常遵循以下(稍微簡化的)設(shè)置模式:
- 將現(xiàn)有數(shù)據(jù)拆分成塊,因為所有數(shù)據(jù)都太大,無法放入單個大語言模型查詢中。
- 為每個塊生成所謂的嵌入,將該塊的語義表示為一串數(shù)字,并存儲它們,在數(shù)據(jù)更改時根據(jù)需要進行更新。
然后是每一個問題:
- 生成嵌入。
- 使用基于嵌入的計算,找出在含義上與問題最相似的文本塊。
- 將用戶的問題輸入大語言模型,并告訴它只根據(jù)最相關(guān)的塊來回答。
這就是Gunasekara的團隊采取不同方法的地方,他們增加了一個步驟,在搜索相關(guān)信息之前檢查問題。“我們不會直接問這個問題,而是首先問這個假設(shè)是否正確”, Miso的首席技術(shù)官兼聯(lián)合創(chuàng)始人Andy Hsieh解釋說。
除了檢查問題中固有的假設(shè)外,還有其他方法來加強基本的RAG管道,以幫助改進結(jié)果。Gunasekara建議超越基礎(chǔ),特別是在從實驗階段轉(zhuǎn)向值得生產(chǎn)的解決方案時。
Gunasekara說:“有很多人強調(diào)‘建立一個矢量數(shù)據(jù)庫,做一個RAG設(shè)置,一切都會開箱即用’,這是一種很好的概念驗證方式,但如果你需要做一項不會產(chǎn)生意想不到的后果的企業(yè)級服務(wù),那永遠是上下文、上下文、上下文”。
這可能意味著除了使用文本的語義之外,還可以使用其他信號,如新近和流行。Gunasekara指出了Miso正在與一個烹飪網(wǎng)站合作的另一個項目,該項目解構(gòu)了這個問題:“派對上最好的烘焙蛋糕是什么?”
他說,你需要區(qū)分出你真正需要什么信號來進行查詢。“Make-Advance”蛋糕的意思是不需要馬上端上,“for a party”的意思是它需要為不止幾個人服務(wù),還有一個問題是,大語言模型如何確定哪些食譜是“最好的”,這可能意味著使用其他網(wǎng)站數(shù)據(jù),比如哪些食譜擁有最高的流量、最高的讀者排名,或者被授予編輯的選擇——所有這些都與查找和匯總相關(guān)文本塊分開。
Gunasekara說:“把這些事情做好的許多竅門更多地體現(xiàn)在這些背景線索中”。
雖然大語言模型的質(zhì)量是另一個重要因素,但Miso認為沒有必要使用最高評級和最昂貴的商業(yè)大語言模型,相反,Miso正在為一些客戶項目微調(diào)基于Llama 2的模型,這在一定程度上是為了降低成本,也是因為一些客戶不希望他們的數(shù)據(jù)泄露給第三方,Miso之所以這么做,也是因為Gunasekara所說的“開源大語言模型現(xiàn)在正在涌現(xiàn)一股巨大的力量”。
“開源真的在迎頭趕上”,Hsieh補充道,“開源模型非常可能會超越GPT-4”。