数据分析代理

通过自然语言对话分析Oracle Analytics Cloud数据集的AI代理,支持自然语言查询、MCP协议整合和多步工具调用。

  • by kirkli9999
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 kirkli9999/OracleAnalyticsCloudMCP

使用说明

🔮 OAC PMO AI Agent

透過自然語言對話,分析 Oracle Analytics Cloud 資料集的 AI 代理

✨ 功能特色

  • 🗣️ 自然語言查詢:直接用中文問問題,AI 自動轉換為 OAC 查詢
  • 🔗 MCP 協定整合:透過 Oracle Analytics Cloud MCP Server 存取資料
  • 🔄 多步工具調用:自動執行 discover → describe → SQL 三步驟分析
  • 💬 對話記憶:同一 Session 內保留對話上下文
  • 🔐 金鑰不儲存:API Key 僅在瀏覽器 Session 中使用,不寫入任何檔案

🖥️ 畫面預覽

┌─────────────────────────────────────────────────┐
│  ⚙️ 側邊欄                  主對話區            │
│  ─────────────           ─────────────────────  │
│  Gemini API Key          Kirk ▶ 列出 IPD 資料集 │
│  OAC URL                                        │
│  模型選擇                AI ▶ 找到以下資料集:  │
│                               • DS_IPD          │
│  [清除對話]                   • DS_IPD_01       │
└─────────────────────────────────────────────────┘

🚀 快速開始

前置需求

  • Python 3.10+
  • Node.js 18+(執行 OAC MCP Server)
  • Gemini API Key(免費申請)
  • Oracle Analytics Cloud 執行個體

安裝與啟動

Windows:

git clone https://github.com/kirkli9999/OracleAnalyticsCloudMCP.git
cd OracleAnalyticsCloudMCP
start.bat

Linux / macOS(VM):

git clone https://github.com/kirkli9999/OracleAnalyticsCloudMCP.git
cd OracleAnalyticsCloudMCP
bash start.sh

瀏覽器前往 http://localhost:8501,輸入 Gemini API Key 與 OAC URL 即可開始使用。

🏗️ 架構說明

使用者瀏覽器
    │
    ▼
Streamlit Web App (app.py)
    │  自然語言問題
    ▼
Gemini API (gemini-2.5-flash)
    │  工具調用指令
    ▼
OAC MCP Server (oac-mcp-connect.js)
    │  REST API
    ▼
Oracle Analytics Cloud

📁 專案結構

OracleAnalyticsCloudMCP/
├── app.py                    # Streamlit 主程式
├── requirements.txt          # Python 依賴
├── start.sh                  # Linux/macOS 啟動腳本
├── start.bat                 # Windows 啟動腳本
├── .gitignore                # 排除敏感檔案
├── .streamlit/
│   └── config.toml           # Streamlit 外觀設定
└── oac-mcp-connect/
    ├── oac-mcp-connect.js    # Oracle MCP Server(Oracle 官方)
    └── lib/                  # MCP Server 依賴函式庫

🔐 安全性說明

項目 處理方式
Gemini API Key 僅存於瀏覽器 Session,不寫入任何檔案
OAC URL 僅用於建立 MCP 連線,不記錄
.env 檔案 已加入 .gitignore,不會上傳至 GitHub
config.json 已加入 .gitignore,不會上傳至 GitHub

🛠️ 常見問題

Q: 出現 429 RESOURCE_EXHAUSTED

Gemini Free Tier 配額已用盡,等待約 1 分鐘或前往 Google AI Studio 升級方案。

Q: 出現 503 UNAVAILABLE

Gemini 伺服器繁忙,程式會自動重試,請稍待。

Q: Node.js 找不到

請先安裝 Node.js 18+:https://nodejs.org

📄 授權

本專案使用 MIT 授權。OAC MCP Server (oac-mcp-connect.js) 版權歸 Oracle 所有。