Agentic RAG 稽核系統
這是一個基於 AI Agent 的智能稽核系統,具有左右分屏的用戶界面。
系統架構
前端 (React + Vite + Tailwind CSS)
- 端口: http://localhost:3000
- 左側面板: 稽核對話 - 顯示 Agent 的 step-by-step 稽核過程
- 右側面板: 政策編輯器 - 顯示和編輯向量數據庫中的政策內容
後端 (FastAPI)
- 端口: http://localhost:8000
- 功能:
- 提供 RESTful API 介面 - 集成原有的 agent_audit.py 和 update_policy.py 功能 - 處理 MCP 工具調用 - 管理稽核會話狀態
功能特性
稽核對話 (左側)
- 實時顯示 Agent 的稽核過程
- 政策規格解析顯示
- 工具調用和結果展示
- 最終稽核報告輸出
政策編輯 (右側)
- 顯示當前向量數據庫中的政策內容
- 支持在線編輯政策
- 一鍵保存更新向量數據庫
- 實時顯示更新狀態
技術棧
前端
- React 18
- Vite
- Tailwind CSS
- Axios (HTTP 客戶端)
後端
- FastAPI
- Python 3.10+
- Groq (LLM)
- ChromaDB (向量數據庫)
- Sentence Transformers
快速開始
1. 安裝依賴
# 安裝前端依賴
cd frontend
npm install
# 後端依賴已在項目根目錄2. 啟動後端 API
python api_server.py後端將在 http://localhost:8000 啟動。
3. 啟動前端
cd frontend
npx vite dev --host 0.0.0.0 --port 3000 --open前端將在 http://localhost:3000 啟動,並自動打開瀏覽器。
使用說明
開始稽核
- 在左側稽核面板點擊"開始稽核"按鈕
- 系統會自動:
- 從向量數據庫檢索政策 - 解析政策為 JSON 規格 - 連接 MCP 工具進行多輪取證 - 生成最終稽核報告
編輯政策
- 在右側政策編輯器查看當前政策
- 直接在文本框中編輯政策內容
- 點擊"儲存政策"按鈕更新向量數據庫
- 系統會顯示更新成功/失敗的提示
API 端點
政策管理
GET /api/policy- 獲取當前政策POST /api/update-policy- 更新政策
稽核管理
POST /api/start-audit- 開始稽核GET /api/audit-status/{audit_id}- 獲取稽核狀態GET /api/final-report/{audit_id}- 獲取最終報告
系統集成
本系統完全集成您原有的後端代碼:
- agent_audit.py: 核心稽核邏輯,已集成到 FastAPI 中
- update_policy.py: 政策更新功能,已作為 API 端點
- mcp_audit_tools.py: MCP 工具,保持不變
- ingest_policy.py: 政策導入,保持不變
注意事項
- 確保
.env文件中包含有效的GROQ_API_KEY - 確保 MCP 服務 (天氣和股票) 正在運行
- 前端和後端需要同時運行才能正常工作
- 稽核過程可能需要幾分鐘時間,請耐心等待
開發
前端開發
前端使用 Vite 熱重載,修改文件後會自動刷新。
後端開發
後端使用 uvicorn 運行,修改後需要重啟服務。
檔案結構
audit_agentic_rag/
├── api_server.py # FastAPI 後端服務
├── frontend/ # React 前端
│ ├── package.json
│ ├── vite.config.js
│ ├── src/
│ │ ├── App.jsx # 主應用組件
│ │ ├── services/
│ │ │ └── api.js # API 服務
│ │ └── components/
│ │ ├── AuditPanel.jsx # 稽核面板
│ │ ├── PolicyEditor.jsx # 政策編輯器
│ │ └── Layout.jsx # 布局組件
│ └── index.html
├── agent_audit.py # 原有稽核腳本
├── update_policy.py # 原有政策更新腳本
├── ingest_policy.py # 政策導入腳本
├── mcp_audit_tools.py # MCP 工具
└── policy.txt # 政策文件故障排除
CORS 錯誤
如果遇到 CORS 錯誤,請檢查:
- 前端是否運行在 http://localhost:3000
- 後端是否運行在 http://localhost:8000
- FastAPI 的 CORS 配置是否正確
連接失敗
- 確認後端服務正在運行
- 檢查端口是否被佔用
- 確認網絡連接正常
貢獻
歡迎提交 Issue 和 Pull Request 來改進這個項目。
