neuml/rag
🚀 Retrieval Augmented Generation (RAG) with txtai. Combine search and LLMs to find insights with your own data.
What it solves
本專案提供一個使用者友善的 Streamlit 應用程式,實作 Retrieval Augmented Generation(RAG),透過將回應根植於特定且相關的上下文,確保 LLM 回應的事實正確性。使用者可以輕鬆在傳統的向量檢索與較進階的圖形檢索方法之間切換。
How it works
此應用程式建構於 txtai 框架之上,使用兩種主要的檢索策略處理使用者查詢:
- Vector RAG:執行標準向量搜尋,找出前 N 個最相關的文件匹配,作為 LLM 的上下文。
- Graph RAG:利用語意圖產生上下文,透過圖路徑遍歷或圖查詢擴展(使用
gq:前綴)實現。也可以同時結合兩種方法,在特定圖路徑內縮小搜尋範圍。
使用者可透過 URL、檔案路徑或直接以 # 前綴的文字輸入,動態將資料加入索引。
Who it’s for
開發者與 AI 研究者,想要一個即時可用的介面來測試與比較不同的 RAG 檢索策略(向量 vs. 圖形),以及管理自己的知識庫。
Highlights
- Dual Retrieval Modes:同時支援標準 Vector RAG 與 Graph RAG。
- Dynamic Data Indexing:可直接透過聊天介面使用
#指令新增文件或文字片段。 - Flexible Configuration:透過環境變數高度可設定,包含 LLM 選擇、嵌入資料庫與文字抽取後端(例如 Docling)。
- Visual Graph Representation:Graph RAG 查詢會顯示相應的圖形,以視覺化上下文的取得方式。