使用 Select AI 和 Oracle APEX 建置專員、高傳真、對話式 AI 架構

此 AI 驅動的聊天機器人解決方案利用結合資料視覺化和報告功能的代理架構,同時將幻燈片降到最低並確保高準確度。

自然語言 (NL) 查詢已轉譯為 Oracle Database 存取的可執行 SQL 敘述句,並採用在執行前即用機制驗證 SQL。此解決方案由 OCI 代管,其中包含 Oracle APEX Application Development 使用者介面、在 OCI Compute 上執行的 LangChain 型 AI 代理程式,以及與 OCI Generative AI 服務和 Oracle Autonomous AI Database 的整合。此架構可與企業資料進行無縫自然語言互動,將響應式自然語言處理前端與動態視覺化結合,並結合安全、高效能的後端以進行即時資料探索。

此 AI 聊天機器人解決方案提供:

  • 具有以角色為基礎之資料存取權的資料庫自然語言查詢
  • 動態資料視覺化和報告
  • 人工迴圈 SQL 驗證
  • 近零幻覺

架構

代理架構包含不同的功能層,可處理 Oracle Cloud Infrastructure (OCI) 上的使用者互動、API 存取、AI 處理及資料儲存。

下圖顯示功能層與處理流程:



Select-ai-apex- 架構 -oracle.zip

Workflow:

  1. 使用者透過 Oracle APEX Application Development 前端應用程式登入並提交自然語言查詢。
  2. 要求會透過 Oracle Cloud Infrastructure API Gateway 遞送至協調引擎。
  3. 要求會從 OCI API Gateway 遞送至 OCI Compute ,其中包含使用 LangChain 等架構開發的 AI 代理程式,在 OCI 容器執行個體上執行。
  4. 代理程式會執行設計的工作流程,以確保查詢準確性並降低不準確性 (休假)。
  5. 該代理呼叫 Oracle Autonomous AI Database Select AI 功能,該功能利用 OCI Generative AI 將自然語言查詢及其中繼資料轉譯為可執行的 SQL 陳述式。
  6. 來源資料位於獨立的非 Autonomous Database 上,例如 Oracle Exadata Database ServiceOracle Autonomous AI Database 是智慧型側邊欄,使用安全的資料庫連結存取此資料。此架構模式可在舊版資料庫中儲存的資料上使用 Select AI 功能,無須移轉資料。
  7. 最終 SQL 查詢的結果會透過應用程式前端的方式傳回給使用者。每個回應都會以自然語言格式化,以模擬類似交談的體驗,並隨附根據特定查詢結果量身打造的資料視覺化。
  8. 角色式存取控制 (RBAC) 會在進行此程序時強制實施。代理程式會選取與使用者角色對應的特定 Select AI 設定檔。每個設定檔都會限制為來源資料庫綱要的特定子集,以確保產生的 SQL 只能存取授權的資料。

此架構使用下列核心 OCI 元件:

  • Oracle Autonomous AI Database

    提供 AI 資料層的核心,包括:

    • 資料整合:使用資料庫連結 (sidecar) 存取非 Autonomous Database 來源。
    • 自然語言互動:使用內建的 Select AI 功能,將自然語言轉換為 SQL。
    • 向量搜尋:使用資料庫的 AI 向量搜尋功能來擷取增強生成 (RAG) 回饋迴圈。
  • Oracle APEX Application Development

    提供用於建置資料導向使用者介面的低程式碼平台。與 Autonomous Database 緊密整合,可作為查詢輸入和結果視覺化的前端。

  • 使用 Python 程式實際執行的 OCI Compute

    代管 AI 工作流程的協調流程引擎。它使用 REST API 接收來自 APEX 服務應用程式的要求、查詢資料庫,以及呼叫 OCI Generative AI 。此元件提供永久、低延遲的程式實際執行環境。

  • OCI 生成式 AI

    可存取用於三個主要功能的大型語言模型 (LLM):

    • SQL 的自然語言:作為 Select AI 功能的推論引擎。
    • 意見回饋向量化:從文字產生內嵌資料以儲存於 AI Vector Store 中。
    • 後端 LLM 服務:可直接由 Python 後端呼叫,以進行其他生成式工作,例如結果摘要。
  • OCI API 閘道

    為後端服務提供受管理、安全的端點、從 APEX 服務前端遞送要求至 OCI 容器執行處理上的協調引擎。

  • Oracle Exadata Database Service

    高效能資料庫,包含要查詢的來源資料。

  • Oracle Cloud Infrastructure Web Application Firewall (WAF)

    OCI WAF 作為重要的安全屏蔽,可檢查來自 APEX 服務前端的所有要求,以保護 API 閘道和後端服務免受惡意 Web 型攻擊。

  • OCI 身分識別與存取管理 (IAM)

    IAM 原則用於檢查、存取控制及安全執行。

最小化避震的專員工作流程

以下工作流程概述了專為在自然語言 (NL) 查詢處理中實現近零幻覺而設計的代理方法:



幻覺 - 減少 - 工作流程 -oracle.zip

  • 使用者輸入:使用者透過 APEX 服務前端提交自然語言查詢。
  • RAG 檢查點:首先使用語意相似性搜尋對照 Oracle Autonomous AI Database 中的 AI Vector Store 評估查詢。如果找到相符且預先驗證的查詢,則會重複使用其對應的 SQL,以確保一致性和效率。
  • 產生 SQL 的自然語言:如果未識別相符項目,協調流程引擎就會觸發 Autonomous Database 中的 Select AI 功能。此元件利用 OCI Generative AI 將使用者的輸入轉譯為可執行的 SQL 查詢。
  • 查詢驗證:產生的 SQL 會呈現給使用者以供複查與核准,在執行前引進人力迴圈保護。
  • 執行與資料擷取:驗證之後,會針對 Oracle Exadata Database Service 執行 SQL 查詢。產生的資料會在 APEX 服務前端呈現。
  • 意見回饋迴圈:經過驗證的自然語言查詢及其對應的 SQL 會使用 OCI Generative AI 內嵌為向量,並儲存在 AI Vector Store 中。這可透過展開信任的查詢組儲存區域,來增強以 RAG 為基礎的未來查詢解析。

此反覆工作流程可讓系統持續從使用者意見回饋中學習,並逐步降低幻覺的可能性。

舊有資料存取的 Sidecar 模式

Oracle Autonomous AI Database 可作為具有傳統資料庫的 AI 側邊欄,處理 SQL 轉譯和向量搜尋的自然語言,同時使用安全資料庫連結將查詢與 Exadata Database Service 進行聯合。

此方法免除移轉舊資料的需求,讓企業能夠在不中斷現有系統的情況下將查詢存取現代化。

運用內嵌 Oracle JETAPEX 服務進行動態視覺化

為了支援動態的資料導向視覺化,此架構使用與 Oracle JET 的直接整合,而非 APEX 服務的宣告式圖表元件。這可根據 AI 產生的資料啟用必要的程式實際執行呈現。

Oracle JET 的模型檢視模型 (MVVM) 架構運用了 Knockout.js,可啟用模組化相依性管理、非同步資料連結,以及程式實際執行使用者介面組合。這可讓前端動態回應由 AI 驅動的 SQL 查詢產生的結構化 JSON 輸出。

透過區隔圖表呈現與 APEX 服務的宣告層,我們得以對視覺化管線進行架構控制。圖表類型和資料模型會在程式實際執行時選取並導入,提供符合現代分析工作流程的響應式和可擴充使用者體驗。

呈現管線簡介:

  • 模型產生:使用 AI 代理將 AI 產生的 SQL 結果轉換為結構化 JSON。
  • JSON 有效負載:儲存在 APEX 服務頁面項目中供前端存取。
  • 檢視組合:圖表類型建議 (例如長條圖、折線圖和圓餅圖) 由 AI 擷取,並儲存在 APEX 服務圓鈕群組項目中,讓使用者可以在不同的圖表類型之間切換。
  • 程式實際執行圖表執行:JavaScript 函數會將 JSON 模型連結至靜態區域內即時呈現視覺化的 Oracle JET 圖表元件。

建議

使用下列建議作為建立對話式 AI 架構的起點。您的需求可能會與此處描述的架構不同。
  • 人類迴圈

    為此互動建立明確的指導方針和介面。設計直觀式複查介面,並定義明確的呈報準則,以確保人為監督既有效又有效。這促進了對系統的信任,並透過回饋循環持續改進。

  • 意見

    對系統產生的回饋日誌實施全面的分析。這將提供系統學習和發展方式的洞察分析。監控關鍵績效指標 (KPI),例如查詢準確性、使用者滿意度和回應時間,將有助於識別需要改進的領域,並確保高品質的使用者體驗。

注意事項

Oracle Cloud Infrastructure (OCI) 上部署此參考架構時,請考量下列各點:

  • 生成式 AI
    • 為了獲得可預測的效能,特別是在生產環境中,部署專屬 AI 叢集以進行模型推論。這些叢集不會與其他用戶共用,因此可確保回應時間一致。對於較不重要的任務 (例如內嵌產生),依需求模式可以是更具成本效益的選項。
    • 針對內嵌項目,您可以將預先訓練的模型匯入 Oracle Autonomous AI Database 中,或使用 OCI Generative AI 在外部產生內嵌内容。Oracle Autonomous AI Database 包含內建的 Open Neural Network Exchange (ONNX) 程式實際執行引擎,讓內嵌模型直接在資料庫中執行。
  • 高可用性
    • AI 代理程式:為了確保高可用性,必須將 LangChain 型 AI 代理程式部署到不同容錯域或可用性網域中的多個運算執行處理。建議您使用 OCI 執行處理集區進行擴展性和易於管理。OCI 負載平衡器會在這些執行處理之間分配流量,並執行狀況檢查。
    • 託管服務:架構中的其他元件 (例如 Autonomous DatabaseAPEX ServiceOCI Generative AIOCI API Gateway) 是具有內建容錯能力和高可用性的完全託管服務,無需額外設定備援。
    • 災害復原:若要防止全網站停機,請讓 Oracle Autonomous Data Guard 將資料庫複製到另一個 OCI 區域。
  • 安全性和合規性
    • 分層安全方法:實作多層安全策略。這應該包括網路安全措施,例如使用 Oracle Cloud Infrastructure Web Application Firewall ,並遵循所有服務互動的最低權限原則。
    • 微點存取控制:除了透過 AI 設定檔實行的角色型存取控制 (RBAC) 之外,請考慮使用虛擬專用資料庫 (VPD) 原則,以更精細地控制資料存取。

確認

  • 作者 Mirjana Rakuljic, Shahvaiz Janjua, Sydney Nurse
  • 貢獻者Robert Lies