RagFlow 是一個基於深度文件理解的開源 RAG(檢索增強生成)引擎,專為滿足各類企業的需求而設計。RAG(Retrieval-Augmented Generation)技術結合了檢索與生成的雙重優勢,能從大型資料庫中提取相關資訊並生成高品質的自然語言回應。RagFlow 利用了這項技術,提供了一個簡化的工作流程,使企業能更有效地處理和利用大量資訊。
RagFlow 的核心優勢在於其整合的大型語言模型(LLM)。LLM 是一種通過深度學習訓練的大型神經網絡,能理解並生成類似人類的文本。透過與 LLM 的結合,RagFlow 可以提供更真實和準確的問答功能,不僅能理解使用者提出的問題,還能生成內容豐富且資訊準確的回答。
此外,RagFlow 支援從各種複雜格式的數據中提取資訊。不論是文件、表格、圖片還是其他格式的數據,RagFlow 都能進行深度理解和處理,並生成有根有據的引用,確保回答的準確性和可靠性,滿足企業在數據處理和資訊獲取方面的高標準需求。
RagFlow 的開源特性也賦予了它極大的靈活性和可擴展性。開發者可以根據自身需求對其進行客製化和擴展,以適應不同的應用場景和業務需求。這種靈活性使 RagFlow 成為各類企業在資訊處理和知識管理方面的理想選擇。
總之,RagFlow 是一個功能強大、靈活性高的 RAG 引擎,能幫助企業更高效地處理和利用大量資訊,實現智慧化的問答功能。如果您想了解更多關於 RagFlow 的資訊,可以訪問其 GitHub 頁面。
登入畫面
登入畫面主要要開啟一個新的知識庫,知識庫之後可以做為聊天機器人(ChatBot)的知識庫,ChatBot會先根據使用者的對話進去知識庫中進行內容搜尋(向量搜尋),找尋相似的文獻來供LLM進行RAG的對話服務。
新建知識庫
這邊是一些基本設定,在新建知識庫的過程中,我們需要去了解系統是如何解析文獻的。
解析文獻的主幹有幾大部分須注意:
在RagFlow的知識庫的儲存方式是透過OCR來解析圖文字,然後透過Layout來切割文獻(切割完的結果稱之為知識塊, chunk )。而嵌入模型(embedding model)預設則使用BAAI/bge-large-zh-v1.5。
- 新建知識庫
- 設定文獻解析方式
更多可支援的文件細節,請參考這邊: https://ragflow.io/docs/dev/configure_knowledge_base#select-chunk-method
文獻分析
RagFlow提供完整的文件解析方案,可將不同形式的各式文件進行切割分析,包含text, pdf, excel等等,針對於文獻裡表格,圖表進行文字分析。
RagFlow會自動切割文章,但目前發現有些字的錯誤率頗高,可能針對繁體中文的辨識需要被推進。
可以看見RagFlow再進行圖表的分析時,目前只會針對文字進行處理,無法進一步解讀圖表含意。
上傳文件
文件管理
上傳檔案之後,點選開始解析,等待系統完成解析後,即可使用
可以看到log顯示他的辨析過程
模型串接
點選自己頭像,這邊點選左側模型,可以和其他模型進行整合
實際使用 – 與機器人對話
- 機器人設定
- 機器人對談
對話中可以看到機器人回應時,採用了那些文獻的那些部分
也可以設定找不到資料時拒絕回應
試用連結: https://demo.ragflow.io/chat/share?shared_id=ragflow-NiMzMxMTRjMzY5NDExZWZiNzQ0MDI0Mm