6-評(píng)估 LangChain: Models, Prompts and Outp

使用語言模型構(gòu)建復(fù)雜應(yīng)用程序時(shí),其中一個(gè)重要但有時(shí)棘手的步驟是如何評(píng)估應(yīng)用程序的質(zhì)量,以及它是否符合準(zhǔn)確性標(biāo)準(zhǔn)。如果決定更改實(shí)現(xiàn),比如換一個(gè)不同的語言模型(LM)或改變使用向量數(shù)據(jù)庫的策略等,如何知道這些變化是使應(yīng)用程序變得更好還是更糟。在評(píng)估基于語言模型的應(yīng)用程序時(shí),可以使用一些框架和工具來幫助思考和評(píng)估。
這些應(yīng)用程序?qū)嶋H上是由許多不同步驟和鏈條組成的,所以首先要做的事情是了解應(yīng)用程序的內(nèi)部結(jié)構(gòu),了解每個(gè)步驟的作用。有一些工具可以被視為可視化工具或調(diào)試器,它們對(duì)于獲得更全面的視圖和查看不同的數(shù)據(jù)點(diǎn)以及模型的表現(xiàn)如何非常有用。
一種評(píng)估方法是使用人眼觀察。但還有一個(gè)很酷的想法,就是使用語言模型本身和鏈條本身來評(píng)估其他語言模型、其他鏈條以及其他應(yīng)用程序。這種方法可以幫助比較和評(píng)估不同的模型和鏈條。
在基于激勵(lì)的開發(fā)中,開發(fā)應(yīng)用程序使用語言模型的整個(gè)工作流程評(píng)估過程正在重新思考。這個(gè)視頻涵蓋了許多令人興奮的概念和話題。
在評(píng)估應(yīng)用程序之前,首先需要有一個(gè)鏈條或要評(píng)估的應(yīng)用程序??梢允褂蒙弦徽n中的問答鏈作為示例,導(dǎo)入所需的所有組件,并加載與使用的相同數(shù)據(jù)的索引。然后創(chuàng)建檢索問答鏈,并指定語言模型和鏈?zhǔn)綄せ亍?/p>
在評(píng)估之前,需要弄清楚要根據(jù)哪些數(shù)據(jù)點(diǎn)來評(píng)估應(yīng)用程序??梢允褂脦追N不同的方法來做到這一點(diǎn)。一種最簡單的方法是手動(dòng)創(chuàng)建一些示例問題和答案,然后在鏈條中運(yùn)行并檢查輸出。這種方法對(duì)于少量示例是可行的,但對(duì)于大量示例可能很繁瑣。
另一種更自動(dòng)化的方法是使用語言模型本身來創(chuàng)建示例??梢允褂靡粋€(gè)問答生成鏈,它會(huì)從每個(gè)文檔中創(chuàng)建一對(duì)問題和答案,并使用語言模型來生成這些問題和答案。這樣可以節(jié)省時(shí)間,并自動(dòng)生成一堆示例。
接下來,需要評(píng)估這些示例。一種方法是手動(dòng)運(yùn)行鏈條,并檢查輸出是否正確。但隨著示例數(shù)量的增加,這可能變得乏味。更好的方法是使用第二個(gè)例子。問題是這件夾克屬于哪個(gè)系列,真正的答案是羽絨技術(shù)收藏,而預(yù)測的答案是羽絨技術(shù)系列。在這種情況下,預(yù)測的答案是正確的,但可能稍微有點(diǎn)不完全準(zhǔn)確。
接下來,我們繼續(xù)看第三個(gè)例子。問題是這件襯衫的尺寸是多少,真正的答案是Medium,而預(yù)測的答案是Medium。在這種情況下,預(yù)測的答案完全正確。
我們繼續(xù)檢查其他例子,發(fā)現(xiàn)預(yù)測的答案在大多數(shù)情況下都是正確的或非常接近真實(shí)答案。這表明我們的應(yīng)用程序在對(duì)這些特定數(shù)據(jù)點(diǎn)進(jìn)行評(píng)估時(shí)表現(xiàn)良好。
然而,僅僅檢查少數(shù)幾個(gè)例子并不足以對(duì)整個(gè)應(yīng)用程序的性能進(jìn)行全面評(píng)估。我們可能需要更多的例子來獲得更準(zhǔn)確的評(píng)估結(jié)果。另外,我們還可以考慮使用其他評(píng)估指標(biāo)來衡量應(yīng)用程序的性能,例如準(zhǔn)確率、召回率、F1分?jǐn)?shù)等。
除了手動(dòng)評(píng)估外,還有一些自動(dòng)化的工具和方法可用于評(píng)估基于語言模型的應(yīng)用程序。這些工具可以幫助生成大量的測試樣例,并自動(dòng)運(yùn)行鏈以獲取預(yù)測結(jié)果。然后,可以使用預(yù)定義的評(píng)估指標(biāo)對(duì)這些結(jié)果進(jìn)行評(píng)估和比較。
總而言之,評(píng)估基于語言模型的應(yīng)用程序是一個(gè)關(guān)鍵且有挑戰(zhàn)性的步驟。通過創(chuàng)建示例數(shù)據(jù)點(diǎn)、手動(dòng)評(píng)估和使用自動(dòng)化工具,我們可以更好地了解應(yīng)用程序的性能,并進(jìn)行改進(jìn)和優(yōu)化。不斷評(píng)估和優(yōu)化應(yīng)用程序是構(gòu)建復(fù)雜應(yīng)用程序的重要步驟之一,以確保其達(dá)到預(yù)期的準(zhǔn)確性標(biāo)準(zhǔn)并提供良好的用戶體驗(yàn)。