본문 바로가기

Databricks Blog

AI 에이전트 개발하기 1부: Databricks 및 OpenAI Agents SDK를 사용하여 에이전트 기반 앱 구축 및 배포

AI 에이전트 개발하기 1부: Databricks 및 OpenAI Agents SDK를 사용하여 에이전트 기반 앱 구축 및 배포

다양한 데이터 소스에 접근하고, 실시간으로 업데이트되는 소스의 분석 데이터에 대한 관리형 접근 권한을 제공하며, 기업 환경에 원활하게 배포할 수 있는 대화형 AI 비서를 구축하는 방법을 생각해 보신 적이 있습니까? 오늘은 Databricks와 OpenAI 에이전트 SDK의 다양한 리소스를 결합하여 소매업체의 실제 비즈니스 문제를 해결하는 방법을 보여주는 스토어 인텔리전스 비서를 만들어 보면서 바로 그 방법을 살펴보겠습니다.

이 게시물에서는 Genie Space, 벡터 검색 및 AI 기반 예측 기능을 활용하는 스토어 인텔리전스 어시스턴트의 아키텍처와 주요 기능을 자세히 살펴보겠습니다. 이 모든 기능은 Databricks 앱으로 배포됩니다.

스토어 인텔리전스 어시스턴트 아키텍처

스토어 인텔리전스 어시스턴트는 사용자가 자연어를 통해 매장 성과 지표, 재고 수준, 비즈니스 정책 및 판매 예측을 조회할 수 있는 대화형 Streamlit 앱입니다. 이러한 기능은 다음과 같은 요소들의 조합을 통해 백그라운드에서 구현됩니다.

  • Databricks Genie Space
  • Databricks Vector Search는 벡터 검색 인덱스에 대한 정책과 같은 비정형 데이터 쿼리에 사용됩니다.
  • ai_forecast() 함수를 통해 지니 Space 중 하나에 연결된 AI 예측 모델
  • Streamlit은 대화형 프런트엔드 인터페이스를 위한 도구입니다.
  • OpenAI 에이전트 SDK를 이용한 오케스트레이션
  • LLM은 Mosaic AI Gateway의 엔드포인트로 프로비저닝되었습니다.

에이전트 모니터링을 활용하여 에이전트에서 발생하는 추적 정보를 캡처하는 Databricks 통합 접근 방식

이제 이러한 구성 요소들이 어떻게 서로 연동되어 강력한 소매 분석 솔루션을 만들어내는지 자세히 살펴보겠습니다.

특화된 Genie Spaces: 팀을 위한 맞춤형 도구

Databricks Genie의 특화된 Space(이하 룸)를 개별 에이전트 도구로 활용하는 것은 매우 특징적인 이점입니다. 몇 초 만에 주제별 룸을 생성하여 코드를 한 줄도 작성하지 않고 전문가를 참여시킬 수 있습니다. 이렇게 생성된 룸은 에이전트에 도구로 연결되어 여러 룸에 걸쳐 있는 복잡하고 복합적인 쿼리를 처리할 수 있습니다. 과도한 엔지니어링은 필요하지 않습니다. 사실, 에이전트 자체(즉, 지니)를 도구로 취급하는 것이 바로 OpenAI Agents SDK에서 이러한 시나리오에 권장하는 패턴입니다.

예를 들어, 에이전트는 복합 질문을 하위 질문으로 분해하고 각각을 별도의 도구 호출로 서로 다른 지니 룸에 보냅니다.

이렇게 하면 상황에 맞는 적절한 접근 방식을 통해 0에서 60까지 빠르게 도달할 수 있습니다. 결과적으로 우리는 두 개의 지니 Space를 얻게 됩니다.

  1. 매장 성과(Store Performance) Genie Space:
  • 매출, 판매 추세 및 매장 방문객 수에 대한 문의를 처리합니다.
  • 온라인 구매 후 매장 픽업(BOPIS) 정보를 관리합니다.
  • Databricks의 ai_forecast() 함수를 사용하여 판매 예측을 생성합니다.
  • 회원 갱신 및 총 마진 지표에 대한 통찰력을 제공합니다.

2. 제품 재고 Genie Space:

  • 제품별 재고 수준에 대한 정보를 제공합니다.
  • 사용자가 안전 재고 한도를 조회할 수 있도록 합니다.
  • 최적의 재고 관리를 위해 재주문 시점을 추적합니다.
  • 주문 상품의 재고 현황을 보고합니다.

이러한 분리는 다음과 같은 몇 가지 이점을 제공합니다.

  1. 팀은 각자의 전문 분야(공급망 vs. 재무)에 집중할 수 있습니다.
  2. 각 Space는 특정 ​​데이터 소스와 쿼리 패턴에 맞게 최적화할 수 있습니다. 예를 들어, 매장 성과 Genie Space에는 매장별 월별 매출 예측을 필요에 따라 생성하는 기능을 탑재할 수 있습니다.
  3. 권한 및 접근 제어는 마스킹 규칙 적용을 포함하여 세부적으로 적용할 수 있습니다.
  4. 각 Space는 전체 시스템에 영향을 주지 않고 독립적으로 발전할 수 있습니다. 따라서 시간이 지남에 따라 성능을 최적화하는 것이 훨씬 쉬워집니다.

Databricks 벡터 검색을 사용하여 비정형 데이터 활용하기

기업 행동 강령, 반품 절차 및 기타 비정형 문서는 표 형식에 깔끔하게 들어맞지 않습니다. 데모 도우미를 위해 Databricks Vector Search를 다음과 같은 방식의 도구로 구현했습니다.

벡터 검색 도구를 연결하는 과정

  1. 문서는 처리 과정을 거쳐 의미 있는 부분으로 분할됩니다.
  2. 각 청크는 적절한 임베딩 모델을 사용하여 임베딩됩니다.
  3. 임베딩 데이터는 Databricks Vector Search 인덱스에 저장됩니다.
  4. 쿼리 시, 해당 도구가 필요한 경우, 인덱스에서 일치하는 문서를 검색합니다. 그런 다음 에이전트는 이러한 문서를 컨텍스트 창에 표시하여 사용자 질문에 응답하는 데 필요한 정보가 있는지 확인합니다.

벡터 검색을 사용하면 모든 비정형 데이터를 벡터 인덱스에 동기화하고 서버리스 엔드포인트를 통해 노출하여 에이전트가 최소한의 지연 시간으로 액세스할 수 있도록 할 수 있습니다. 물론, 저는 하나의 벡터 검색 도구만 보여드렸지만, 사용 사례에 따라 더 추가할 수도 있습니다.

AI 기반 예측: 기존 머신러닝과 차세대 AI의 만남

이 어시스턴트가 소매업 분야에서 특히 강력한 이유는 기존의 머신러닝(예측)과 생성형 AI를 통합했기 때문입니다. 

매장 성과(Store Performance) Genie Space를 통해 사용자는 databricks의 ai_forecast 기능을 활용한 판매 예측을 요청할 수 있습니다. 이 통합 사례는 기존 머신러닝 기법과 최신 에이전트 사용 사례를 결합하는 방법을 보여줍니다.

기존 머신러닝 활용 사례인 예측 기능을 기반으로 구축되었습니다.

여기서 주목할 만한 점은 이러한 방식으로 모델 서비스 엔드포인트를 폴링할 수도 있다는 것입니다. 즉, 현재 다른 기존 머신러닝 사용 사례에 사용 중인 모든 모델을 활용하여 이러한 대화형 봇에 분석 정보를 제공하고 기능을 강화할 수 있습니다. 단, 사용 사례에 따라 적절한 경우에 한합니다.

Databricks 앱을 통한 간편한 배포

어시스턴트 구축이 완료되면 Databricks Apps를 사용하여 간단하게 배포할 수 있습니다. 이 저장소에는 필요한 모든 구성이 포함되어 있습니다. 

배포는 간단한 절차를 따릅니다.

  1. Databricks 워크스페이스에서 비밀 키를 생성하세요
  2. 앱 생성:  databricks apps create <app-name>
  3. 로컬 코드 동기화: databricks sync --watch
  4. 배포: databricks apps deploy <app-name>

실제 환경에서 앱 모니터링

저장소에서 보시다시피, 저희는 Databricks Agent Monitoring을 사용하여 앱에서 Databricks로 추적 로그를 기록하고 있습니다. 이를 설정하는 계측은 매우 간단하며, 에이전트 상호 작용이 모니터링 시스템에 조금씩 기록되는 것을 확인할 수 있습니다. 그러면 총 요청 수, 관심 있는 지표, 지연 시간, 토큰 등과 같은 메트릭을 볼 수 있습니다. 이 작업이 어떻게 진행되는지 관련 문서를 참조하세요..

사용자 질문에 답변하기 위한 에이전트의 원자적 작업 — Databricks 에이전트 모니터링에 기록됨

모든 것을 하나로 모으기

이 접근 방식의 강점은 OpenAI 에이전트 SDK 프레임워크 내에서 여러 Databricks 구성 요소를 활용하는 방식에 있습니다.

  1. 비정형 문서에서 정보를 검색하기 위한 Vector Search
  2. 자연어를 데이터베이스 쿼리로 변환하기 위한 Text-To-SQL
  3. 전통적인 ML을 대화형으로 표현하기 위한 Forecasting
  4. 도메인별 인텔리전스를 위한 Genie Spaces
  5. 원활한 배포 및 접근 제어를 위한 Databricks Apps

그 결과, 소매업계 관계자들이 복잡한 쿼리 언어를 배우거나 여러 대시보드를 탐색할 필요 없이 비즈니스 전반에 걸쳐 통찰력을 얻을 수 있는 대화형 도우미가 탄생했습니다.

다음 단계는 무엇인가요?

스토어 인텔리전스 어시스턴트는 도메인별 도구를 결합하여 실제 비즈니스 문제를 해결하는 방법을 보여줍니다. 다음 블로그에서는 데이터 인텔리전스의 강력한 기능을 보여줄 뿐만 아니라 시장 인텔리전스를 적용하여 이를 맥락화하는 다중 에이전트 시스템으로 확장하는 방법을 살펴보겠습니다.

이 데모를 재현하는 데 필요한 코드는 GitHub에서 확인할 수 있으므로, 직접 살펴보고 자신의 사용 사례에 맞게 수정하여 활용할 수 있습니다.


본 게시글의 원문은 이곳에서 확인하실수 있습니다.