주요 컨텐츠로 이동
에너지

Xcel Energy: Databricks에서 RAG 기반 챗봇 개발하기

LLM을 활용한 정확하고 맥락에 맞는 답변 생성

작성자: Aradhya Chouhan, Uttaran Banerjee, Blake Kleinhans (Xcel Energy) , Hari Purnapatre (Xcel Energy)

이 블로그에서는 Xcel Energy가 Databricks를 활용하여 요금 사례 검토 및 법률 계약 검토 등의 프로세스를 간소화하는 검색 증강 생성(RAG) 아키텍처 기반 챗봇을 구축한 방법을 소개합니다. 데이터 거버넌스부터 배포에 이르는 모든 개발 단계에서 Databricks 데이터 인텔리전스 플랫폼이 핵심적인 역할을 했습니다. Unity Catalog, Foundation Model API, AI Search, MLflow, Model Serving 등 플랫폼의 다양한 기능 덕분에 개발 팀은 RAG 아키텍처를 개선하고 챗봇 성능을 높이는 데 집중할 수 있었습니다. 이 프로젝트를 통해 요금 사례 검토 시간이 크게 단축되었으며, 데이터 접근성과 인사이트가 크게 향상되었습니다.

Xcel Energy콜로라도, 미시간, 미네소타, 뉴멕시코, 노스다코타, 사우스다코타, 텍사스, 위스콘신 등 8개 주에서 340만 명의 전기 고객과 190만 명의 천연가스 고객에게 서비스를 제공하는 선도적인 전력 및 천연가스 에너지 기업입니다. Xcel Energy는 운영을 간소화하고 고객에게 더 나은 서비스를 제공하기 위해 Databricks를 활용한 RAG 아키텍처 기반의 챗봇을 구축하고자 했습니다. Xcel Energy의 데이터 사이언티스트들은 요금 사례 검토, 법률 계약서 검토, 실적 발표 컨퍼런스 콜 보고서 분석 등 테스트할 여러 고가치 유스케이스를 발굴했습니다. 예를 들어, 에너지 비용이 변동함에 따라 Xcel Energy는 시장 요인에 맞춰 요금을 재조정해야 하는데, 이 과정은 수개월이 걸릴 수 있습니다. 한편, Xcel Energy의 경영진은 수백 페이지에 달하는 PDF를 일일이 검색하지 않고도 실적 발표 보고서에서 인사이트를 얻고자 했으며, 법무 팀은 고객 계약서의 세부 정보에 신속하게 액세스하기를 원했습니다.

데이터 팀의 목표는 대규모 문서 코퍼스에서 관련 데이터를 검색하고 대규모 언어 모델(LLM)을 사용하여 상황에 맞는 정확한 답변을 생성할 수 있는 확장 가능하고 효율적인 생성형 AI 시스템을 구현하는 것이었습니다. Databricks Data Intelligence Platform의 기능은 데이터 거버넌스 및 모델 통합부터 모니터링 및 배포에 이르기까지 개발의 모든 단계를 간소화했습니다. 이제 에너지 가격 보고서 및 정부 규제를 포함한 복잡한 문서 검토를 기반으로 하는 요금 산정 사례는 최대 6개월이 아닌 2주일이 소요됩니다.

Databricks 덕분에 RAG 기반 챗봇을 신속하게 개발하고 배포할 수 있었으며, 가치 창출 시간(time to value)을 크게 단축할 수 있었습니다. 이 플랫폼은 내부 데이터 소스 및 기존 대시보드 도구와 원활하게 통합되어, 우리 팀이 처음부터 인프라를 구축하는 대신 품질을 개선하는 데 집중할 수 있도록 해주었습니다. 또한 Databricks를 통해 다양한 임베딩과 언어 모델을 쉽게 실험하여 최상의 성능을 달성할 수 있었습니다.—Blake Kleinhans, Senior Data Scientist, Xcel Energy

데이터 관리 및 준비

프로젝트의 중요한 첫 단계는 효과적인 데이터 거버넌스 및 관리 방법을 수립하는 것이었습니다. 유틸리티 제공업체인 Xcel Energy는 민감한 데이터나 독점 데이터가 유출될 위험을 방지하기 위해 엄격한 보안과 거버넌스를 보장해야 했습니다. 각 유스케이스에는 공개 문서(실적 보고서)와 민감한 문서(법률 계약서) 등 다양한 문서가 필요했습니다. Databricks Unity Catalog는 챗봇의 지식 베이스를 위한 문서 코퍼스를 포함하여 정형 및 비정형 데이터 모두에 대한 중앙 집중식 데이터 관리를 가능하게 했습니다. 또한 모든 데이터의 보안과 규정 준수를 보장하는 세분화된 액세스 제어를 제공하여 민감하거나 독점적인 데이터가 포함된 프로젝트에 큰 이점을 제공했습니다.

생성형 AI 플랫폼을 최신 상태로 유지하려면 관련 데이터가 수집되는 즉시 RAG 기반 챗봇에서 사용할 수 있어야 했습니다. 데이터 준비를 위해 Databricks NotebooksApache Spark™를 활용하여 정부 웹사이트, 법률 문서, 내부 송장 등 다양한 소스의 대규모 데이터 세트를 처리했습니다. Spark의 분산 컴퓨팅 기능 덕분에 팀은 문서를 데이터 레이크로 빠르게 수집하고 전처리할 수 있었으며, Xcel Energy는 최소한의 시간 내에 대규모 데이터 워크플로우를 벡터 저장소로 전송할 수 있었습니다.

임베딩 생성 및 저장

임베딩은 RAG 아키텍처의 검색 메커니즘에 매우 중요했습니다. 팀은 Databricks Foundation Model APIs를 활용하여 문서 코퍼스의 고품질 벡터 표현을 제공하는 databricks-bge-large-en 및 databricks-gte-large-en과 같은 최첨단 임베딩 모델에 액세스했습니다. 이러한 임베딩 덕분에 모델 인프라를 수동으로 배포하거나 관리할 필요가 없어졌고, 임베딩 생성 프로세스가 간소화되었습니다.

그 후 임베딩은 Databricks 환경 내에 통합된 서버리스 및 확장성이 뛰어난 벡터 데이터베이스인 Databricks AI Search에 저장되었습니다. 이를 통해 효율적인 유사도 검색이 가능해졌으며, 이는 챗봇 검색 구성 요소의 중추 역할을 했습니다. Databricks 에코시스템 내에 AI Search가 원활하게 통합되어 인프라 복잡성이 크게 줄어들었습니다.

LLM 통합 및 RAG 구현

Xcel은 Databricks Foundation Model APIs를 사용하여 다양한 LLM을 테스트할 수 있었습니다. 이 API는 배포나 컴퓨팅 리소스 관리의 오버헤드 없이 사전 학습된 최첨단 모델에 대한 액세스를 제공합니다. 덕분에 최소한의 인프라 관리만으로 LLM을 챗봇에 쉽게 통합하여 강력한 언어 생성을 제공할 수 있었습니다.

이들의 초기 배포는 Llama 2 및 DBRX 모델을 시도한 후 32k 토큰 길이의 Mixtral 8x7b-instruct로 이루어졌습니다. 희소 전문가 혼합(SMoE) 모델인 Mixtral은 추론 시 Llama 70B보다 4배 빠르면서도 대부분의 벤치마크에서 Llama 2 70B 및 GPT 3.5와 동등하거나 그 이상의 성능을 보였습니다. Xcel Energy는 결과물의 품질을 우선시하여 Mixtral을 사용하다가, Agent Bricks AI Gateway 및 RAG용 AI Search를 통해 Databricks에서 액세스하는 AWS Bedrock의 Anthropic Claude Sonnet 3.5로 전환했습니다.


RAG 파이프라인은 Databricks 구성 요소와 원활하게 통합되는 강력한 프레임워크인 LangChain을 사용하여 구축되었습니다. 유사도 검색을 위해 Databricks AI Search를 활용하고 이를 LLM 쿼리 생성과 결합함으로써, 팀은 사용자 쿼리에 상황에 맞는 답변을 제공할 수 있는 효율적인 RAG 기반 시스템을 구축했습니다. LangChain과 Databricks의 결합은 개발 프로세스를 간소화하고 시스템 성능을 향상시켰습니다.

MLflow를 사용한 실험 추적 및 모델 관리

이 프로젝트는 실험 추적 및 모델 관리를 위해 널리 채택된 오픈 소스 플랫폼인 MLflow를 전적으로 활용했습니다. MLflow의 LangChain 통합을 사용하여 개발 프로세스 중에 RAG 모델의 다양한 구성과 파라미터를 기록할 수 있었습니다. 이를 통해 버전 관리가 가능해지고 LLM 애플리케이션 배포가 간소화되어 실험에서 프로덕션에 이르는 명확한 경로가 제공되었습니다.

우리는 MLflow 추적(tracing) 기능에 대해 더 깊이 연구하고 있습니다. 이 기능은 성능 문제를 진단하고 고객 콜 지원 챗봇의 답변 품질을 향상시키는 데 중요한 역할을 할 것입니다.—Blake Kleinhans, Senior Data Scientist, Xcel Energy

또한 AI Gateway를 통해 팀은 자격 증명과 모델 액세스를 중앙에서 관리할 수 있었으며, LLM 간의 효율적인 전환이 가능해졌고 속도 제한 및 캐싱을 통해 비용을 제어할 수 있었습니다.

모델 서빙 및 배포

챗봇 배포는 Databricks Model Serving을 사용하여 간소화되었습니다. 이 서버리스 컴퓨팅 옵션은 RAG 기반 챗봇을 호스팅하기 위한 확장 가능하고 비용 효율적인 솔루션을 제공했습니다. 최소한의 설정만으로 모델을 REST API 엔드포인트로 노출할 수 있었습니다. 그런 다음 엔드포인트를 프론트엔드 애플리케이션에 쉽게 통합하여 개발에서 프로덕션으로의 전환을 간소화할 수 있었습니다.

Model Serving은 또한 GPU 기반 확장을 가능하게 하여 대기 시간과 운영 비용을 줄였습니다. 이러한 확장성은 프로젝트가 확장됨에 따라 매우 중요했으며, 큰 아키텍처 변경 없이도 챗봇이 증가하는 사용자 부하를 처리할 수 있도록 지원했습니다.

모니터링 및 지속적인 개선

배포 후에는 모니터링 솔루션을 구현하기 위해 Databricks SQL이 사용되었습니다. 팀은 응답 시간, 쿼리 볼륨, 사용자 만족도 점수와 같은 필수 메트릭을 추적하는 대시보드를 만들었습니다. 이러한 인사이트는 챗봇의 성능을 지속적으로 개선하고 장기적인 안정성을 확보하는 데 매우 중요했습니다.

모니터링을 전반적인 워크플로우에 통합함으로써, 팀은 잠재적인 문제를 사전에 해결하고 실시간 피드백을 기반으로 시스템 성능을 최적화할 수 있었습니다.

결론: GenAI 애플리케이션을 위한 Databricks의 이점

Databricks 데이터 인텔리전스 플랫폼은 RAG 기반 챗봇의 신속한 개발 및 배포를 가능하게 하여, 대규모 AI 프로젝트 관리와 일반적으로 관련된 복잡성을 크게 줄여주었습니다. Unity Catalog, Foundation Model API, AI Search, MLflow, Model Serving과 같은 도구의 통합은 GenAI 애플리케이션 구축을 위한 일관된 엔드투엔드 AI Agent System을 제공했습니다.

저희의 목표는 Xcel 전반에서 LLM에 더 쉽게 접근할 수 있도록 하여, 여러 팀이 태깅, 감성 분석 및 필요한 다른 모든 애플리케이션 등의 작업에 이를 활용할 수 있도록 지원하는 것입니다.—Blake Kleinhans, Xcel Energy 수석 데이터 사이언티스트

확장성, 인프라 단순성모델 거버넌스에 집중함으로써, 플랫폼은 팀이 RAG 아키텍처를 개선하고 챗봇 성능을 쉽게 향상시키는 데 전념할 수 있도록 지원했습니다. 플랫폼의 강력한 기능 덕분에 사용자 수요가 증가함에 따라 프로젝트를 효율적으로 확장할 수 있었으며, Databricks는 고급 GenAI 애플리케이션을 개발하고 배포하기 위한 이상적인 선택이 되었습니다. Xcel Energy의 데이터 과학 팀은 전체 아키텍처를 중단하지 않고도 더 발전된 LLM이 출시될 때마다 쉽게 업그레이드할 수 있는 자유로움을 높이 평가했습니다.

앞으로 Xcel Energy는 회사 전반에 걸쳐 GenAI 도구의 사용을 더욱 확장하여 데이터와 인사이트에 대한 접근을 민주화할 수 있을 것으로 기대하고 있습니다.

이 블로그 게시물은 Blake Kleinhans(Xcel Energy), Hari Purnapatre(Xcel Energy), Aradhya Chouhan(Databricks) 및 Uttaran Banerjee(Databricks)가 공동으로 작성했습니다.

(이 글은 AI의 도움을 받아 번역되었습니다. 원문이 궁금하시다면 여기를 클릭해 주세요)

최신 게시물을 이메일로 받아보세요

블로그를 구독하고 최신 게시물을 이메일로 받아보세요.