在 Oracle APEX 中使用 AI 輔助開發的專案管理應用
Oracle APEX 是用於 Oracle 資料庫的低代碼應用開發平台,我們會依照 Oracle LiveLabs 這篇文章 Smart Project Management App with AI-Assisted Development in Oracle APEX 中的一步一步的教學引導,在 Oracle APEX AI Assistant 輔助(沒有AI幫忙不會寫程式了😂)下建立一個專案管理應用程式,詳細請看 這篇教學。
立即體驗
透過連結登入並先體驗 AI 生成的 專案管理應用程式。
帳號: stelladai
密碼: 00000000
獲取免費開發環境
進入並註冊 Oracle Apex,點擊 Free APEX Workspace,完成資料填寫。
完成資料填寫後,幾分鐘後應該會收到一封 Oracle APEX 的電子郵件。
Workspace 在登入 Oracle Apex 環境時會用到喔!
點擊電子郵件中的 Create Workspace,引導你建立工作區。
接著,引導你變更密碼。
帳號密碼 在登入 Oracle Apex 環境時會用到喔!
註冊完成後即可使用Workspace及帳號密碼登入 Oracle APEX Workspace。
創建 AI Service
點擊「應用程式產生器」,點擊「工作區公用程式」,點擊「生成式 AI」,建立 OpenAI Service。
記得要先去取得一組 OpenAI API keys。
安裝範例數據集
點擊「SQL 工作室」,點擊「公用程式」,點擊「範例資料集」,找到「專案資料」後點擊「安裝」、「下一頁」、「安裝資料集」、「結束」。
安裝完後可查看資料庫物件。點擊「SQL 工作室」,點擊「物件瀏覽器」,找到左側的「表格」後,即可看到每個表格的資料欄位資訊及內容。
AI 創建應用
點擊「應用程式產生器」,點擊「建立」,點擊「使用生成式 AI 建立應用程式」。
提示詞:
創建具有 Projects, Milestones, Status, Tasks, To Dos, Links 和 Comments 的專案管理應用程式,並啟用所有功能
Create an application with Projects, Milestones, Status, Tasks, To Dos, Links, and Comments. Also, enable all the Features
注意,頁面每次生成結果不一定相同喔!可以再給提示詞來修正應用程式,因為一旦建立就無法再用提示詞的方式修改了,所以確認都沒問題,再點擊「建立應用程式」。
點擊「設定外觀」,點擊「Redwood Light」。
點擊「建立應用程式」,AI 開始自動生成應用程式。
生成完後會跳轉至應用程式後台頁面,即可點擊「執行應用程式」。
一個專案管理的應用程式就建立完成囉!(OH YA!)
AI 優化應用
接下來,我們來用 AI 輔助優化應用程式。
更改選單格式
將原本向下滾動長清單,改成可搜尋的、有不同欄位的列表格式。
進入「14 - Project Task Todo」的頁面設計工具頁面。
點擊「P14_PROJECT_ID」元件,在右側窗格中「值清單」,點擊「前往 值清單」。
點擊「編輯元件」。
點擊「選取資料欄」。
加入 STATUS_ID, DESCRIPTION, COMPLETED_DATE 欄位。
點擊「套用變更」。
回到「14 - Project Task Todo」的頁面設計工具頁面。
點擊「P14_PROJECT_ID」元件,修改右側窗格內容。
- 識別的類型: 選擇「彈出視窗 LOV (Popup LOV)」
點擊「儲存」並執行應用程式,即可看到原本 Project 向下滾動長清單,改成了可搜尋的、有加入 STATUS_ID, DESCRIPTION, COMPLETED_DATE 欄位的列表格式。
連動選單選項
將選項內容根據上一個選單所選擇的項目而連動改變。
進入「14 - Project Task Todo」的頁面設計工具頁面。
點擊「共用的元件」。
點擊「值清單」。
在值清單頁面中,點擊 EBA_PROJECT_MILESTONES.NAME 右方的「複製」。
新值清單名稱輸入 EBA_PROJECT_MILESTONES.NAME_P14。
進入「EBA_PROJECT_MILESTONES.NAME_P14」,在 Where 子句中輸入以下語法。即會根據 Project 選項的當前值 P14_PROJECT_ID 限制返回 Milestone 選項。
1 | project_id = :P14_PROJECT_ID |
回到「14 - Project Task Todo」的頁面設計工具頁面。
點擊「P14_MILESTONE_ID」元件,修改右側窗格內容。
- 值清單: 選擇「EBA_PROJECT_MILESTONES.NAME_P14」。
- 父項項目: 選擇「P14_PROJECT_ID」。
點擊「儲存」並執行應用程式,即可看到 Milestone 選項內容會根據 Project 選項而連動改變。
增加表格欄位
在表格中增加 Project Name 和 Milestone Name 欄位,需要使用 SQL 將 Projects 和 Milestones 表關聯起來。我們將會使用 Oracle APEX AI Assistant 來產生此 SQL 語法。
進入「13 - 代辦事項」的頁面設計工具頁面。
點擊「Project Task Todos」元件,修改右側窗格內容。
- 來源的類型: 選擇「SQL 查詢」
- SQL 查詢: 點擊「程式碼編輯器」
點擊「APEX 輔助程式」,輸入所需的提示詞。
提示詞:
通過使用子查詢連接 EBA_PROJECTS、EBA_PROJECT_TASKS 和 EBA_PROJECT_MILESTONES 表,從 EBA_PROJECT_TASK_TODOS 表中檢索詳細資訊,包括關聯的專案和里程碑名稱
Write a query to retrieve details from the EBA_PROJECT_TASK_TODOS table, including associated project and milestone names, by using subqueries to join the EBA_PROJECTS, EBA_PROJECT_TASKS, and EBA_PROJECT_MILESTONES tables
APEX 會生成 SQL 語法,點擊「插入」,並點擊程式碼編輯器的「驗證」,驗證成功即可點擊確定。
點擊「儲存」並執行應用程式。
進入專案管理應用程式的代辦事項頁面,點擊「動作」的「資料欄」。
將 Project Name 和 Milestone Name 選入顯示在報表中的欄位。
點擊「動作」的「報表」的「儲存報表」。
選擇「另存為預設報表設定值」及「主要」報表類型。
我們就成功在表格中成功增加 Project Name 和 Milestone Name 欄位囉。
增加選單欄位
將選單改成可搜尋的、有不同欄位的列表格式。
進入「14 - Project Task Todo」的頁面設計工具頁面。
進入「共用的元件」,複製一個新的「EBA_PROJECT_TASKS.NAME_P14」。
點擊「P14_TASK_ID」元件,修改右側窗格內容。
- 值清單: 選擇「EBA_PROJECT_TASKS.NAME_P14」
- 點擊「前往 值清單」
來源類型選擇「SQL 查詢」。
點擊「APEX 輔助程式」,輸入所需的提示詞。
提示詞:
通過使用子查詢連接 EBA_PROJECTS 和 EBA_PROJECT_MILESTONES 表,從 EBA_PROJECT_TASKS 表中檢索 id 和 name,包括關聯的專案和里程碑名稱
Write a query that retrieves id and name from the EBA_PROJECT_TASKS table, including the associated project and milestone names, by using subqueries to join EBA_PROJECTS and EBA_PROJECT_MILESTONES tables
APEX 會生成 SQL 語法,點擊「插入」,並點擊程式碼編輯器的「驗證」,驗證成功即可點擊確定。
點擊「選取資料欄」。
將 Project Name 和 Milestone Name 選入顯示欄位。
回到「14 - Project Task Todo」的頁面設計工具頁面。
點擊「P14_TASK_ID」元件,修改右側窗格內容。
- 識別的類型: 選擇「彈出視窗 LOV (Popup LOV)」。
- 值清單: 選擇「EBA_PROJECT_TASKS.NAME_P14」。
點擊「儲存」並執行應用程式,即可看到原本 Task 向下滾動長清單,改成了可搜尋的、有加入 Project Name 和 Milestone Name 欄位的列表格式。
創建 AI 專案助手
創建 AI 專案助手,點擊「Chat with AI Assistant」即可詢問與所選專案相關的任何問題。
設置 AI
點擊「編輯應用程式定義」。
點擊「AI」,選擇「OpenAI Service」。
創建頁面
點擊「建立頁面」。
點擊「空白頁面」。
頁面定義:
- 頁碼: 17
- 名稱: Inline Assistant
- 頁面模式: 強制回應對話方塊
頁碼在接下來的步驟都會用到喔!(我的是 17)
創建項目
進入「17 - Inline Assistant」的頁面設計工具頁面。
點擊「元件」,右鍵點擊「建立 項目」。
建立以下 3 個項目。
名稱 | 類型 |
---|---|
P17_PROJECT_ID | 隱藏 |
P17_PROJECT_NAME | 隱藏 |
P17_PROJECT_DETAILS | 隱藏 |
創建區域
點擊「元件」,右鍵點擊「建立 區域」。
修改右側窗格內容。
- 名稱: Interact with AI about the Project: &P17_PROJECT_NAME.
- 類型: 靜態內容
- 靜態 ID: inline-assist
注意名稱中有.喔,是變數名稱一部份要加上去!(&P17_PROJECT_NAME.)
創建運算
點擊「標頭之前」,右鍵點擊「建立 運算」。
修改右側窗格內容。
- 項目名稱: P17_PROJECT_DETAILS
- 類型: SQL 查詢(返回單一值)
- SQL 查詢: 開啟程式碼編輯器
輸入以下 SQL 語法。
1 | SELECT |
項目名稱、id是使用你的頁碼!(我的是 17)
點擊「標頭之前」,右鍵點擊「建立 運算」。
修改右側窗格內容。
- 項目名稱: P17_PROJECT_NAME
- 類型: SQL 查詢(返回單一值)
- SQL 查詢: 開啟程式碼編輯器
1 | SELECT |
創建動態動作
進入「動態動作」的「載入頁面」,右鍵點擊「建立 動態動作」。
點擊「Open Chat Widget」元件,修改右側窗格內容。
- 名稱: Open Chat Widget。
- 事件: 載入頁面。
點擊「真」的「顯示」元件,修改右側窗格內容。
- 名稱: Open Assitant。
- 動作: 開啟 AI 輔助程式。
- 糸統提示: 使用以下說明回答所有問題。&P17_PROJECT_DETAILS.
- 歡迎訊息: 您好,歡迎來到專案小幫手。請隨時詢問有關所選專案的任何問題。
- 顯示方式: 內嵌。
- 容器選取器: #inline-assist。
設定頁面
進入「3 - 里程碑概覽」的頁面設計工具頁面。
點擊「動作」,右鍵點擊「建立 動作」。
修改右側窗格內容。
- 類型: 按鈕
- 標籤: Chat with AI Assistant
- 連結的類型: 重新導向至此應用程式中的頁面
- 熱鈕: 勾選
- 連結產生器-目標
- 頁面: 17
- 名稱: P17_PROJECT_ID
- 值: &ID.
- 清除快取: 17
設定完成後,點擊「儲存」並執行應用程式。
點擊「Chat with AI Assistant」。
使用「Chat with AI Assistant」,並詢問與所選專案相關的任何問題。
總結
本篇文章介紹了在 Oracle APEX 中使用 Oracle APEX AI Assistant 輔助開發一個專案管理應用程式,生成初版應用程式時間應該不到 1 分鐘,最後還打造 AI 專案助手讓 AI 使用資料庫內容來回答各專案相關問題,有效解決 LLM 常見的幻覺問題,提高回答的準確性。