Elasticsearch: 챗봇 RAG 앱 구축

개요

서문

이 가이드에서는 챗봇 RAG 앱을 설정하고 실행하는 방법을 설명합니다. RAG는 검색 증강 생성(Retrieval Augmented Generation)의 약자입니다. 이는 사용자 지정 데이터 소스를 사용하여 생성형 AI(GenAI) 대규모 언어 모델(LLM)의 응답을 기반으로 LLM 환각과 같은 문제를 방지하는 방법입니다. 이 여정에서는 Elastic의 예시 챗봇 RAG 앱을 구성하고 실행하는 방법을 안내하여 앱이 어떻게 동작하는지 직접 확인할 수 있습니다.

chatbot-rag-app-running.gif

이 챗봇 RAG 앱은 오픈 소스이며 GitHub에서 호스팅되므로 복제하고 포크하여 자체 버전을 만들 수 있습니다. 이 앱은 Elastic Cloud를 사용하여 RAG 앱의 검색 증강 단일 소스 역할을 하는 Elasticsearch 인덱스를 호스팅합니다. 이렇게 하면 인덱스에 포함된 문서의 정보를 기반으로 응답을 생성할 수 있습니다. 챗봇 앱은 OpenAI와 같은 여러 인기 있는 LLM 서비스를 지원하도록 코딩되어 있습니다. 앱의 아키텍처는 Python Flask 백엔드와 React 프론트엔드를 기반으로 합니다. Elasticsearch Labs 챗봇 튜토리얼에서 앱의 전체 요구 사항 목록을 참조하세요.

챗봇 RAG 앱은 로컬 컴퓨터에서 실행 가능하고 Elastic Cloud 및 LLM과의 통합이 어떻게 함께 작동하여 고유한 문서 세트에 맞게 사용자 정의된 GenAI 기반 검색 환경을 만드는지 직접 확인할 수 있으므로 RAG 앱을 학습하고 실험할 수 있는 좋은 방법입니다. 앱은 OpenAI, AWS Bedrock, Azure OpenAI, Google Vertex AI, Mistral AI, Cohere와 같은 다양한 LLM과의 통합을 지원합니다. 로컬 컴퓨터에 예시 챗봇 RAG 앱을 배포하는 방법에는 Docker 또는 Python을 사용하는 두 가지 방법이 있습니다.


그럼 시작해볼까요

챗봇 RAG 앱 실행

선호하는 배포 방식에 따라 아래의 Docker로 챗봇 앱 실행하기 또는 Python으로 챗봇 앱 실행하기 섹션의 단계를 따르세요. Docker를 사용하면 거쳐야 할 단계가 적고, Python을 사용하면 앱의 백엔드 및 프론트엔드 구성 요소를 구성하고 실행하는 방법을 더 깊이 이해할 수 있습니다. 앱을 실행하는 두 가지 방법 모두 LLM으로 OpenAI를 사용합니다. OpenAI로 앱을 실행한 후에는 최소한의 단계만 거치면 지원되는 다른 LLM 중 하나를 사용하도록 앱을 업데이트할 수 있습니다.

 

Docker에서 챗봇 앱 실행

Docker를 사용하여 챗봇 RAG 앱을 실행하는 과정은 다음과 같습니다.

  1. 앱의 코드 복제
  2. Elastic Cloud 배포 생성
  3. OpenAI API 키 생성
  4. 앱 설정 채우기

로컬 컴퓨터에서 앱을 실행하는 데 필요한 모든 단계가 포함된 가이드 투어를 따라하세요.

가이드 투어: Docker를 사용하여 OpenAI로 챗봇 RAG 앱 실행하기

 

Python으로 챗봇 앱 실행

Python을 사용하여 챗봇 RAG 앱을 실행하는 과정은 다음과 같습니다.

  1. 앱의 코드 복제
  2. Elastic Cloud 배포 생성
  3. OpenAI API 키 생성
  4. 앱 설정 채우기

앱과 그 종속성이 구성되면 앱의 Python 백엔드가 시작됩니다. 그러면 브라우저에서 상호작용할 수 있는 앱의 UI를 제공하기 위해 React 프론트엔드가 시작됩니다.

로컬 컴퓨터에서 앱을 실행하는 데 필요한 모든 단계가 포함된 가이드 투어를 따라하세요.

가이드 투어: Python을 사용하여 OpenAI로 챗봇 RAG 앱 실행하기


Elasticsearch로 작업하기

실행 중인 앱을 사용해 보세요

앱을 실행한 후 질문을 하거나 미리 설정된 질문 중 하나를 사용해 보세요. 이 앱은 채팅 기록을 수집하는 Elastic 인덱스를 포함하도록 코딩되어 있으므로 챗봇의 '메모리'를 테스트하는 후속 질문을 해보셔야 합니다.

chatbot-rag-app-response.png


다음 단계

Elastic 챗봇 RAG 예시 앱을 실행하는 방법을 배우는 데 시간을 내주셔서 감사합니다. Elastic과 함께 하는 여정을 시작하면서, 환경 전체에 배포할 때 사용자로서 관리해야 하는 운영, 보안, 데이터 구성 요소를 이해해야 합니다.

시작할 준비가 되셨나요? Elastic Cloud에서 14일 무료 체험판을 이용해 보세요.

무료 체험판 시작