附註:
- 此教學課程需要存取 Oracle Cloud。若要註冊免費帳戶,請參閱 Oracle Cloud Infrastructure Free Tier 入門。
- 它使用 Oracle Cloud Infrastructure 證明資料、租用戶及區間的範例值。完成實驗室時,請將這些值取代為您雲端環境特定的值。
使用 Oracle Cloud Infrastructure Generative AI 和 REST API 開發簡單 AI Agent Tool
簡介
大型語言模型 (LLM) 的使用徹底改變了我們與系統和業務流程的互動方式。這些模型能夠瞭解自然語言並與傳統服務整合,讓應用程式更具智慧且更有效率。
此材料旨在透過實際範例示範如何套用 LLM 概念,以最佳化與舊版系統的整合。透過使用 AI 代理程式,可以大幅降低 API 使用的複雜性,讓流程自動化更具彈性且可供存取。
在本文件中,將會出現常見的案例,其中 AI 代理程式的應用可以簡化業務作業、減少手動組態的需求,以及促進不同系統之間的通訊。
使用 LLM 模型瞭解傳統服務的業務流程和直接執行。您可以透過包含環境定義來瞭解,這有助於並加快應用程式的建構速度。LLM 模型使用自然語言,包括翻譯成數種其他語言。
下列教學課程將顯示如何根據舊版建立簡單的應用程式。當 API 傳統存在時,AI 代理程式允許強大的整合。將 LLM 概念套用至 AI 代理程式通常可解決複雜的 API 耗用問題。如果沒有 AI,API 就需要大量工作進行整合,因為它涉及瞭解所有輸入和輸出屬性
目標
- 使用 OCI Generative AI 和 REST API 開發簡單的 AI 代理程式工具。
工作 1:下載並瞭解程式碼
從此處下載程式碼:agent_ocigenai.py 。
程式碼分成五個模組:
簡單資料庫持續性服務:程式碼定義建立簡單資料庫以插入、刪除、查詢及彙總順序。
服務定義:代碼會定義數個服務,例如 insert_order
、delete_order
、search_order
、order_cost
及 delivery_address
。這些服務會以 @tool 修飾器裝飾,表示對話代理程式可以呼叫這些服務。
語言模型定義:程式碼使用 ChatOCIGenAI 語言模型來產生使用者問題的回應。
對話代理程式定義:程式碼會使用 LangChain 的 create_tool_calling_agent
函數建立對話代理程式,並作為語言模型、已定義服務及提示樣板的參數傳送。
對話式迴圈:程式碼會輸入無限迴圈,等待使用者輸入,並使用對話式代理程式處理回應。
-
資料庫服務:
若要將資料儲存到簡單資料庫中,此示範會建立用於保存的 SQLite3 資料庫。這些服務將用於業務服務。
-
REST 服務:
這些服務可用來定義 REST 呼叫。如需從郵遞區號擷取地址的範例,系統會對 OCI API Gateway 進行呼叫,而 OCI API Gateway 會公開 Oracle Integration 內建的整合,以從 Oracle Cloud Infrastructure Kubernetes Engine (OKE) 上的微服務取得地址。
-
商業服務:
在導入業務服務時,可以公開這些服務,讓 OCI Generative AI 能夠更好地探索每個服務。您可以透過稱為
langchain_core.tools
的程式庫來解譯指定的相關資訊環境,此程式庫能夠以自然語言進行解譯,並將它與特定的業務服務相關聯。宣告將成為業務邏輯一部分的服務時,可以在每個服務的文件中宣告別名,以協助將它們的內容化。在提示中使用 AI 模型時,也需要環境定義宣告。
在每個服務定義中,可以判斷特定的相關資訊環境,以便當以自然語言傳送要求時,磁帶櫃可以解譯要求的內容,並判斷應執行哪些適當服務。
langchain_core.tools
程式庫會建立可供使用的相關資訊環境和服務關聯,以瞭解工作範圍。這會由下列影像中所示的宣告來完成。
關於 langchain_core.tools
程式庫的另一個有趣點是也會解譯服務簽章屬性,也就是說,程式庫本身會決定如何以自然語言轉送要求,以及定義有問題之服務參數的屬性。這本身已經非常令人印象深刻,因為它大幅減少了整合的導入負擔。在傳統整合模型中,有時間在這些整合的來源與目的地之間定義 FROM-TO。這是非常合理的努力。在代理程式 AI 模型中,它會透過傳遞屬性的相關資訊環境 (亦即,程式庫可以判斷每個參數的內容,並以正確的方式將其傳送至服務。
工作 2:修改程式碼
您可以測試及修改程式碼以供使用。名稱為 delivery_address
的服務已實作呼叫 REST API。在此範例中,您可以測試程式碼,並將真正的 REST 要求變更為假要求。
-
將
#
放入行中以加註下列程式碼。 -
取消註釋下列程式碼。
您可以使用 OCI 資源整合自己的 API:
- OCI API 閘道
- Oracle 整合
- OCI Kubernetes 引擎
- OCI 串流處理
您可以與內部部署或其他雲端資源整合。
工作 3:設定程式碼
-
此 python 程式碼需要一些函式庫 。因此,您必須下載 requirements.txt 檔案。此檔案包含程式庫。
-
請執行下列指令以安裝程式庫。
pip install -r requirements.txt
-
您需要設定 Oracle Cloud Infrastructure 命令行介面 (OCI CLI) 並與您的租用戶連結。若要安裝並設定,請參閱安裝 OCI-CLI 。
-
設定區間以儲存 OCI Generative AI 的資源。更新
compartment_id
並將auth_profile
保持為 DEFAULT 。
作業 4:執行程式碼
使用下列命令執行程式碼。
python agent_ocigenai.py
AI 代理程式案例
與多個 REST API 整合以及代理程式 AI 的使用情況有多種。對應業務資訊與可用 API 之間的複雜性很多。這在數個企業業務狀況下十分常見。以下是一些專員 AI 可協助此工作的範例:
-
財務流程自動化 (ERP 與銀行)
- 案例:公司必須與多家銀行整合,才能取得對帳單、產生付款單、處理付款,以及驗證稅捐資訊。
- 挑戰:每個銀行都有自己的 API,其中包含付款、PIX、轉帳及財務調節的特定參數。
- AI 專員如何協助:它可以解譯要求,例如支付供應商 X 的發票,並使用必要參數重新導向至正確的銀行 API。
-
Order Management and Logistics (電子商務、ERP、WMS)
- 案例:電子商務需要協調訂單、更新庫存及要求承運商以進行不同類型的交貨。
- 挑戰:營運商 API 不同 (郵局、FedEx、DHL、當地營運商),需要特定要求格式。
- AI 專員如何協助:它可以翻譯透過最便宜的承運商出貨此訂單等要求,並自動選取正確的服務。
-
客戶服務與服務台
- 案例:具有 CRM (例如 Siebel、Oracle CX、ServiceNow) 的公司必須將客戶要求與不同的 API 整合。
- 挑戰:每個系統都有不同的端點,可用於建立票證、更新狀態、擷取客戶資訊及追蹤歷史記錄。
- AI 專員如何協助:它可以瞭解顯示客戶 X 的上次通話等要求,並呼叫正確的 CRM API。
-
HR 與薪資整合
- 情境:人力資源系統需要跨多個廠商和 ERP 同步薪資、福利和到職。
- 挑戰:福利、薪資和人才管理 API 具有不同的法規參數和驗證。
- AI 專員如何協助:它可以解譯如 Admit new employee to payroll 的命令,並將該命令翻譯成適合的 API 呼叫。
-
基礎架構與安全監控 (SIEM 與 ITSM)
- 案例:大型企業使用多個監控系統 (Splunk、Datadog、ServiceNow、Zabbix) 追蹤未預期事件和異常。
- 挑戰:每個工具都有不同的警示、日誌和自動化回應 API。
- AI 代理程式如何協助:它可以解譯如 列出最新的嚴重性警示,並在 ServiceNow 中開啟回報項目的命令。
-
合約管理與數位簽章
- 案例:公司使用 DocuSign 和 Adobe Sign 等服務來管理合約和簽名。
- 挑戰:每項服務對於傳送文件、驗證簽章和追蹤狀態都有不同的要求。
- AI 專員如何協助:可能會收到類似將此合約傳送至用戶端 X 以進行簽名,並在簽章時通知我的要求,並將其導向至正確的 API。
-
醫療照護管理與電子醫療記錄 (HIS、PACS、LIS、ERP)
- 案例:醫院和診所使用不同的系統來儲存病患資訊、實驗室測試和醫療影像。
- 挑戰:來自 Tasy (Philips)、MV、Epic 及 PACS (DICOM 影像檔) 等系統的 API 具有不同的要求格式。
- AI 專員如何協助:它可以解譯如擷取病患 John Smith 的最新血液測試,並將其附加到醫療記錄中等命令,自動呼叫正確的 API。
-
電信 (技術支援與服務供應)
- 情境:電信營運商提供電話、網際網路和電視服務,並且需要整合多個計費、CRM 和網路監控系統。
- 挑戰:每個作業 (例如,開啟呼叫、變更計畫、檢查使用量) 都牽涉到每個服務特定的不同 API。
- AI 專員如何協助:瞭解我想要將網際網路限額提高至 500 MB ,並觸發正確的 API 來升級計畫。
-
保險自動化 (索賠與保單核發)
- 案例:保險公司必須整合 API 以進行報價、保單核發及索賠。
- 挑戰:每個保險公司都有自己的 API,且參數會因保險類型 (車輛、健康、住家) 而有所不同。
- AI 專員如何協助:它可以將註冊客戶 Pedro Souza 汽車的索賠,並產生副作用的要求轉譯為對正確 API 的自動呼叫。
-
外貿及海關清關
- 案例:匯入 / 匯出的公司需要處理 IRS API、國際營運商及海關控制系統。
- 挑戰:每個國家都有不同的文件規則和格式 (DU-E、DI、發票、包裝單)。
- AI 專員如何協助:它可以解譯追蹤 Santos 連接埠的貨物 X 發行版本,並將其翻譯成 IRS 和營運商 API 中的要求。
-
酒店管理和線上預訂
- 案例:酒店需要與預訂、Expedia 和 Airbnb 等平台整合,才能管理預訂和客房可用性。
- 挑戰:每個平台都有不同的取消、費率調整及回應時間規則。
- AI 專員如何協助:瞭解星期五將費率調整為 R$400,星期一封鎖預訂並撥打正確的 API。
-
行銷自動化和廣告行銷活動
- 案例:公司使用 Meta Ads、Google Ads、HubSpot 和 RD Station 等工具進行數位行銷活動。
- 挑戰:建立行銷活動、區隔受眾及分析指標需要與多個 API 整合。
- AI 專員如何協助:它可以解譯在 Facebook 上為對技術有興趣的 25 到 40 歲受眾建立廣告,預算為 R$500 並自動設定行銷活動。
-
Supply Chain and Inventory Management
- 案例:大型零售連鎖店需要即時監控庫存並預測自動補貨。
- 挑戰:ERP、WMS 和供應商系統有不同的 API 可進行產品申請和需求預測。
- AI 專員如何協助:瞭解產品 X 達到 10 個單位時補充產品,並觸發正確的 API。
-
整合聊天機器人與全通路服務
- 案例:公司透過 WhatsApp、電報、電子郵件和聊天機器人提供支援,需要集中管理 CRM 的所有項目。
- 挑戰:每個管道有不同的 API,自動回應和路由有不同的規則。
- AI 專員如何協助:它可以解譯將此付款問題轉呈給人力與會者,並重新導向至正確的管道。
-
能源管理與 IoT (智慧網格)
- 案例:電力公司使用 API 來測量耗用量、預測需求及預防性維護。
- 挑戰:IoT 系統、感測器和能源經銷商具有不同且受規範的 API。
- AI 專員如何協助:瞭解監控工廠 X 的使用情況,並在超過 100 個 kWh 時通知我並設定自動警示。
接下來的步驟
採用由 LLM 支援的 AI 代理程式已證明了可簡化與舊有系統整合的巨大潛力。透過將自然語言命令和要求轉譯為準確的 API 呼叫,這些代理程式可大幅降低自動化業務流程的複雜性。
此處提供的範例示範如何將此方法套用至各種產業,從財務、物流、客戶服務和基礎架構監控。AI 代理程式能夠動態適應不同服務和環境,在公司的數位轉型中提供了新的靈活性和效率。
隨著 AI 模型不斷演進,這些整合預期會變得更加智慧化,讓使用者和系統之間的互動變得越來越自然且準確。自動化的未來涉及人工智慧和 API 的結合,而 AI 代理程式是此數位連線新時代的關鍵。
相關連結
認可
- 作者 - Cristiano Hoshikawa (Oracle LAD A-Team 解決方案工程師)
其他學習資源
探索 docs.oracle.com/learn 上的其他實驗室,或存取 Oracle Learning YouTube 頻道上的更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請造訪 Oracle Help Center 。
Develop a Simple AI Agent Tool using Oracle Cloud Infrastructure Generative AI and REST APIs
G29034-01
Copyright ©2025, Oracle and/or its affiliates.