주:
- 이 자습서에서는 Oracle Cloud에 액세스해야 합니다. 무료 계정에 등록하려면 Oracle Cloud Infrastructure Free Tier 시작하기를 참조하십시오.
- Oracle Cloud Infrastructure 자격 증명, 테넌시 및 구획에 예제 값을 사용합니다. 실습을 완료했으면 이러한 값을 자신의 클라우드 환경과 관련된 값으로 대체하십시오.
Oracle Cloud Infrastructure Generative AI 및 REST API를 사용하여 간단한 AI 에이전트 도구 개발
소개
LLM(Large Language Models)을 사용하면 시스템 및 비즈니스 프로세스와 상호 작용하는 방식에 혁명을 일으켰습니다. 자연어를 이해하고 레거시 서비스와 통합할 수 있는 기능을 갖춘 이 모델은 애플리케이션을 보다 지능적이고 효율적으로 만듭니다.
이 자료는 실용적인 예를 통해 레거시 시스템과의 통합을 최적화하기 위해 LLM 개념을 적용하는 방법을 시연하는 것을 목표로 합니다. AI 에이전트를 사용하면 API 소비의 복잡성을 크게 줄여 프로세스 자동화의 유연성과 접근성을 높일 수 있습니다.
문서 전체에서 AI 에이전트를 적용하여 비즈니스 운영을 간소화하고 수동 구성의 필요성을 줄이며 여러 시스템 간의 통신을 용이하게 할 수 있는 일반적인 시나리오가 제공됩니다.
LLM 모델을 사용하여 레거시 서비스에 대한 비즈니스 프로세스 및 직접 실행을 파악할 수 있습니다. 컨텍스트 포함을 통해 이해가 가능하므로 응용 프로그램 구성을 크게 용이하게 하고 속도를 높일 수 있습니다. LLM 모델은 다른 여러 언어로의 번역을 포함하여 자연어를 사용합니다.
다음 자습서에서는 레거시를 기반으로 간단한 애플리케이션을 구축하는 방법을 보여줍니다. API 레거시가 있는 경우 AI 에이전트를 사용하면 강력한 통합이 가능합니다. AI 에이전트에 LLM 개념을 적용하면 복잡한 API 사용 문제를 해결할 수 있습니다. AI가 없으면 API는 모든 입력 및 출력 속성을 파악하는 데 포함되므로 통합을 위해 많은 작업이 필요합니다.
목표
- OCI Generative AI 및 REST API를 사용하여 간단한 AI 에이전트 도구를 개발합니다.
작업 1: 코드 다운로드 및 이해
agent_ocigenai.py에서 코드를 다운로드합니다.
코드는 다섯 개의 모듈로 나뉩니다.
Simple Database Persistence Services: 이 코드는 주문을 삽입, 삭제, 질의 및 요약하기 위한 단순 데이터베이스 생성을 정의합니다.
서비스 정의: 코드는 insert_order
, delete_order
, search_order
, order_cost
및 delivery_address
와 같은 여러 서비스를 정의합니다. 이러한 서비스는 대화 에이전트가 호출할 수 있음을 나타내는 @tool 데코레이터로 장식되어 있습니다.
언어 모델 정의: 코드는 ChatOCIGenAI 언어 모델을 사용하여 사용자 질문에 대한 응답을 생성합니다.
대화형 에이전트 정의: 이 코드는 LangChain의 create_tool_calling_agent
함수를 사용하여 대화형 에이전트를 생성하고, 언어 모델, 정의된 서비스 및 프롬프트 템플리트를 매개변수로 전달합니다.
대화형 루프: 코드가 무한 루프를 입력합니다. 이 루프는 사용자 입력을 기다리며 대화형 에이전트를 사용하여 응답을 처리합니다.
-
데이터베이스 서비스:
데이터를 단순 데이터베이스에 저장하기 위해 이 데모는 지속성을 위해 SQLite3 데이터베이스를 생성합니다. 이러한 서비스는 비즈니스 서비스에 사용됩니다.
-
REST 서비스:
이러한 서비스는 REST 호출을 정의하는 데 사용됩니다. 우편번호에서 주소를 인출하는 예제의 경우 OCI API 게이트웨이를 호출하여 Oracle Integration에 구축된 통합을 노출함으로써 OKE(Oracle Cloud Infrastructure Kubernetes Engine)의 마이크로서비스에서 주소를 가져옵니다.
-
비즈니스 서비스:
비즈니스 서비스를 구현할 때 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 Streaming
또한 온프레미스 또는 기타 클라우드 리소스와 통합할 수 있습니다.
작업 3: 코드 구성
-
이 python 코드에는 라이브러리가 필요합니다. 따라서 requirements.txt 파일을 다운로드해야 합니다. 이 파일에는 라이브러리가 포함되어 있습니다.
-
다음 명령을 실행하여 라이브러리를 설치합니다.
pip install -r requirements.txt
-
OCI CLI(Oracle Cloud Infrastructure Command Line Interface)를 구성하고 테넌시와 연결해야 합니다. 설치 및 구성하려면 OCI-CLI 설치를 참조하십시오.
-
OCI Generative AI에 대한 리소스를 저장할 컴파트먼트를 구성합니다.
compartment_id
를 업데이트하고auth_profile
를 DEFAULT로 유지합니다.
작업 4: 코드 실행
다음 명령을 사용하여 코드를 실행합니다.
python agent_ocigenai.py
AI 에이전트 시나리오
여러 REST API와의 통합 및 에이전트 AI의 사용에 대한 여러 시나리오가 있습니다. 비즈니스 정보 매핑과 사용 가능한 API 간의 복잡성은 매우 많습니다. 이것은 여러 기업 비즈니스 상황에서 매우 일반적입니다. 다음은 에이전트 AI가 이 작업을 지원할 수 있는 몇 가지 예입니다.
-
재무 프로세스 자동화(ERP 및 은행)
- 시나리오: 기업은 명세서를 얻고, 지급 명세서를 생성하고, 지급을 처리하고, 세금 정보를 검증하기 위해 여러 은행과 통합해야 합니다.
- 과제: 각 은행에는 지불, PIX, 이체 및 재무 조정에 대한 특정 매개변수가 포함된 자체 API가 있습니다.
- AI 에이전트의 도움: 공급자 X에 대한 송장 지불 등의 요청을 해석하고 필요한 매개변수를 사용하여 올바른 은행 API로 리디렉션할 수 있습니다.
-
Order Management 및 물류(E-commerce, ERP, WMS)
- 시나리오: 전자 상거래는 주문을 통합관리하고, 재고를 업데이트하고, 다양한 유형의 배송에 대해 운송업체를 요청해야 합니다.
- 문제: 통신업체 API는 특정 요청 형식을 필요로 하는 다양한(사무실, FedEx, DHL, 로컬 통신업체)를 지원합니다.
- AI 에이전트의 도움: 가장 저렴한 운송업체를 통해 이 주문 배송과 같은 요청을 번역하고 적절한 서비스를 자동으로 선택할 수 있습니다.
-
고객 서비스 및 헬프데스크
- 시나리오: Siebel, Oracle CX, ServiceNow와 같은 CRM을 사용하는 기업은 고객 요청을 다양한 API와 통합해야 합니다.
- 문제: 각 시스템에는 티켓 생성, 상태 업데이트, 고객 정보 검색 및 기록 추적을 위한 서로 다른 엔드포인트가 있습니다.
- AI 에이전트의 도움: Show me the last calls from customer X와 같은 요청을 이해하고 올바른 CRM API를 호출할 수 있습니다.
-
HR 및 급여 통합
- 시나리오: HR 시스템은 여러 공급업체 및 ERP 전반에서 급여, 복리후생 및 온보딩을 동기화해야 합니다.
- 과제: 복리후생, 급여 및 인재 관리 API에는 다양한 규제 매개변수와 검증이 있습니다.
- AI 에이전트의 도움: 급여에 신입사원 입사와 같은 명령을 해석하여 적절한 API 호출로 변환할 수 있습니다.
-
인프라 및 보안 모니터링(SIEM 및 ITSM)
- 시나리오: 대기업은 여러 모니터링 시스템(Splunk, Datadog, ServiceNow, Zabbix)을 사용하여 인시던트 및 이상을 추적합니다.
- 과제: 각 툴에는 경보, 로그 및 자동 응답을 위한 서로 다른 API가 있습니다.
- AI 에이전트의 도움: 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를 자동으로 호출할 수 있습니다.
-
통신(기술 지원 및 서비스 프로비저닝)
- 시나리오: 통신 사업자는 전화, 인터넷 및 TV 서비스를 제공하며 여러 청구, CRM 및 네트워크 모니터링 시스템을 통합해야 합니다.
- 도전: 각 작업(예: 통화 열기, 계획 변경, 소비 확인)에는 각 서비스에 특정한 다양한 API가 포함됩니다.
- AI 에이전트의 도움: 인터넷 허용량을 500MB로 늘리고 싶다를 이해하고 계획을 업그레이드하기 위해 올바른 API를 트리거할 수 있습니다.
-
보험 자동화(청구 및 정책 발행)
- 시나리오: 보험 회사는 견적, 정책 발행 및 청구를 위해 API를 통합해야 합니다.
- 문제: 각 보험 회사에는 자체 API가 있으며 보험 유형(차량, 건강, 가정)에 따라 매개변수가 달라집니다.
- AI 에이전트의 도움: 고객용 Pedro Souza 차량에 대한 청구 등록, 부작용 발생 등의 요청을 적절한 API에 대한 자동 호출로 변환할 수 있습니다.
-
해외 무역 및 세관 통관
- 시나리오: 수입/수출하는 기업은 IRS API, 국제 통신업체 및 세관 관리 시스템을 처리해야 합니다.
- 문제: 각 국가마다 설명서(DU-E, DI, Invoice, Packing List)에 대한 규칙과 형식이 다릅니다.
- AI 에이전트가 지원하는 방법: 산토스 항구의 화물 X 출시를 추적하고 이를 IRS 및 운송업체 API의 요청으로 변환할 수 있습니다.
-
호텔 관리 및 온라인 예약
- 시나리오: 예약 및 객실 가용성을 관리하려면 호텔이 Booking, Expedia, Airbnb와 같은 플랫폼과 통합되어야 합니다.
- 도전: 플랫폼마다 취소, 요율 조정 및 응답 시간에 대한 규칙이 다릅니다.
- AI 에이전트의 도움: 금요일 R$400으로 요금을 조정하고 월요일 예약을 차단하고 올바른 API를 호출할 수 있습니다.
-
마케팅 자동화 및 광고 캠페인
- 시나리오: 기업은 디지털 캠페인을 위해 Meta Ads, Google Ads, HubSpot, RD Station 등의 도구를 사용합니다.
- 문제: 캠페인을 생성하고, 대상자를 세분화하고, 측정지표를 분석하려면 여러 API와 통합해야 합니다.
- AI 상담원의 도움: Facebook에서 기술에 관심이 있는 25~40년 된 청중을 위한 광고 생성, 예산 R$500을 해석하고 캠페인을 자동으로 구성할 수 있습니다.
-
공급망 및 Inventory Management
- 시나리오: 대규모 소매 체인은 재고를 실시간으로 모니터링하고 자동 보충을 예측해야 합니다.
- 도전: ERP, WMS, 공급업체 시스템은 제품 구매 요청 및 수요 예측을 위한 별도의 API를 제공합니다.
- AI 에이전트의 도움: 제품 X 보충이 10단위에 도달했을 때 이를 이해하고 적절한 API를 트리거할 수 있습니다.
-
챗봇과 옴니채널 서비스의 통합
- 시나리오: 기업은 CRM의 모든 요소를 중앙 집중화해야 하는 WhatsApp, Telegram, 이메일 및 챗봇을 통해 지원을 제공합니다.
- 문제: 자동 응답 및 라우팅에 대한 규칙이 서로 다른 채널마다 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 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 Oracle Learning Explorer가 되려면 education.oracle.com/learning-explorer을 방문하십시오.
제품 설명서는 Oracle Help Center를 참조하십시오.
Develop a Simple AI Agent Tool using Oracle Cloud Infrastructure Generative AI and REST APIs
G29031-01
Copyright ©2025, Oracle and/or its affiliates.