AI 기술의 급속한 발전과 함께 생성형 AI는 텍스트 생성, 이미지 생성 등 다양한 분야에서 주목할 만한 성과를 이루어냈습니다. 그러나 대규모 언어 모델(LLM)이 광범위하게 사용되면서 다음과 같은 근본적인 한계점들이 점차 드러나고 있습니다:
이러한 과제들을 해결하고 LLM의 성능과 정확도를 향상시키기 위해 RAG가 개발되었습니다. RAG는 외부 지식 베이스를 통합하여 LLM의 환각 현상을 크게 완화하고, 최신 지식에 대한 접근과 활용 능력을 강화합니다. 이를 통해 LLM의 개인화와 정확도를 높이는 맞춤형 구성이 가능해졌습니다. 하지만 이 RAG 시스템은 기본적인 AI 및 데이터에 대한 이해와 라이브러리 사용 등 전문적인 지식이 필수입니다.
하지만 알리바바 클라우드의 Platform for AI(PAI) 서비스와 Elasticsearch를 활용하면 RAG 시스템을 손쉽게 배포할 수 있습니다. 이번 블로그에서는 어떻게 RAG 챗봇 시스템을 손쉽게 구성할 수 있을지에 대해 알아보겠습니다.
PAI의 온라인 모델 서비스 플랫폼으로, 모델을 온라인 추론 서비스 또는 AI 기반 웹 애플리케이션으로 배포할 수 있습니다.
알리바바 클라우드의 매니지드 서비스로, 오픈소스 Elasticsearch를 기반으로 개발되었습니다.
Elasticsearch 콘솔에 접속하여 클러스터를 배포할 준비를 합니다.
Elasticsearch 메뉴의 Create Cluster를 클릭하여 제품 구매페이지로 넘어갑니다.
제품 구매 페이지에는 다양한 옵션이 있으며, 아래 상세에서 옵션에 대한 설명을 확인할 수 있습니다.
Buy Now를 클릭하면 배포될 Elasticsearch 클러스터의 옵션을 확인합니다.
좌측 메뉴의 Elasticsearch Cluster에서 배포된 인스턴스의 상태를 확인합니다.
배포된 Elasticsearch 클러스터 상세에서 아래 정보를 확인하여 메모를 합니다.
Format: http://<Internal endpoint>:<Port number>
.
해당 클러스터가 Indexing을 할 수 있도록 설정합니다. 좌측 네비게이션에서 Configuration and Management > Cluster Configuration을 선택하고 우측의 Modify Configuration을 선택하여 Auto Indexing을 Enable합니다.
설정이 완료되면 우리의 RAG 서비스의 Vector DB를 Elasticsearch로 활용할 준비가 되었습니다.
PAI Console에 로그온하여, 좌특의 Model Training > Elastic Algorithm Service (EAS)에 접속합니다.
Elastic Algorithm Service (EAS) 페이지에서 Deploy Service를 선택하면 배포할 수 있는 서비스 템플릿을 확인할 수 있습니다. 여기서 Scenario-based Model Deployment > RAG-based Smart Dialogue Deployment를 선택합니다.
배포된 RAG 서비스의 설정 값을 확인하여 배포합니다.
http://<Internal endpoint>:<Port number>
형태입니다.Deploy를 누르면 RAG 서비스가 자동으로 배포됩니다.
서비스 배포가 완료되면 Service Type 항목의 View Web App을 클릭하여 서비스에 접속합니다.
Web App을 확인하면 Elasticsearch가 연결되어있는 것을 확인합니다.
Upload 탭에는 chunk parameter를 업데이트할 수 있는 옵션이 있습니다. 여기에 chunk Size, Overlap을 설정할수 있습니다.
또한 아래에는 Process with QA Extraction Model이 존재하는데, 이 옵션은 Q&A 정보 추출 여부를 지정합니다. Yes를 선택하면 Knowleage 파일이 업로드된 후 시스템이 자동으로 질문과 그에 해당하는 답변을 쌍으로 추출합니다. 이를 통해 데이터 쿼리 시 더욱 정확한 답변을 얻을 수 있습니다.
여기에 아래 샘플 Knowleage File을 업로드합니다. 업로드가 가능한 파일 형태는 txt, pdf, excel, csv, word, markdown, html이 있습니다.
샘플 Knowleage File : rag_chatbot_test_doc.txt
chat 영역에 원하는 질의를 입력하고 결과값을 확인합니다.
만약 해당 서비스를 API를 활용하여 다른 서비스에 연결하고 싶을 때는, RAG 서비스의 최하단에 use via API 버튼을 클릭하여 API 명세를 확인할 수 있습니다. (Python, Javascrip)
지금까지 PAI와 Elasticsearch 서비스를 활용하여 쉽게 RAG 챗봇을 배포하는 방법에 대해서 알아보았습니다. 많은 기업들은 자신들의 KMS에 존재하는 정보들을 참조하는 챗봇을 배포하고 싶어합니다. 이러한 요구사항에서 이 블로그를 참조한다면 보다 쉽고 빠른 비즈니스 혁신을 이룰 수 있을 것이라고 생각합니다.
추가적인 질의사항은 알리바바 클라우드 코리아팀에 연락 주시기 바랍니다.
JJ Lim - January 20, 2025
Regional Content Hub - April 15, 2024
JJ Lim - December 31, 2021
Regional Content Hub - May 20, 2024
Haemi Kim - June 15, 2021
Regional Content Hub - March 20, 2024
Alibaba Cloud Elasticsearch helps users easy to build AI-powered search applications seamlessly integrated with large language models, and featuring for the enterprise: robust access control, security monitoring, and automatic updates.
Learn MoreAccelerate AI-driven business and AI model training and inference with Alibaba Cloud GPU technology
Learn MoreTop-performance foundation models from Alibaba Cloud
Learn MoreOffline SDKs for visual production, such as image segmentation, video segmentation, and character recognition, based on deep learning technologies developed by Alibaba Cloud.
Learn MoreMore Posts by JJ Lim
Start building with 50+ products and up to 12 months usage for Elastic Compute Service
Get Started for Free Get Started for Free