Build Your First AI ChatBot Using RAG & Make.com (SMS & Email AI Agent)
1. AI 챗봇 소개 및 기능
AI 챗봇은 기업의 전체 기록을 학습하여 구축된 혁신적인 도구입니다. 이 챗봇은 다양한 매체를 통해 고객과 소통하며, 궁극적으로는 고객이 약속을 잡도록 유도하는 것을 목표로 합니다. 예를 들어, 고객이 “안녕하세요”라고 입력하고 정보를 제공하면 챗봇은 자동으로 응답을 시작합니다. 이 챗봇은 라이브 채팅에서 문자 메시지로 전환할 수 있으며, 이메일, WhatsApp, Facebook 메시지, Instagram 메시지 등 다양한 매체를 통합할 수 있습니다. 챗봇의 핵심 기능 중 하나는 기업의 전체 기록을 학습하여 직원이 제공할 것으로 예상되는 답변과 유사한 응답을 제공한다는 것입니다. 예를 들어, 챗봇은 사용자의 문의에 따라 특정 정보를 제공하고 약속을 예약하도록 안내할 수 있습니다. 챗봇은 고객 여정의 단계와 목표에 따라 맞춤형 응답을 제공하도록 학습되었습니다. 새로운 리드의 경우 챗봇은 영업 통화를 예약하는 데 집중하는 반면, 기존 고객의 경우 질문에 답변하거나 영수증 또는 송장을 보내는 등의 지원을 제공합니다. 챗봇은 RAG(Retrieval Augmentation Generation) 시스템을 사용하여 작동합니다. RAG 시스템은 기업 전체의 콘텐츠를 수집하여 벡터 데이터베이스에 저장하고, 데이터베이스에서 데이터를 검색하여 사용자 문의에 가장 적합한 답변을 제공합니다.
2. RAG 시스템의 작동 방식
RAG(Retrieval Augmentation Generation) 시스템은 AI 챗봇의 핵심 기술로, 기업의 다양한 채널에서 수집된 정보를 활용하여 고객 문의에 답변합니다. 이 시스템은 콘텐츠 수집, 벡터 데이터베이스 저장, 데이터 검색의 세 가지 주요 단계로 구성됩니다. 먼저, RAG 시스템은 기업의 웹사이트, 이메일, 문서, Notion 데이터베이스 등 다양한 채널에서 콘텐츠를 수집합니다. 예를 들어, Notion에 저장된 표준 운영 절차(SOP)나 이메일에서 사용되는 어조 및 응답 방식과 같은 정보도 수집할 수 있습니다. 또한, Pandadoc과 같은 계약 및 송장 생성 도구에서 생성된 문서나 웹사이트의 모든 페이지를 웹 스크래핑하여 정보를 수집할 수 있습니다. 수집된 모든 정보는 에어테이블과 같은 플랫폼을 통해 벡터 데이터베이스에 저장됩니다. 벡터 데이터베이스는 Pinecone과 같은 특수 소프트웨어를 사용하여 구축되며, Pinecone은 데이터를 벡터 형태로 저장하고 검색하는 데 최적화되어 있습니다. 마지막으로, RAG 시스템은 고객으로부터 텍스트 메시지와 같은 문의를 받으면 벡터 데이터베이스에서 관련 정보를 검색합니다. 이 과정에서 시스템은 문의 내용과 가장 유사한 정보를 찾아내고, 이를 기반으로 최적의 답변을 생성합니다. 실질적으로 RAG 시스템은 모든 정보를 에어테이블과 같은 데이터베이스에 로드하고, make.com과 같은 도구를 사용하여 에어테이블에서 Pinecone과 같은 벡터 데이터베이스로 정보를 저장합니다. 그 후 텍스트 메시지를 받으면 해당 메시지를 검색하고 벡터 데이터베이스에 쿼리하여 최적의 답변을 검색합니다.
3. Make.com을 활용한 자동화 구축
Make.com은 AI 챗봇 구축에 사용되는 핵심 소프트웨어 애플리케이션입니다. Make.com을 사용하여 웹 스크래핑, 이메일 처리, 데이터베이스 저장 및 검색과 같은 다양한 작업을 자동화할 수 있습니다. Make.com을 처음 사용하는 사용자를 위해 단계별 안내가 제공됩니다. Make.com은 무료로 시작할 수 있으며, 시나리오를 통해 워크플로우를 자동화할 수 있습니다.
웹 스크래핑을 자동화하기 위해 Appify라는 웹 스크래핑 플랫폼이 사용됩니다. Appify를 사용하면 웹사이트 전체를 자동으로 스크래핑하고 정보를 수집할 수 있습니다. Appify는 무료로 시작할 수 있으며, 매달 무료 크레딧을 제공합니다. Appify에서 웹사이트 콘텐츠 크롤러를 사용하여 웹사이트 URL을 입력하고 크롤링할 최대 페이지 수를 설정하면 웹사이트의 콘텐츠를 스크래핑할 수 있습니다. Appify는 웹 스크래핑된 데이터를 저장하기 위해 데이터 세트를 제공하며, Make.com에서 “Watch Actor Runs” 모듈을 사용하여 Appify에서 웹 스크래핑 작업이 완료될 때 트리거할 수 있습니다. Make.com에서 Appify 계정을 연결하려면 API 토큰이 필요하며, Appify 설정에서 API 토큰을 얻을 수 있습니다. 웹 스크래핑 작업이 성공적으로 완료되면 Make.com에서 “Get Data Set Items” 모듈을 사용하여 Appify 데이터 세트에서 데이터를 검색할 수 있습니다.
Appify를 사용하여 웹사이트를 스크래핑하는 것 외에도 이메일을 가져와서 데이터베이스에 저장할 수 있습니다. Make.com에서 이메일을 감시하는 대신 메일 후크를 설정하여 비용을 절감할 수 있습니다. 메일 후크는 웹 후크와 유사하게 작동하며, 이메일이 특정 계정으로 들어올 때만 작업을 트리거합니다. Gmail에서 Make.com에서 생성된 URL로 전달 주소를 설정하여 메일 후크를 설정할 수 있습니다. 이메일을 수신하면 Make.com은 해당 이메일을 처리하고 데이터를 데이터베이스에 저장할 수 있습니다.
4. 에어테이블 데이터베이스 구축 및 활용
데이터베이스 구축을 위해 에어테이블이 활용됩니다. 에어테이블은 구글 시트와 유사한 스프레드시트 기반 데이터베이스 도구입니다. 에어테이블은 무료로 사용할 수 있지만, 특정 기능을 사용하려면 유료 요금제를 구독해야 합니다. 에어테이블 데이터베이스에는 ID, 날짜, 소스, 메시지, URL, 파일, 업로드됨과 같은 필드를 추가할 수 있습니다. ID 필드는 텍스트 형식으로, 날짜 필드는 날짜 형식으로, 소스 필드는 웹사이트 또는 이메일과 같은 데이터 소스를 선택할 수 있는 드롭다운 목록으로 설정할 수 있습니다. 메시지 필드는 긴 텍스트 형식으로, URL 필드는 URL 형식으로, 파일 필드는 첨부 파일 형식으로, 업로드됨 필드는 체크박스 형식으로 설정할 수 있습니다. Appify를 통해 웹 스크래핑된 데이터를 에어테이블 데이터베이스에 통합하기 위해 Make.com에서 에어테이블 모듈을 사용합니다.
데이터 중복을 방지하기 위해 에어테이블에서 레코드를 검색하고, 레코드가 존재하지 않으면 새로 생성하고, 레코드가 존재하면 업데이트하는 방식으로 데이터를 처리합니다. Make.com에서 “Search Records” 모듈을 사용하여 에어테이블에서 레코드를 검색하고, “Upsert” 모듈을 사용하여 레코드를 생성하거나 업데이트할 수 있습니다. 고유한 레코드를 식별하기 위해 URL 필드를 검색 키로 사용합니다. 만약 ID 필드가 존재하지 않으면 빈 문자열을 사용하여 오류를 방지합니다. 모든 설정이 완료되면 Make.com에서 워크플로우를 실행하여 웹 스크래핑된 데이터를 에어테이블 데이터베이스에 자동으로 통합할 수 있습니다.
에어테이블에 데이터를 저장한 후에는 이 데이터를 Pinecone과 같은 벡터 데이터베이스에 업로드하여 AI 모델 학습에 활용할 수 있습니다.
5. Pinecone 벡터 데이터베이스 연동 및 활용
벡터 데이터베이스는 AI 모델이 데이터를 효율적으로 이해하고 활용할 수 있도록 데이터를 벡터 형태로 저장하는 특수한 유형의 데이터베이스입니다. Pinecone은 이러한 벡터 데이터베이스를 제공하는 주요 플랫폼 중 하나입니다. Pinecone에 데이터를 저장하려면 먼저 Pinecone 계정을 생성하고 텍스트 임베딩 3 모델을 사용하여 인덱스를 생성해야 합니다. Pinecone 인덱스를 생성한 후에는 Make.com에서 Pinecone 모듈을 사용하여 데이터를 Pinecone에 업로드할 수 있습니다.
Make.com에서 Pinecone 계정을 연결하려면 Pinecone 호스트와 API 키가 필요합니다. 이러한 정보는 Pinecone 콘솔에서 얻을 수 있습니다. Pinecone 모듈에서 인덱스 이름, API 키, 임베딩 모델을 설정한 후에는 Make.com 워크플로우를 실행하여 데이터를 Pinecone에 업로드할 수 있습니다. 데이터를 Pinecone에 업로드하기 전에 텍스트에서 특수 문자를 제거하여 임베딩 프로세스 또는 Pinecone 업로드 프로세스를 손상시키지 않도록 하는 것이 중요합니다.
Pinecone 데이터베이스에 웹사이트 및 이메일 콘텐츠를 추가하는 프로세스는 데이터를 벡터 형태로 변환하여 데이터베이스에 저장합니다. 이렇게 함으로써 AI 모델은 데이터 간의 관계를 빠르고 효율적으로 식별하고, 사용자 쿼리에 대한 관련성 높은 응답을 생성할 수 있습니다.
Pinecone에 데이터를 업로드한 후에는 Make.com에서 “Query Vectors” 모듈을 사용하여 데이터를 검색할 수 있습니다. 쿼리할 벡터, 반환할 결과 수를 지정하고 메타데이터를 포함하도록 설정할 수 있습니다. 쿼리 결과를 사용하여 AI 모델에 컨텍스트를 제공하거나 사용자 쿼리에 대한 응답을 생성할 수 있습니다.
6. 챗봇 응답 자동화 및 CRM 연동
AI 챗봇의 최종 목표는 고객 문의에 자동으로 응답하고 필요한 정보를 제공하는 것입니다. 이를 위해 OpenAI의 ChatGPT와 같은 대규모 언어 모델(LLM)을 활용하여 응답을 생성하고, 고객 관계 관리(CRM) 시스템과 통합하여 고객 정보를 관리합니다.
먼저, LLM에 고객 문의를 전달하기 위해 Make.com에서 OpenAI 모듈을 사용합니다. OpenAI 모듈에서 시스템 메시지, 사용자 메시지, 어시스턴트 메시지를 설정하여 LLM이 응답을 생성하는 방식을 제어할 수 있습니다. 시스템 메시지는 LLM의 역할을 정의하고, 사용자 메시지는 고객 문의를 전달하고, 어시스턴트 메시지는 LLM의 응답 형식을 지정합니다. LLM에서 생성된 응답을 고객에게 전달하기 전에, 배열 집계기를 사용하여 여러 응답을 하나의 메시지로 결합하고, JSON으로 변환하여 처리하기 쉽도록 만듭니다.
CRM 시스템과의 연동은 고객 정보를 효율적으로 관리하고 개인화된 응답을 제공하는 데 필수적입니다. Make.com은 다양한 CRM 시스템과의 통합을 지원하며, 이를 통해 고객 정보를 검색, 생성, 업데이트할 수 있습니다. 고하이레벨과 같은 CRM을 사용하는 경우 HTTP 요청 모듈을 사용하여 데이터를 CRM으로 보낼 수 있습니다.
스레드 ID를 사용하면 여러 상호 작용에서 대화 컨텍스트를 유지할 수 있습니다.
응답을 텍스트 메시지, 채팅 위젯, 이메일과 같은 적절한 채널로 전송하여 고객 참여를 자동화할 수 있습니다. 흐름 제어 라우터를 사용하면 메시지 유형을 기반으로 응답을 적절한 채널로 보낼 수 있습니다. 응답 정확도와 관련성을 개선하려면 AI 모델을 지속적으로 미세 조정하는 것이 중요합니다. 안전한 응답을 보장하려면 챗봇이 고객에게 부적절하거나 안전하지 않은 콘텐츠를 보내지 않도록 보안 검사를 구현할 수 있습니다.
이러한 단계를 통해 기업은 AI 챗봇을 구축하여 고객 서비스를 개선하고 운영 효율성을 높일 수 있습니다.