RAGFlow 學習筆記
- 0. 引言
- 1. RAGFlow 支持的文檔格式
- 2. 嵌入模型選擇后不再允許改變
- 3. 干預文件解析?
- 4. RAGFlow 與其他 RAG 產品有何不同? ?
- 5. RAGFlow 支持哪些語言? ?
- 6. 哪些嵌入模型可以本地部署? ?
- 7. 為什么RAGFlow解析文檔的時間比LangChain要長? ?
- 8. 為什么RAGFlow比其他項目需要更多的資源? ?
- 9. RAGFlow 支持哪些架構或設備? ?
- 10. 可以通過URL分享對話嗎? ?
- 11. 為什么我的 pdf 解析在接近完成時停止,而日志沒有顯示任何錯誤? ?
- 12. 為什么我無法將 10MB 以上的文件上傳到本地部署的 RAGFlow? ?
- 13. 如何增加RAGFlow響應的長度? ?
- 14. Empty response(空響應)是什么意思?怎么設置呢? ?
- 15. 如何配置 RAGFlow 以 100% 匹配的結果進行響應,而不是利用 LLM? ?
0. 引言
這篇文章記錄一下學習 RAGFlow 是一些筆記,方便以后自己查看和回憶。
1. RAGFlow 支持的文檔格式
RAGFlow 支持的文件格式包括文檔(PDF、DOC、DOCX、TXT、MD)、表格(CSV、XLSX、XLS)、圖片(JPEG、JPG、PNG、TIF、GIF)和幻燈片(PPT、PPTX)。
2. 嵌入模型選擇后不再允許改變
一旦您選擇了嵌入模型并使用它來解析文件,您就不再允許更改它。明顯的原因是我們必須確保特定知識庫中的所有文件都使用相同的嵌入模型進行解析(確保它們在相同的嵌入空間中進行比較)。
3. 干預文件解析?
RAGFlow 具有可見性和可解釋性,允許您查看分塊結果并在必要時進行干預。
4. RAGFlow 與其他 RAG 產品有何不同? ?
盡管 LLMs 顯著推進了自然語言處理 (NLP),但“垃圾進垃圾出”的現狀仍然沒有改變。為此,RAGFlow 引入了與其他檢索增強生成 (RAG) 產品相比的兩個獨特功能。
- 細粒度文檔解析:文檔解析涉及圖片和表格,您可以根據需要靈活干預。
- 可追蹤的答案,減少幻覺:您可以信任 RAGFlow 的答案,因為您可以查看支持它們的引文和參考文獻。
5. RAGFlow 支持哪些語言? ?
目前有英文、簡體中文、繁體中文。
6. 哪些嵌入模型可以本地部署? ?
- BAAI/bge-large-zh-v1.5
- BAAI/bge-base-en-v1.5
- BAAI/bge-large-en-v1.5
- BAAI/bge-small-en-v1.5
- BAAI/bge-small-zh-v1.5
- jinaai/jina-embeddings-v2-base-en
- jinaai/jina-embeddings-v2-small-en
- nomic-ai/nomic-embed-text-v1.5
- sentence-transformers/all-MiniLM-L6-v2
- maidalun1020/bce-embedding-base_v1
7. 為什么RAGFlow解析文檔的時間比LangChain要長? ?
RAGFlow 使用了視覺模型,在布局分析、表格結構識別和 OCR(光學字符識別)等文檔預處理任務中投入了大量精力。這會增加所需的額外時間。
8. 為什么RAGFlow比其他項目需要更多的資源? ?
RAGFlow 有許多用于文檔結構解析的內置模型,這些模型占用了額外的計算資源。
9. RAGFlow 支持哪些架構或設備? ?
目前,我們僅支持 x86 CPU 和 Nvidia GPU。
10. 可以通過URL分享對話嗎? ?
是的,此功能現已可用。
11. 為什么我的 pdf 解析在接近完成時停止,而日志沒有顯示任何錯誤? ?
如果您的 RAGFlow 部署在本地,則解析進程可能會因 RAM 不足而被終止。嘗試通過增加 docker/.env
中的 MEM_LIMIT
值來增加內存分配。
12. 為什么我無法將 10MB 以上的文件上傳到本地部署的 RAGFlow? ?
您可能忘記更新 MAX_CONTENT_LENGTH 環境變量:
將環境變量 MAX_CONTENT_LENGTH
添加到 ragflow/docker/.env
:
MAX_CONTENT_LENGTH=100000000
更新 docker-compose.yml:
environment:- MAX_CONTENT_LENGTH=${MAX_CONTENT_LENGTH}
重新啟動 RAGFlow 服務器:
docker compose up ragflow -d
現在您應該能夠上傳大小小于 100MB 的文件。
13. 如何增加RAGFlow響應的長度? ?
右鍵單擊所需的對話框以顯示“Chat Configuration(聊天配置)”窗口。
切換到Model Setting(模型設置)選項卡并調整Max Tokens(最大令牌)滑塊以獲得所需的長度。
單擊“確定”確認您的更改。
14. Empty response(空響應)是什么意思?怎么設置呢? ?
如果從您的知識庫中未檢索到任何內容,則您可以將系統的響應限制為您在“Empty response(空響應)”中指定的內容。如果您沒有在空響應中指定任何內容,您就可以讓您的 LLM 即興創作,給它一個產生幻覺的機會。
15. 如何配置 RAGFlow 以 100% 匹配的結果進行響應,而不是利用 LLM? ?
單擊頁面中間頂部的知識庫。
右鍵單擊所需的知識庫以顯示配置對話框。
選擇“Q&A(問答)”作為塊方法,然后單擊“保存”以確認您的更改。