0 / 0

검색 증강 생성 (RAG) 패턴

마지막 업데이트 날짜: 2025년 5월 01일
검색 증강 생성(RAG) 패턴

검색 증강 생성 (RAG) 패턴을 구축하여 지식창고의 정보에 기반한 사실에 입각한 결과물을 생성할 수 있습니다.

RAG 패턴은 지식창고의 콘텐츠를 검색하기 쉬운 벡터 형식으로 처리합니다. 사용자가 질문을 하면 RAG 패턴이 관련 구절 세트를 검색하여 LLM에 제공합니다. LLM은 사용자의 질문에 대한 사실적인 답변을 생성합니다.

RAG 패턴 기능 및 리소스

다음 기능과 리소스를 사용하여 RAG 패턴을 만들 수 있습니다:

벡터 임베딩
벡터 임베딩을 만들어 문장이나 구절의 의미를 숫자 표현으로 인코딩합니다. 벡터는 지식창고에서 사용자가 묻는 질문과 가장 유사한 텍스트 구절을 효율적으로 찾을 수 있는 방법을 제공합니다. 벡터는 벡터 데이터베이스에 저장되며 벡터 인덱스로 검색됩니다.
벡터 인덱스 만들기를 참조하세요.
텍스트 추출
PDF 또는 이미지의 콘텐츠를 벡터화를 위해 텍스트로 변환합니다.
문서에서 텍스트 추출하기를 참조하세요.
검색된 통로 재순위
유사성 대신 관련성을 기준으로 검색되는 상위 결과 집합의 순위를 다시 매깁니다.
문서 구절 순위 재지정을 참조하세요.
벡터 저장소
인메모리 크로마 벡터 스토어, 자동으로 설정되는 watsonx.data Milvus 벡터 스토어 또는 연결을 생성하는 다른 벡터 스토어 중에서 선택합니다.
벡터 저장소 유형을 참조하세요.
임베딩 및 재랭킹을 위한 인코더 모델
IBM 및 타사 인코더 모델 중에서 선택하여 임베딩 및 순위 변경 구절을 생성하세요.
지원되는 인코더 파운데이션 모델을 참조하십시오.
추론을 위한 기초 모델
다양한 기본 모델 중에서 선택하거나, 주문형 배포 모델을 선택하거나, 사용자 지정 모델을 가져와 배포하세요.
사용 사례를 지원하는 재단 모델을 참조하세요.
적응할 샘플
샘플 RAG 패턴으로 시작하여 사용 사례에 맞게 조정하세요.
샘플 RAG 패턴을 참조하세요.

업무 방식

다음 방법을 사용하여 RAG 패턴에 대한 코드를 작성할 수 있습니다:

UI의 도구를 사용하여 노코드 또는 로우코드 환경에서 작업할 수 있습니다:

  • Prompt Lab : 업로드된 문서 또는 벡터 인덱스로 채팅할 수 있습니다.
  • AutoAI rAG의 경우 : 최적화된 생산 품질의 RAG 패턴 검색을 자동화할 수 있습니다.
  • 벡터 색인 : 하나 이상의 문서를 기반으로 벡터 인덱스를 만들 수 있습니다.

검색 증강 생성 패턴 아키텍처

지식창고의 정보를 사용하여 프롬프트에 컨텍스트를 포함하는 기술을 확장할 수 있습니다.

 

이 비디오는 이 문서의 개념 및 태스크를 학습하기 위한 시각적 방법을 제공합니다.

비디오 챕터

[ 0:08 ] 시나리오 설명
[ 0:27 ] 패턴 개요
[ 1:03 ] 기술 자료
[ 1:22 ] 검색 구성 요소
[ 1:41 ] 문맥으로 보강된 프롬프트
[ 2:13 ] 출력 생성하기
[ 2:31 ] 전체 솔루션
[ 2:55 ] 검색 시 고려 사항
[ 3:58 ] 프롬프트 텍스트 고려 사항
[ 5:01 ] 설명 가능성을 위한 고려 사항

 

다음 다이어그램은 런타임 시 검색 증강 생성 패턴을 보여줍니다. 다이어그램은 질문에 응답하는 예제를 표시하지만 동일한 워크플로우가 다른 유스 케이스를 지원합니다.

검색 증강 생성을 위해 벡터 저장소에서 파생된 검색 결과를 입력에 추가하는 것을 보여주는 다이어그램

검색-증강 생성 패턴 은 다음 단계를 포함합니다

  1. 지식창고는 콘텐츠를 일반 텍스트로 변환하고 벡터화하기 위해 사전 처리됩니다. 전처리에는 표와 이미지의 정보를 LLM이 해석할 수 있는 텍스트로 변환하는 텍스트 추출이 포함될 수 있습니다.
  2. 사용자가 질문을 합니다.
  3. 질문이 텍스트 임베딩으로 변환됩니다.
  4. 지식창고의 벡터화된 콘텐츠가 포함된 벡터 스토어에서 사용자의 질문과 유사한 콘텐츠를 검색합니다.
  5. 가장 관련성이 높은 검색 결과가 "다음 구절의 정보만 사용하여 다음 질문에 답하세요."와 같은 지시 사항과 함께 텍스트 형식으로 프롬프트에 추가됩니다
  6. 결합된 프롬프트 텍스트(지시 사항 + 검색 결과 + 질문)가 기초 모델에 전송됩니다.
  7. 기초 모델은 프롬프트의 맥락 정보를 사용하여 사실에 근거한 답변을 생성합니다.

지식 기반 데이터베이스

지식창고는 다음과 같은 정보를 포함하는 모든 아티팩트의 집합이 될 수 있습니다:

  • 내부 회사 위키 페이지의 프로세스 정보
  • 파일 GitHub
  • 협업 도구의 메시지
  • 긴 텍스트 블록을 포함할 수 있는 제품 문서의 주제
  • SQL (Structured Query Language) 조회를 지원하는 데이터베이스의 텍스트 단락 (예: Db2 )
  • PDF 파일로 저장되는 법적 계약과 같은 파일 콜렉션이 있는 문서 저장소
  • Content Management 시스템의 고객 지원 티켓

대부분의 지원 벡터 스토어와 AutoAI 에서는 PDF, HTML, DOCX, MD 또는 일반 텍스트 형식의 파일을 지원합니다. 접지 문서 파일 유형을 참조하세요.

콘텐츠 사전 처리

RAG 패턴을 설정할 때 지식창고에서 문서를 사전 처리합니다. 전처리는 먼저 콘텐츠를 일반 텍스트로 변환합니다. 텍스트 추출을 구성하여 표와 이미지의 정보를 LLM이 해석할 수 있는 텍스트로 변환할 수 있습니다. 그런 다음 임베딩 모델은 텍스트를 벡터화하여 벡터 데이터베이스에 저장하고 콘텐츠 검색을 위한 벡터 인덱스를 생성합니다.

사용자가 질문을 하면 임베딩 모델에 의해 해당 텍스트가 벡터화됩니다.

콘텐츠 검색 및 순위

검색기는 벡터 데이터베이스에서 쿼리 텍스트의 벡터 임베딩과 가장 유사한 콘텐츠를 검색합니다. 검색된 구절은 문제와의 유사도에 따라 순위가 매겨집니다. RAG 패턴에 재순위 모델을 추가하여 가장 많이 검색된 구절이 질문에 대한 답변과의 관련성을 평가할 수 있습니다.

답변 생성

검색된 구절, 사용자의 질문 및 지침은 프롬프트를 통해 기초 모델에 전송됩니다. 기초 모델은 답변을 생성하여 사용자에게 반환합니다.

샘플 RAG 패턴

다음 샘플은 검색 증강 생성 패턴을 적용하는 방법을 보여줍니다.

검색 강화 생성 예
형식 설명 링크
완벽한 RAG 솔루션 프로젝트 검색 증강 생성을 사용하여 질문과 답변 솔루션을 구현하는 노트북 및 기타 에셋이 포함된 이 샘플 프로젝트입니다. RAG 액셀러레이터 Q&A를 참조하세요. RAG Accelerator 샘플 프로젝트에 대한 Q&A.
간단한 소개 노트북 소규모 지식 기반 데이터베이스 및 단순 검색 컴포넌트를 사용하여 기본 패턴을 설명합니다. 검색 강화 생성에 대한 소개
Discovery를 사용한 간단한 소개 노트북 이 샘플 노트북에서는 IBM Watson Discovery 의 간단한 기사를 지식 기반으로 사용하고 Discovery API를 사용하여 검색 조회를 수행합니다. watsonx.ai 와 Discovery를 이용한 검색 증강 생성에 대한 간단한 소개
LangChain 의 예제 노트북 LangChain watsonx.ai 의 검색 강화 생성을 지원하는 단계를 포함하고 있습니다. 데이터 검색, 지식 기반 데이터베이스 빌드 및 조회, 모델 테스트를 위한 명령을 소개합니다. watsonx LangChain 사용하여 질문에 답변하기
LangChain 및 Elasticsearch 벡터 데이터베이스의 예제 노트북 LangChain 을 사용하여 임베딩 모델을 Elasticsearch 벡터 데이터베이스의 문서에 적용하는 방법을 보여줍니다. 그런 다음 노트북은 데이터 저장소를 인덱싱하고 사용하여 수신 질문에 대한 응답을 생성합니다. watsonx, Elasticsearch, LangChain 사용하여 질문에 답하기(RAG)
Elasticsearch Python 라이브러리의 예제 노트북 Elasticsearch Python 라이브러리를 사용하여 임베딩 모델을 Elasticsearch 벡터 데이터베이스의 문서에 적용하는 방법을 보여줍니다. 그런 다음 노트북은 데이터 저장소를 인덱싱하고 사용하여 수신 질문에 대한 응답을 생성합니다. watsonx Elasticsearch Python 라이브러리를 사용하여 질문에 답하기(RAG)
LangChain과 SingleStoreDB 데이터베이스의 예시입니다 노트북 watsonx SingleStoreDB 데이터베이스를 사용하여 검색 강화 생성을 대규모 언어 모델에 적용하는 방법을 보여줍니다. SingleStoreDB 및 watsonx 사용한 RAG

자세히 알아보기

다음 학습서를 사용해 보십시오.

상위 주제: 제너레이티브 AI 솔루션