使用说明
🔮 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 所有。