簡單有效的企業多模態RAG問答框架-MuRAR 原創
企業知識庫中的模態數據不止文本一個模態,傳統的RAG無法解決多模態場景下的問答,問題提出:如何檢索到與用戶問題相關且有用的多模態數據?以及如何將這些數據整合成一個連貫的多模態答案?來看一個簡單有效的多模態RAG框架-MuRAR。
MuRAR框架
在MuRAR框架的設計中,目標是生成一個高質量的多模態答案(multimodal answer),該答案通過整合與用戶問題相關的多模態數據來提供連貫且信息豐富的內容。


用戶界面設計:用戶輸入問題;顯示檢索到的相關文本片段;顯示每個文本片段及其可能的來源;顯示檢索到的多模態數據(如圖像和視頻);最終的多模態答案,包含文本和多模態元素的整合。
1、 設計目標
形式化:給定用戶問題和一組多模態數據,其中:
- 表示文本文檔片段的集合。
- 表示圖像的集合。
- 表示表格的集合。
- 表示視頻的集合。
目標是生成一個多模態答案,其中是一個函數,用于將檢索到的多模態數據組織成一個連貫且有用的答案。
2、 文本答案生成
文本答案生成組件采用檢索增強生成(RAG)的方法。具體步驟如下:
- 文本片段檢索:首先,根據用戶查詢檢索相關的文本文檔片段。這一步使用了一個預訓練的文本嵌入模型,該模型在內部標注的數據集上進行了微調,以識別哪些文本片段與用戶查詢相關。
- 創建向量索引:使用FAISS庫對文本文檔片段進行向量化,創建向量索引。這些向量索引用于計算用戶查詢與每個文本文檔片段之間的余弦相似度。
- 選擇相關片段:對于每個用戶查詢,選擇與查詢最相關的五個文本片段。
- 生成初始文本答案:使用一個大型語言模型(LLM)結合用戶查詢和檢索到的五個文本片段來生成初始文本答案。

生成初始文本答案提示詞
3、 基于源的多模態檢索
基于源的多模態檢索組件分為兩個步驟:源歸屬和節級多模態數據檢索。
- 源歸屬: 將初始文本答案分割成多個句子,每個句子代表一個連續的文本答案片段。計算每個文本答案片段與其在中的每個文本文檔片段的余弦相似度。將文本文檔片段識別為的來源,如果相似度得分低于0.6,則不分配來源。
- 節級多模態數據檢索:對于每個文本答案片段及其對應的來源,定位包含的原始網頁文檔。確定所在的節段,并收集該節段內的所有多模態數據(如圖像、表格和視頻)。使用上下文文本特征和LLM生成的特征來表示多模態數據。例如,使用GPT-4生成的圖像標題和HTML中的"alt"屬性來表示圖像。
檢索時,使用相同的微調嵌入模型計算多模態數據的文本嵌入?;谖谋敬鸢钙闻c多模態數據的文本嵌入之間的余弦相似度來檢索多模態數據。只選擇得分最高的多模態數據。為了避免重復,只保留從檢索結果中得分最高的多模態數據。
4、 多模態答案優化
在檢索到多模態數據后,使用LLM提示來優化初始文本答案,生成最終的多模態答案。提示包括:
- 用戶問題。
- 初始文本答案。
- 檢索到的多模態數據及其上下文文本特征。

多模態答案細化的提示詞
為了指導LLM生成多模態答案,提示中插入了占位符,用于替換為檢索到的多模態數據的描述。占位符包括多模態數據的URL和上下文文本特征,以確保LLM在生成答案時能夠整合相關信息。
參考文獻
MuRAR: A Simple and Effective Multimodal Retrieval and Answer Refinement Framework for Multimodal Question Answering,https://arxiv.org/pdf/2408.08521v2
本文轉載自公眾號大模型自然語言處理 作者:余俊暉
原文鏈接:??https://mp.weixin.qq.com/s/eq9lSMoOUjvDXY7D1RTMzw??

















