這篇聚焦落地過程的具體問題及解決方案。
一共 8 個(gè)常見問題:
1. 不按「知識(shí)庫(kù)」的答案回答,自作主張
2. 相同的問題不能保證每次回答準(zhǔn)確,甚至很多時(shí)候是錯(cuò)的
3. 回答不完善,而「知識(shí)庫(kù)」中明明有完整答案
4. 正確答案和錯(cuò)誤答案并存
5. 范范回答,沒有細(xì)節(jié) / 面面俱到,事無巨細(xì)
6. 回答不顯示配圖
7. 響應(yīng)非常慢,甚至直接崩壞
8. 回答問題片面,不能正確“選用”合適的支持資料
在最開始
搭建 RAG 產(chǎn)品/系統(tǒng),90%的功夫應(yīng)該花在知識(shí)庫(kù)資料處理上。
“巧婦難為無米之炊”。
在 RAG 系統(tǒng)里,AI 大模型只在最后一步發(fā)揮價(jià)值。這個(gè)“巧婦”不可能把“爛樹葉”做成一頓能果腹的晚飯。
前面這 7 個(gè)常見問題,只有 1 和 5 是由“巧婦”負(fù)責(zé)的,其他 5 個(gè)都因?yàn)槲覀兘o她投喂了爛樹葉。
1自作主張回答問題
出現(xiàn)這個(gè)問題的根本原因是沒搞懂 RAG 的本質(zhì)。
在 RAG 系統(tǒng)里,大模型只負(fù)責(zé)兩件事:
1. 判斷這個(gè)問題能不能回答
2. 答案編輯
之所以出現(xiàn)“自作主張”,大部分時(shí)候是沒有明確大模型的職責(zé)
既然選擇了 RAG,就意味著我們已經(jīng)不相信大模型生成的答案里
不相信,就堅(jiān)持到底:不要一邊不信任,一邊委以重任。
RAG 系統(tǒng)里,關(guān)于角色和任務(wù)的標(biāo)準(zhǔn)描述結(jié)構(gòu):
角色描述:一個(gè)沒有主觀能動(dòng)性的角色,比如助理 任務(wù)情景:接收問題和支持資料,編輯輸出文本
任何試圖使用如下“祈禱式”提示詞約束大模型的行為,都是外行的表現(xiàn):
1. 不要胡編亂造
2. 不要生成不存在的答案
3. 確保你的回答準(zhǔn)確(尊重事實(shí))
2回答不穩(wěn)定
核心原因有兩個(gè):
1. 問題本身有問題,無法穩(wěn)定的檢索到正確的答案
2. 資料和排序有問題,無法穩(wěn)定的召回正確的答案
是的,“用戶的問題”有問題不是用戶的問題,是你的問題。
我們不能要求用戶都是專業(yè)的用戶,因?yàn)閷I(yè)的用戶大概率不會(huì)使用我們的產(chǎn)品……
大部分用戶在提問時(shí),不會(huì)像我們一樣從「知識(shí)資料」出發(fā),使用完整、全面的描述。
大部分時(shí)候,他們的問題會(huì)類似下面這樣:
1. 有沒有產(chǎn)品說明資料?
2. 登錄按鈕點(diǎn)擊沒反應(yīng)
3. 蘋果可以么?
LightRAG 以查詢優(yōu)化狂攬 17K Star 不是沒道理的,強(qiáng)烈建議去看一看它們的工程優(yōu)化。
假設(shè)你已經(jīng)明確了大模型的職責(zé)(編輯),那么影響它回答的關(guān)鍵因素就是我們給了它什么參考資料。
選擇什么支持資料給大模型,依賴兩個(gè)因素:
1. 能回答用戶問題的資料能不能被檢索到
2. 資料有沒有排在前面被找回
因?yàn)橘Y料的形態(tài)千奇百怪,當(dāng)前還沒有方案能保證資料被 100% 檢索到。
但可以使用如下三個(gè)方案來優(yōu)化:
1. 對(duì)資料進(jìn)行有效的預(yù)處理,確保分段合理(起碼完整的答案沒有被切碎)
2. 對(duì)資料進(jìn)行二次加工,比如抽取關(guān)鍵詞 + 提取可能的問題
3. 選一個(gè)高緯度的嵌入模型,增強(qiáng)語(yǔ)義識(shí)別能力
關(guān)于答案排序問題(因素二),一味的花錢買貴的 Rerank 也不是唯一解。
多花些精力調(diào)整混合權(quán)重、Score 閾值,仔細(xì)看看召回答案的特征獲取更有效。
3回答不完善
出現(xiàn)這種問題的原因基本只有一個(gè):文檔分段不合理,完整的答案被切開了。
而只有一段被召回。
解法只有一個(gè),去看召回的段落,重新分段。
不要偷懶使用自定義分段,或者簡(jiǎn)單粗暴的選擇按字符數(shù)分段。
另外需要注意一個(gè)細(xì)節(jié):知識(shí)庫(kù)分段里的“按標(biāo)識(shí)符”分段和“分段最大長(zhǎng)度”是同時(shí)生效的。
更值得注意的是,那些殘缺的答案是大模型幻覺的主要來源!
4包含錯(cuò)誤回答
兩個(gè)原因:
1. 召回段落中包含不相關(guān)答案,導(dǎo)致了大模型的幻覺
2. 讓大模型生成答案的提示不夠
召回策略里的 Top K 不是越大越好,在沒有相似度閾值約束的情況下,召回的段落越多,不相關(guān)的答案就越多。
如果你在這個(gè)環(huán)節(jié)沒有妥善的解決方案,就只能在最后的“兜底”提示詞里下功夫:告訴大模型如何判斷哪些答案是有效的,如何剔除不相關(guān)段落。
一般情況下,我會(huì)在生成最終答案的提示詞里加這么一句話:
審視支持資料與用戶問題的相關(guān)性,有些資料可能被錯(cuò)誤的放進(jìn)來,但它們并不能用戶回答用戶的問題,你可以選擇不取用。
5沒有細(xì)節(jié)/全是細(xì)節(jié)這是一個(gè)響應(yīng)格式問題,它與“沒法讓 RAG 系統(tǒng)按指定格式生成答案”一樣。
本質(zhì)上是,你在最后的兜底提示詞沒講清楚,或者失效了。
這個(gè)問題只有兩個(gè)解法:
1. 給出回答示例,而不是描述要求
2. 把約束放在提示詞最后,user prompt 值得再放一遍
6沒有配圖
所有知識(shí)資料都應(yīng)該被轉(zhuǎn)成 Markdown 后再去分段。
Word、PDF 這類格式是給人看的。
你看到的,跟大模型最終接收到的,會(huì)是完全兩個(gè)面貌。
尤其是圖片相關(guān)內(nèi)容
先確保你深刻理解了 RAG 的基本原理,再來思考為什么不顯示圖片,否則下面的解決方案并不能真正解決問題。
告訴大模型,正確顯示 Markdown 或者標(biāo)記的圖片,最好給圖片增加注釋以方便模型選用。
7響應(yīng)慢
大模型的首 Token 響應(yīng)速度,除了受模型本身質(zhì)量影響外,上下文長(zhǎng)度是另一個(gè)非常重要的因素。
即便你心疼 Token 費(fèi)用,也務(wù)必從響應(yīng)速度的角度考慮,對(duì)支持資料進(jìn)行分段處理。
2000 個(gè) Token 可以作為分段長(zhǎng)度的上限,再大首 Token 的響應(yīng)時(shí)間就要超出 1 秒了,如果沒辦法使用流式輸出,那么整體的響應(yīng)時(shí)間可能會(huì)超過 10 秒。
順便囑咐一下團(tuán)隊(duì)里成熟的工程師,給 API 響應(yīng)的 timeout 多留一些時(shí)間……
8不系統(tǒng)
分段帶來的最大問題就是知識(shí)的碎片化。
“碎片化知識(shí)”對(duì) RAG 系統(tǒng)的影響主要在于召回答案的全面性上,不能直接回答問題、但是作為背景信息或具備關(guān)聯(lián)關(guān)系的資料幾乎不會(huì)被檢索到。
目前流行的解決方案有以下兩個(gè):
1. 知識(shí)圖譜增強(qiáng)
2. Agentic 增強(qiáng)
個(gè)人此刻更看好只是圖片增強(qiáng)的策略,Agentic 會(huì)涉及到更多工程側(cè)的優(yōu)化和提示詞規(guī)訓(xùn)(主要此刻國(guó)內(nèi)模型 Agentic 不了)。
推薦學(xué)習(xí)微軟的 GraphRAG 項(xiàng)目。
來AI學(xué)習(xí)圈精進(jìn)吧
我從 23 年開始和起點(diǎn)課堂一起運(yùn)營(yíng)「AI學(xué)習(xí)行動(dòng)圈」,截止到此刻已更新 1500+主題,與接近 4000 關(guān)注 AI 的實(shí)戰(zhàn)派在過去 490+ 天里每天討論、交流 AI 實(shí)戰(zhàn)應(yīng)用。
學(xué)習(xí)圈目前有 3 個(gè)核心的學(xué)習(xí)交流“陣地”:
1. 知識(shí)星球: 知識(shí)資料技巧沉淀的核心渠道,隨時(shí)可查閱
2. 微信交流群: 目前 6 個(gè)群,每天都有圈友交流分享 AI 使用心得
3. 吹水局直播: 工作日晚 19:30-21:30,每場(chǎng)一個(gè) AI 應(yīng)用主題
陣地一:知識(shí)星球
我在星球里主要維護(hù)「實(shí)戰(zhàn)分享」「工具箱」和「情報(bào)局」三個(gè)標(biāo)簽
實(shí)戰(zhàn)分享是可以在日常工作和生活中直接應(yīng)用的提示詞和效率工具。上面截圖里的 Step-Back 提示詞就非常好用,堪比 o4。在公眾號(hào)、直播中演示的所有 AI 實(shí)戰(zhàn)應(yīng)用的提示詞也都在這個(gè)標(biāo)簽下。
AI 工具和鮮知道就是好用的、熱門的 AI 工具、資訊分享,我把那些太技術(shù)、太浮夸的都篩選了,放進(jìn)這個(gè)標(biāo)簽的都是可以直接用來的好玩兒!
星球還有一個(gè)“專欄”體系,目前的定位跟標(biāo)簽差不多。
如果你正在找一個(gè) 能第一時(shí)間了解最新、實(shí)用的 AI 資訊和實(shí)戰(zhàn)技巧 ,遇到任何 AI 應(yīng)用問題能 隨時(shí)找到同行人交流、請(qǐng)教、討論 的圈子,
陣地二:微信交流群
我們?yōu)槿τ雅淞宋⑿沤涣魅海F(xiàn)在 6 群快滿了。
微信群里每天一早有 AI 早報(bào),上下午還有“讀報(bào)時(shí)間”,以及我每天不定期刷屏級(jí)的各種 AI 工具體驗(yàn)、提示詞編排思考、行業(yè)新聞解讀同步。
以及,你可以在群里討論任何與 AI 相關(guān)的工具、應(yīng)用問題,幾乎都能找到答案。
如果你正在找一個(gè) 能第一時(shí)間了解最新、實(shí)用的 AI 資訊和實(shí)戰(zhàn)技巧 ,遇到任何 AI 應(yīng)用問題能 隨時(shí)找到同行人交流、請(qǐng)教、討論 的圈子,
立刻掃碼領(lǐng)取 50 元立減金加入
陣地三:AI吹水局直播
剛復(fù)盤我專門去視頻號(hào)后臺(tái)看了一下直播記錄,過去一年一共為學(xué)習(xí)圈做了 130 場(chǎng) AI 應(yīng)用、實(shí)戰(zhàn)、熱點(diǎn)解讀相關(guān)的直播,累計(jì)肝了 257 小時(shí)!
有十幾場(chǎng)僅學(xué)習(xí)圈成員可觀看的閉門直播,平均觀看時(shí)長(zhǎng)都是 1 個(gè)多小時(shí),有時(shí)逼近接近 2 小時(shí)!
沒點(diǎn)干貨,平均停留時(shí)長(zhǎng)到不了這水平的。
如果你正在找一個(gè) 能第一時(shí)間了解最新、實(shí)用的 AI 資訊和實(shí)戰(zhàn)技巧 ,遇到任何 AI 應(yīng)用問題能 隨時(shí)找到同行人交流、請(qǐng)教、討論 的圈子,
立刻掃碼領(lǐng)取 50 元立減金加入
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.