RAG Cookbook에서 제공하는 더 많은 내용을 살펴보고 오늘날의 RAG 솔루션에 대한 더 깊은 이해를 얻으세요.

Watson for Customer Care 리드스페이스를 기본으로 사용하여 색상을 변경한 리드스페이스.
개요
아키텍처 화면 캡처

위 다이어그램에 표시된 RAG 아키텍처는 두 개의 섹션으로 나눌 수 있습니다.

  • 데이터 전처리, 수집, 스토리지/임베딩으로 구성된 데이터 파이프라인과
  • 사용자 프롬프트, 데이터 검색, 답변 생성으로 구성된 생성 파이프라인입니다.

RAG 솔루션을 구축할 때 일반적으로 진행되는 과정은 다음과 같습니다.

  1. AI 엔지니어는 데이터 전처리 단계에서 고객 데이터(예: 절차 매뉴얼, 제품 문서, 헬프데스크 티켓 등)를 준비합니다. 고객 데이터는 모델 보강에 적합하도록 변환되거나 강화됩니다. 변환에는 PDF 문서를 텍스트로 변환하는 것과 같은 단순한 형식 변환이 포함될 수 있으며, 복잡한 테이블 구조를 if-then 유형의 문장으로 변환하는 것과 같은 더 복잡한 변환도 포함될 수 있습니다. 강화 과정에는 일반적인 약어 확장, 통화 정보와 같은 메타데이터 추가, 검색 결과의 관련성을 높이기 위한 기타 추가 작업이 포함될 수 있습니다.

  2. 문서에서 강화된 정보는 텍스트를 보다 효율적으로 관리하기 위해 청크라고 하는 더 작은 세그먼트로 분할됩니다. 이는 여러 청킹 전략을 사용해 수행할 수 있으며, 각 전략은 정보를 분리하고 그룹화하는 고유한 방식을 가지고 있습니다.

  3. 이 청크들은 이후 데이터베이스로 수집되어 저장되며, 솔루션을 사용하는 동안 접근할 수 있습니다. 서로 다른 검색 전략에는 서로 다른 유형의 데이터베이스가 필요하며, 일부 경우에는 여러 유형의 데이터베이스가 필요할 수도 있습니다. 하지만 일반적인 RAG 솔루션에서는 벡터 데이터베이스만 사용합니다. 이 경우 임베딩 모델을 사용하여 청크를 일련의 벡터로 변환하며, 이후 이를 Vector DB에 저장할 수 있습니다.

    이제 시스템은 최종 사용자가 사용할 준비가 되었습니다.

  4. 최종 사용자는 생성형 AI 지원 애플리케이션과 상호 작용하고 쿼리를 입력합니다.

  5. 생성형 AI 애플리케이션은 쿼리를 수신하고 적용된 검색 전략을 수행하여 사용자 쿼리와 가장 잘 일치한다고 판단되는 상위 "K"(여기서 K는 숫자를 나타내는 자리 표시자)개의 정보를 가져옵니다. 예를 들어 사용자 쿼리가 “MaxSavers 계좌의 일일 출금 한도는 무엇인가?”인 경우 검색 결과로 “MaxSavers 계좌는…”, “일일 출금 한도는…”, “…계좌 한도…”와 같은 문단이 반환될 수 있습니다.

  6. 원래 쿼리, 상위 문단, 그리고 특정 애플리케이션에 맞게 구성된 지침 프롬프트가 LLM으로 전달됩니다.

  7. LLM은 지침 프롬프트를 따라 검색된 정보를 사용하여 원래 사용자 쿼리에 대한 답변을 생성하고 형식을 지정합니다.

다음 단계
 

IBM에서 제공하는 최신 기술 패턴, 솔루션 아키텍처, 아키텍처 관련 자료를 확인하세요.

  1. IBM Architecture Center로 이동
기고자

Chris Kirby, Luke Major

업데이트: 2024년 11월 15일