
RAG(검색 증강 생성)종합 가이드
Snowflake Cortex AI로 엔터프라이즈급 RAG 앱을 신속하게 구축하세요.
- 개요
- RAG란?
- RAG 사용의 이점
- RAG 기술의 용도
- RAG의 작동 방식
- RAG 앱과 Snowflake
- 고객 사례
- RAG 리소스
개요
RAG는 널리 알려진 프레임워크로, 이를 통해 대규모 언어 모델(LLM)이 응답 생성에 사용되는 특정 지식 기반에 액세스할 수 있도록 합니다. RAG를 사용하면 파운데이션 모델을 재학습할 필요가 없어 개발자는 특정 컨텍스트 내에서 빠르고 비용 효율적인 방식으로 LLM을 활용할 수 있습니다. RAG 앱은 고객 서비스, 영업, 마케팅 및 지식 기반 등 다양한 용도로 사용할 수 있습니다.
Snowflake Cortex AI의 경우, 비즈니스와 데이터에 존재하는 미묘한 뉘앙스를 몇 분 만에 학습하는 LLM 앱을 구축하고 배포할 수 있습니다. 업계 최고의 LLM, 벡터 검색, Streamlit 앱 구축 기능 등을 모두 완전 관리형 서비스로 제공합니다. 고객은 이를 활용하여 프로덕션 단계에서 즉시 사용 가능한 RAG 앱을 손쉽게 만들 수 있습니다.
RAG란?
RAG는 최초 학습 데이터뿐만 아니라 외부의 지식 기반을 참조하여 파운데이션 모델(LLM)의 출력을 향상시키는 기술입니다.
수십억에 이르는 파라미터로 구성된 방대한 데이터 세트를 기반으로 학습된 LLM은 질문에 대한 답변, 번역, 문장 완성 등의 작업에서 탁월한 성능을 발휘합니다. RAG는 모델이 재학습 없이도 특정 도메인이나 조직의 내부 지식에 액세스할 수 있도록 함으로써 이러한 기능을 확장합니다. 이와 같은 접근 방식은 비용 효율성이 뛰어나며, 다양한 컨텍스트에서 LLM 앱 출력의 정확성, 관련성 및 유용성을 개선합니다.
RAG 사용의 이점
1. LLM 단독 사용에 따른 한계 해결
LLM은 정적 학습 데이터에 의존하며, 해당 데이터에는 최신 정보나 조직별 정보가 포함되어 있지 않을 수 있습니다. 신뢰할 수 있는 소스에 대한 지침이 없으면, LLM은 특히 상충되는 용어에 직면했을 때 부정확하거나 일관성 없는 답변을 생성할 수 있습니다. 또한, 불확실한 상황에서는 ‘할루시네이션’을 일으키거나 답변을 조작할 가능성도 있습니다. RAG는 신뢰할 수 있는 최신 소스에 통제된 방식으로 액세스하여 이러한 문제를 완화하므로, 더욱 정확하고 신뢰할 수 있는 응답을 얻을 수 있습니다.
2. 특정 소스도 추적 가능한 고품질의 결과 제공
유용한 LLM은 일관성과 신뢰성 있는 답변을 제공해야 합니다. RAG는 응답을 특정 참조 자료와 연결해 추적하고, 소스 인용을 포함하도록 하여 생성된 콘텐츠의 투명성과 신뢰성을 향상시킵니다.
3. 비용 효율적인 방식으로 최신 답변 제공
역동적인 산업일수록 정보는 금세 시대에 뒤떨어질 수 있습니다. RAG를 활용하면, 고비용의 파인튜닝 없이도 사전 학습 모델로 최신 정보에 액세스할 수 있습니다. 이러한 접근 방식을 통해 LLM은 뉴스 피드, 소셜 미디어, 금융 보고서, IoT 센서 등 다양한 소스의 실시간 데이터를 통합하여 관련성과 정확성을 보장할 수 있습니다.
4. 앱 개발자에게 더 많은 통제력 부여
RAG는 개발자가 더 유연하게 맞춤형 솔루션을 개발할 수 있도록 지원합니다. 앱 개발자는 RAG를 기반으로 하는 보안 프레임워크를 통해 민감 정보에 대해 통제된 액세스를 설정할 수 있습니다. 즉, 권한을 가진 사용자에게만 응답을 생성할 때 제한된 데이터를 사용하도록 설정할 수 있습니다.
RAG 기술의 용도
RAG는 생성형 AI의 급속한 발전과 함께, 여러 분야 중에서도 챗봇 및 지식 관리 응용 분야에서 많은 AI 기반 시스템의 핵심 구성 요소로 자리 잡았습니다.
1. HR, 제품 또는 서비스 정보와 같은 내부 지식 기반에 대한 직원 접근성 향상
RAG 애플리케이션은 회사 인트라넷이나 내부 문서 시스템과 같은 도메인별 지식 기반 내 독점 정보에 대한 직원의 접근성을 향상시킵니다. 직원은 이러한 모델에 대해 ‘회사의 육아 휴직 정책은 무엇인가요?’ 또는 ‘휴가는 어떻게 신청하나요?’ 등 자연어로 구체적인 질문을 하고, 조직의 내부 지식 기반에서 생성된 답변을 얻을 수 있습니다. RAG는 상황에 맞는 답변을 높은 정확도로 생성하고, 요청자의 권한 수준과 회사 내 역할에 기반하여 맞춤형 정보를 제공할 수 있습니다.
2. 마켓/비즈니스 인텔리전스
RAG는 지속적으로 업데이트되는 시장 데이터와 내부 보고서를 통해 비즈니스 인텔리전스 작업의 품질과 적시성을 개선합니다. 이를 통해 조직은 데이터 중심 의사 결정을 내리고, 새로운 추세를 파악하며, 경쟁 우위를 확보할 수 있습니다. RAG는 여러 소스로부터 정보를 종합하여 기존 분석 방식에서 놓치기 쉬운 포괄적인 인사이트를 제공합니다.
3. 지능형 고객 지원
RAG로 한층 강화된 LLM 기반 고객 서비스 챗봇은 제품 지원, 문제 해결, 클레임 처리 등 다양한 작업을 처리할 수 있습니다. RAG는 최신 제품 정보, 주문 상태, 개별 고객 데이터와 같은 정확하고 검증된 콘텐츠에 대해 실시간 액세스를 제공합니다. 이를 통해 챗봇은 상황에 따라 맞춤형 응답을 제공하여 고객 만족도를 높이고 상담원의 업무 부담을 줄일 수 있습니다.
4. 셀프 서비스 방식의 정보 액세스
RAG 기반 챗봇은 고객 상담을 담당하여, 마케팅, 영업, 제품 또는 서비스 정보에 24시간 연중무휴 접근할 수 있게 합니다. 이러한 시스템은 방대한 지식 기반을 신속하게 탐색하여, 사용자에게 관련성 높은 최신 정보를 수시로 제공합니다. 이는 고객 경험 개선뿐만 아니라, 처리해야 하는 문의 건수 절감으로 이어져 상담원은 더 복잡한 문제에 집중할 수 있습니다.
RAG의 작동 방식 및 RAG 프레임워크 배포에 필요한 요소
클라이언트/앱 UI
최종 사용자는 일반적으로 채팅 인터페이스나 질의응답 시스템을 통해 지식 기반과 상호작용합니다.
컨텍스트 리포지토리
관련 데이터 소스를 집계하고, 거버넌스를 적용하며, 지속적으로 업데이트하여 최신 지식 리포지토리를 제공합니다. 여기에는 텍스트 청킹 및 임베딩과 같은 전처리 단계가 포함됩니다.
검색
벡터 저장소는 지식 기반의 수치적 표현(임베딩)을 유지 관리합니다. 시맨틱 검색은 사용자의 쿼리를 기반으로 가장 관련성 높은 정보 청크를 검색하는 데 사용됩니다.
LLM 추론
사용자의 질문을 임베딩하고 벡터 저장소에서 관련 컨텍스트를 검색합니다. 이렇게 검색된 컨텍스트는 LLM에 대한 프롬프트로 사용되며, LLM은 질문과 검색된 정보를 기반으로 상황에 맞는 응답을 생성합니다.
진정한 엔터프라이즈급 RAG 구축을 위해 필요한 추가 구성 요소
임베딩 모델: 지식 기반과 사용자 쿼리를 위해 텍스트를 벡터 표현으로 변환하는 데 사용됩니다.
데이터 파이프라인: 지식 기반의 지속적인 업데이트와 유지 관리를 보장합니다.
평가 및 모니터링: 응답의 품질과 시스템 성능을 평가하는 도구입니다.
RAG 앱과 Snowflake
Snowflake Cortex AI로 RAG에서 풍부한 LLM 앱으로 신속하게 전환
- 다양한 AI 및 데이터 기능: RAG를 사용하여 엔드투엔드 AI 앱을 개발 및 배포하는 데 통합, 인프라 관리 또는 데이터 이동이 필요하지 않으며, 이는 Snowflake의 세 가지 핵심 기능인 Snowflake Cortex AI, Streamlit in Snowflake, Snowpark를 통해 가능합니다.
- 하이브리드 검색을 위한 Cortex Search: Cortex Search는 Snowflake Cortex AI의 핵심 기능으로, 시맨틱 검색과 키워드 검색을 결합하여 고급 검색 기능을 제공합니다. Snowflake Cortex AI 플랫폼의 일부인 Cortex Search는 임베딩 생성을 자동화하고, 복잡한 인프라 관리 없이 고품질의 효율적인 데이터 검색을 제공합니다.
- Streamlit으로 실현하는 신속한 RAG UI 생성: Streamlit in Snowflake에 내장된 채팅 구성 요소를 활용하여 Python으로 사용자 인터페이스를 신속하게 구축하고 공유할 수 있습니다.
- Snowpark를 활용한 컨텍스트 리포지토리: 지식 리포지토리는 Snowflake 스테이지로 쉽게 업데이트하고 거버넌스를 적용할 수 있습니다. 문서가 로드되면 작고 컨텍스트가 풍부한 텍스트 블록인 청크 생성을 포함한 모든 데이터 준비를 Snowpark를 통해 수행할 수 있습니다. 특히 청킹의 경우, Snowpark 사용자 정의 함수(UDF)의 일부인 LangChain을 원활하게 사용할 수 있습니다.
- 안전한 LLM 추론: Snowflake Cortex는 임베딩 및 텍스트 완성 추론(Mistral AI, Llama, Gemma, Arctic, 또는 Snowflake에서 사용 가능한 기타 LLM 활용)에 서버리스 함수를 제공하여 워크플로우를 완성합니다.

