注意:
- 本教程需要访问 Oracle Cloud。要注册免费账户,请参阅开始使用 Oracle Cloud Infrastructure 免费套餐。
- 它对 Oracle Cloud Infrastructure 身份证明、租户和区间使用示例值。完成实验室后,请使用特定于云环境的那些值替换这些值。
使用 Oracle Cloud Infrastructure Generative AI 和 REST API 开发简单的 AI Agent Tool
简介
大语言模型 (LLM) 的使用彻底改变了我们与系统和业务流程的交互方式。这些模型能够理解自然语言并与传统服务集成,使应用程序更加智能和高效。
本材料旨在通过实际示例演示如何应用 LLM 概念来优化与旧系统的集成。通过使用 AI 代理,可以显著降低 API 使用的复杂性,从而提高流程自动化灵活性和可访问性。
在整个文档中,将介绍常见场景,其中人工智能代理的应用可以简化业务运营,减少手动配置的需求,并促进不同系统之间的通信。
使用 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 网关进行调用,该网关公开了 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 Integration
- OCI Kubernetes 引擎
- OCI 流处理
您还可以与内部部署资源或其他云资源集成。
任务 3:配置代码
-
这个 python 代码需要一些库。因此,您需要下载 requirements.txt 文件。此文件包含库。
-
运行以下命令安装磁带库。
pip install -r requirements.txt
-
您需要配置 Oracle Cloud Infrastructure 命令行界面 (OCI CLI) 并与租户链接。要安装和配置,请参见 Installing the OCI-CLI 。
-
配置区间以存储 OCI 生成式 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 代理如何提供帮助:它可以翻译通过最便宜的运营商发运此订单等请求,并自动选择合适的服务。
-
客户服务和服务台
- 方案:具有 Siebel、Oracle CX 和 ServiceNow 等 CRM 的公司需要将客户请求与不同的 API 集成。
- 挑战:每个系统都具有不同的端点,可用于创建票证、更新状态、检索客户信息和跟踪历史记录。
- AI 代理如何提供帮助:它可以理解向我显示客户 X 的上次调用等请求并调用正确的 CRM API。
-
HR 和薪资集成
- 场景: HR 系统需要跨多个供应商和 ERP 同步薪资、福利和入职。
- 挑战:福利、薪资和人才管理 API 具有不同的监管参数和验证。
- AI 代理如何提供帮助:它可以解释向薪资系统招收新员工等命令,并将其转换为对正确 API 的适当调用。
-
基础设施和安全监视(SIEM 和 ITSM)
- 场景:大型企业使用多个监视系统(Splunk、Datadog、ServiceNow、Zabbix)来跟踪事件和异常。
- 挑战:每个工具都具有用于警报、日志和自动响应的不同 API。
- AI 代理如何提供帮助:它可以在 ServiceNow 中解释诸如 List the latest critical alerts and open a ticket in ServiceNow 等命令。
-
合同管理和数字签名
- 方案:公司使用 DocuSign 和 Adobe Sign 等服务来管理合同和签名。
- 挑战:每项服务对发送文档、验证签名和跟踪状态有不同的要求。
- AI 代理如何提供帮助:它可能会收到将此合同发送到客户端 X 进行签名并在签名时通知我等请求,并将其定向到正确的 API。
-
医疗保健管理和电子医疗记录(HIS、PACS、LIS、ERP)
- 场景:医院和诊所使用不同的系统来存储患者信息、实验室测试和医学图像。
- 挑战:来自 Tasy (Philips)、MV、Epic 和 PACS(DICOM 映像文件)等系统的 API 具有不同的请求格式。
- AI 代理如何提供帮助:它可以解释诸如 Retrieve patient John Smith's latest blood test and attach it to the medical record 等命令,自动调用正确的 API。
-
电信(技术支持和服务配置)
- 场景:电信运营商提供电话、互联网和电视服务,需要集成多个计费、CRM 和网络监视系统。
- 挑战:每个操作(例如,打开调用、更改计划、检查消耗)都涉及特定于每个服务的不同 API。
- AI 代理如何提供帮助:它能够理解我想将我的互联网限额提高到 500 MB 并触发正确的 API 以升级计划。
-
保险自动化(索赔和保险单签发)
- 场景:保险公司需要集成 API 来进行报价、保单签发和索赔。
- 挑战:每个保险公司都有自己的 API,参数因保险类型(车辆、健康、家庭)而异。
- AI 代理如何提供帮助:它将注册客户 Pedro Souza 汽车索赔申请等请求转换为对正确 API 的自动调用。
-
对外贸易和海关清关
- 方案:进口/出口的公司需要处理 IRS API、国际运营商和海关控制系统。
- 挑战:每个国家/地区都有不同的文档规则和格式(DU-E、DI、发票、装箱单)。
- AI 代理如何提供帮助:它可以解释在 Santos 港口跟踪货物 X 的发布,并将其转换为 IRS 和运营商 API 中的请求。
-
酒店管理和在线预订
- 场景:酒店需要与 Booking、Expedia 和 Airbnb 等平台集成,以管理预订和客房可用性。
- 挑战:每个平台对取消、费率调整和响应时间有不同的规则。
- AI 代理如何提供帮助:它能够了解周五将费率调整为 R$400 并周一阻止预订,并调用正确的 API。
-
营销自动化和广告营销活动
- 场景:企业使用 Meta 广告、Google 广告、HubSpot 和 RD Station 等工具开展数字营销活动。
- 挑战:创建市场活动、对受众进行细分和分析指标需要与多个 API 集成。
- AI 代理如何提供帮助:它可以解释在 Facebook 上为对技术感兴趣的 25 到 40 岁受众创建广告,预算为 R$500 ,并自动配置市场活动。
-
Supply Chain and Inventory Management
- 场景:大型零售连锁企业需要实时监视库存并预测自动补货。
- 挑战:ERP、WMS 和供应商系统具有用于产品申请和需求预测的单独 API。
- AI 代理如何提供帮助:它能够了解在产品 X 达到 10 个单位时补充产品 X ,并触发正确的 API。
-
聊天机器人和全渠道服务的集成
- 场景:公司通过 WhatsApp、Telegram、电子邮件和聊天机器人提供支持,需要集中管理 CRM 中的所有内容。
- 挑战:每个渠道的 API 不同,自动响应和路由的规则也不同。
- AI 代理如何提供帮助:它可以解释将此付款问题转发给人工服务员并重定向到正确的渠道。
-
能源管理与 IoT(智能电网)
- 场景:电力公司使用 API 来衡量消耗、预测需求和预防性维护。
- 挑战:IoT 系统、传感器和能源分销商具有不同且受监管的 API。
- AI 代理如何提供帮助:它能够了解监视工厂 X 的使用情况,并在超过 100 kWh 时通知我并配置自动预警。
后续步骤
采用由 LLM 驱动的人工智能代理已经证明了简化与传统系统的集成的巨大潜力。通过解释自然语言命令并将请求转换为准确的 API 调用,这些代理可显著降低业务流程自动化的复杂性。
这里介绍的例子展示了如何将这种方法应用于各种行业,从金融和物流到客户服务和基础设施监控。人工智能代理动态适应不同服务和环境的能力为公司的数字化转型提供了新的灵活性和效率。
随着人工智能模型的不断发展,这些集成预计将变得更加智能,从而在用户和系统之间实现越来越自然和准确的交互。自动化技术的未来包括人工智能和 API 的结合,而 AI 代理是这个数字连接新时代的关键。
相关链接
确认
- 作者 — Cristiano Hoshikawa(Oracle LAD A-Team 解决方案工程师)
更多学习资源
浏览 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 渠道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Develop a Simple AI Agent Tool using Oracle Cloud Infrastructure Generative AI and REST APIs
G29033-01
Copyright ©2025, Oracle and/or its affiliates.