# SYSTEX Multi-agent 此專案建立了 multi-agent AI chatbot,主要包含兩個 agent:一個負責處理客戶自有資料的 Text-to-SQL agent,另一個則是使用檢索增強生成(RAG)技術處理專業知識的agent。整體 multi-agent 架構是使用 `langgraph` 完成。 ## 目錄 - [專案概述](#專案概述) - [主要組件](#主要組件) - [安裝](#安裝) - [使用方式](#使用方式) - [檔案說明](#檔案說明) - [貢獻](#貢獻) - [授權](#授權) ## 專案概述 此 multi-agent 系統旨在透過判斷使用者提問而選擇使用客戶自有資料庫或外部專業知識來源,回答使用者提問。系統包含兩個主要代理: 1. 客戶自有資料 agent:使用 **Text-to-SQL** 技術,用於處理客戶自有的結構化數據。 2. 外部專業知識 agent:使用 **RAG** 技術,並以 **FAISS** 實現 RAG 的 retriever,用於從外部非結構化知識中檢索並生成答案。 ## 使用方式 啟動 app: ```bash conda activate llama3 python systex_app.py ``` FastAPI Link: https://cmm.ai:8989/docs 共有四個 API,如下: 1. `/agent`: 2. `/knowledge` 3. `local_agents` 4. `history` ## 檔案說明 - **`app.py`**:運行多代理系統的主入口。 - **`ai_agent.py`**:定義多代理架構,包括 Text-to-SQL 和 RAG 代理。該架構由 `langgraph` 驅動。 - **`faiss_index.py`**:管理 FAISS 檢索器,為 RAG 提供文件檢索功能。 - **`tex_to_sql_private.py`**:包含將自然語言轉換為 SQL 查詢的邏輯,負責處理客戶自有資料。 ## 貢獻 歡迎任何貢獻!如有改進建議或發現錯誤,請提交 Pull Request 或開啟 Issue。 ## 授權 此專案依據 MIT 授權條款發布 - 詳情請參閱 [LICENSE](LICENSE) 檔案。 --- 這樣的 README 是否符合你的需求?如果有其他資訊要補充,隨時告訴我!