RAG實(shí)踐篇(三):向量檢索的AI應(yīng)用,讓知識(shí)“活起來(lái)”
向量檢索技術(shù)正在成為RAG智能問(wèn)答的“隱形功臣”,讓很多企業(yè)/專業(yè)領(lǐng)域繁復(fù)龐大的知識(shí)庫(kù)真正“活起來(lái)”,而作為產(chǎn)品經(jīng)理,理解他的“有效”和“有限性”,能真正地將這個(gè)檢索技術(shù)為產(chǎn)品所用。
產(chǎn)品經(jīng)理小明收到一家大型科技公司的RAG項(xiàng)目需求:要構(gòu)建一個(gè)用于員工QA的智能chatbot產(chǎn)品。
公司希望這個(gè)產(chǎn)品既能回答常見(jiàn)的、標(biāo)準(zhǔn)的公司政策問(wèn)題(如“如何申請(qǐng)出差津貼”、“公司的年假福利是什么樣的?”),同時(shí)又能應(yīng)對(duì)各類復(fù)雜的、非標(biāo)準(zhǔn)化問(wèn)題(如“跨團(tuán)隊(duì)合作的最佳實(shí)踐是什么?”)。
作為產(chǎn)品經(jīng)理,小明與開(kāi)發(fā)討論起技術(shù)實(shí)現(xiàn)。
開(kāi)發(fā)摸著下巴,若有所思:“標(biāo)準(zhǔn)化問(wèn)題還好說(shuō),但如果問(wèn)題復(fù)雜,還是非標(biāo)準(zhǔn)化的。需要模型有更強(qiáng)的語(yǔ)義檢索能力,可以在知識(shí)庫(kù)里找到最合適用戶的答案。咱們就用向量檢索技術(shù)來(lái)做吧。”
聊到這里,小明也不免好奇,向量技術(shù)究竟是什么?它在RAG的實(shí)踐中起到什么作用?
這篇文章會(huì)介紹向量技術(shù)在RAG中的應(yīng)用,其核心概念、實(shí)踐流程以及在產(chǎn)品中的具體應(yīng)用場(chǎng)景。
一、向量:讓“文本”可以被計(jì)算
在機(jī)器學(xué)習(xí)領(lǐng)域,向量是一組用數(shù)字表示的數(shù)學(xué)對(duì)象,通常用于描述一個(gè)文本、圖像或其他數(shù)據(jù)的語(yǔ)義特征。這些數(shù)字是從深度學(xué)習(xí)模型中提取的,能夠捕捉文本或數(shù)據(jù)的含義,并用這種形式來(lái)表示語(yǔ)義關(guān)系。
你可以把“向量”想象成一個(gè)坐標(biāo)點(diǎn),處于一個(gè)高維空間中(比如3維空間、100維空間甚至更高)。在這個(gè)空間中,語(yǔ)義相似的內(nèi)容會(huì)靠得更近,而語(yǔ)義差異大的內(nèi)容則會(huì)距離更遠(yuǎn)。
例如,“如何申請(qǐng)年假?” 和 “怎么請(qǐng)假?”這兩個(gè)問(wèn)題的表達(dá)方式是不同的,但語(yǔ)義非常接近。如果用向量表示,它們會(huì)被映射到一個(gè)高維向量空間中相鄰的區(qū)域,從而使得計(jì)算機(jī)知道它們含義相近。而“公司年假政策是什么?”和“跨團(tuán)隊(duì)合作的最佳實(shí)踐是什么?”,雖然語(yǔ)法結(jié)構(gòu)有點(diǎn)相似,但含義天差地別,在向量空間中會(huì)有較遠(yuǎn)的距離。
二、在RAG里的應(yīng)用
RAG主要通過(guò)“檢索 + 生成”兩個(gè)階段結(jié)合來(lái)處理復(fù)雜的問(wèn)題,簡(jiǎn)單來(lái)說(shuō),它的步驟可以概括為:
- 問(wèn)題理解(Query Understanding) 用戶輸入問(wèn)題后,系統(tǒng)首先通過(guò)自然語(yǔ)言處理模型將問(wèn)題轉(zhuǎn)化為模型可理解的形式。
- 知識(shí)檢索(Knowledge Retrieval) RAG會(huì)利用檢索技術(shù)(如向量檢索或傳統(tǒng)關(guān)鍵詞檢索)從知識(shí)庫(kù)中提取與問(wèn)題語(yǔ)義相關(guān)的內(nèi)容。
- 內(nèi)容生成(Answer Generation) RAG通過(guò)生成式AI模型(如GPT-4、Claude)將檢索到的內(nèi)容與用戶問(wèn)題結(jié)合,生成自然語(yǔ)言回答。
- 答案輸出(Response Output) 最終生成的回答會(huì)以用戶可以理解的形式輸出。
由此可以看到,向量技術(shù)是語(yǔ)義檢索的核心。RAG需要從一個(gè)龐大的知識(shí)庫(kù)中找到與用戶問(wèn)題最相關(guān)的內(nèi)容,然后再將這些內(nèi)容傳遞給模型進(jìn)行回答。而向量的作用是把用戶的問(wèn)題和知識(shí)庫(kù)內(nèi)容都轉(zhuǎn)化為高維語(yǔ)義向量,并通過(guò)數(shù)學(xué)方法找到兩者之間的距離。
具體應(yīng)用:
- 向量化過(guò)程: 用戶輸入問(wèn)題“年假如何申請(qǐng)?” → 轉(zhuǎn)化為向量 V1 知識(shí)庫(kù)中存儲(chǔ)的文本片段“年假申請(qǐng)流程:登錄HR系統(tǒng)申請(qǐng)” → 轉(zhuǎn)化為向量 V2 向量檢索通過(guò)計(jì)算 V1 和 V2 的距離,判斷它們的語(yǔ)義是否相關(guān),距離越近,匹配度越高。
- 實(shí)際輸出: RAG通過(guò)向量檢索找到匹配的內(nèi)容后,將這段知識(shí)傳遞給生成模型,生成回答:“請(qǐng)登錄HR系統(tǒng),通過(guò)‘請(qǐng)假申請(qǐng)’模塊提交年假申請(qǐng)。”
三、亮點(diǎn)和局限
作為AI產(chǎn)品經(jīng)理,了解向量檢索的“能做什么”和“不能做什么”也很重要。
亮點(diǎn)
向量檢索的最大亮點(diǎn)是可以理解用戶輸入中的語(yǔ)義。要知道在傳統(tǒng)的關(guān)鍵詞檢索中,對(duì)復(fù)雜句式或詞語(yǔ)變形無(wú)法很好的處理。而向量檢索可以通過(guò)語(yǔ)義相似性輕松解決,比如用戶提問(wèn)“我想請(qǐng)年假應(yīng)該怎么做?”,系統(tǒng)也能準(zhǔn)確理解,并返回相關(guān)內(nèi)容。
也正因此,它能更加游刃有余地處理非結(jié)構(gòu)化數(shù)據(jù),比如長(zhǎng)文本、對(duì)話記錄等。而在企業(yè)的知識(shí)庫(kù)中,知識(shí)信息往往都是以文檔或長(zhǎng)段落的形式存儲(chǔ)的。通過(guò)向量檢索,就可以將這些復(fù)雜內(nèi)容進(jìn)行語(yǔ)義分割,檢索出與用戶問(wèn)題相關(guān)的段落。比如,當(dāng)一個(gè)員工想知道“跨部門協(xié)作有哪些最佳實(shí)踐?”時(shí),系統(tǒng)可以直接從企業(yè)的管理文檔中把“跨部門協(xié)作”的有關(guān)段落提取出來(lái)就能回答。
局限
向量檢索的本質(zhì)是基于“相似度”的匹配,但相似度高并不等于答案相關(guān)性高。比如,用戶提了問(wèn)題“年假申請(qǐng)需要哪些材料?”,由于知識(shí)庫(kù)里并沒(méi)有“年假申請(qǐng)材料”的相關(guān)知識(shí)。模型可能就會(huì)提供提供一段“年假政策”的內(nèi)容,因?yàn)檫@是它所能檢索到的“相似度”系數(shù)最高的內(nèi)容了。像這種“語(yǔ)義相似度高但不正確”的情況,就會(huì)影響用戶體驗(yàn)。
另外,由于向量檢索是基于語(yǔ)義相似度的匹配。而用戶的問(wèn)題是橫跨多個(gè)領(lǐng)域或者多個(gè)主題的時(shí)候,語(yǔ)義的向量分布就比較“稀疏”。比如用戶提問(wèn)“AI在醫(yī)療和教育中的應(yīng)用區(qū)別是什么?”。向量的相似度檢索可能只能找到“AI與醫(yī)療”或“AI與教育”單獨(dú)相關(guān)的內(nèi)容,但難以整合兩者的區(qū)別進(jìn)行回答。結(jié)果它就只會(huì)返回到單一行業(yè)進(jìn)行回答,而忽略問(wèn)題的整體意圖。
結(jié)語(yǔ)
總體來(lái)說(shuō),向量檢索正在成為RAG智能問(wèn)答的“隱形功臣”,讓很多企業(yè)/專業(yè)領(lǐng)域繁復(fù)龐大的知識(shí)庫(kù)真正“活起來(lái)”,而作為產(chǎn)品經(jīng)理,理解他的“有效”和“有限性”,能真正地將這個(gè)檢索技術(shù)為產(chǎn)品所用。
本文由 @AI 實(shí)踐干貨 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉(zhuǎn)載
題圖來(lái)自 Unsplash,基于CC0協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)
- 目前還沒(méi)評(píng)論,等你發(fā)揮!