IBM watsonx.ai 의 기초 모델을 사용하면 검색 증강 생성 (RAG) 패턴을 적용하여 지식 기반의 정보를 기반으로 사실적으로 정확한 출력을 생성할 수 있습니다.
이 비디오는 이 문서의 개념 및 태스크를 학습하기 위한 시각적 방법을 제공합니다.
비디오 챕터
Copy link to section
[ 0:08 ] 시나리오 설명 [ 0:27 ] 패턴 개요 [ 1:03 ] 지식창고 [ 1:22 ] 검색 구성 요소 ' [ 1:41 ] 문맥으로 보강된 프롬프트 ' [ 2:13 ] 출력 생성 ' [ 2:31 ] 전체 솔루션 [ 2:55 ] 검색 시 고려 사항 ' [ 3:58 ] 프롬프트 텍스트 [ 5:01 ] 설명 가능성을 위한 고려 사항
프롬프트에 컨텍스트를 제공하면 정확도가 향상됩니다.
Copy link to section
기초 모델은 다양한 이유로 인해 사실적으로 부정확한 출력을 생성할 수 있습니다. 생성된 출력의 정확성을 향상시키는 한 가지 방법은 프롬프트 텍스트에서 필요한 사실을 컨텍스트로 제공하는 것입니다.
예
Copy link to section
다음 프롬프트에는 일부 요소를 설정하기 위한 컨텍스트가 포함되어 있습니다.
Aisha recently painted the kitchen yellow, which is her favorite color.
Aisha's favorite color is
Copy to clipboard클립보드에 복사됨
아이샤가 유명한 사람이고, 그 사람의 좋아하는 색이 일반적인 사전 훈련 데이터 세트에 포함된 많은 온라인 기사에서 언급된 것이 아니라면, 문장의 시작 부분에 문맥이 없으면 기초 모델은 문장의 끝에서 올바른 문장 완성을 안정적으로 생성할 수 없습니다.
팩트가 채워진 컨텍스트를 포함하는 텍스트로 모델을 프롬프트하는 경우 모델이 생성하는 출력이 더 정확할 수 있습니다. 자세한 정보는 사실적으로 정확한 출력 생성을 참조하십시오.
검색 강화 생성 패턴
Copy link to section
지식 기반의 정보를 사용하여 프롬프트에 컨텍스트를 포함하는 기술을 확장할 수 있습니다.
다음 도표는 검색 강화 생성 패턴을 보여줍니다. 다이어그램은 질문에 응답하는 예제를 표시하지만 동일한 워크플로우가 다른 유스 케이스를 지원합니다.
검색-증강 생성 패턴 은 다음 단계를 포함합니다
지식 기반에서 사용자의 질문과 관련된 컨텐츠를 검색하십시오.
가장 관련성이 높은 검색 결과를 컨텍스트로 프롬프트에 가져오고 다음 단락의 정보만 사용하여 "다음 질문에 응답" 과 같은 지시사항을 추가하십시오.
사용 중인 기초 모델이 지침에 맞춰 조정되지 않은 경우에만 : 예상되는 입력 및 출력 형식을 보여주는 몇 가지 예를 추가하십시오.
조합된 프롬프트 텍스트(지침 + 검색 결과 + 질문)를 기초 모델로 보냅니다.
기초 모델은 프롬프트의 맥락 정보를 사용하여 사실에 근거한 답변을 생성합니다.
검색 강화 생성의 기원
Copy link to section
이 논문에서 검색 증강 생성 (RAG)이라는 용어가 소개되었습니다: 지식 집약적 NLP 작업을 위한 검색 증강 생성. "우리는 파라메트릭 메모리가 사전 훈련된 seq2seq 변환기이고, 비파라메트릭 메모리가 재훈련된 신경망 검색기로 액세스되는 Wikipedia의 밀집 벡터 인덱스인 RAG 모델을 구축합니다."
이 문서에서 RAG 모델 이라는 용어는 검색기 (특정 조회 인코더 및 벡터 기반 문서 검색 색인) 및 생성기 (사전 훈련된 특정 생성 언어 모델) 의 특정 구현을 의미합니다. 그러나 기본 검색 및 생성 접근 방식은 다른 검색기 컴포넌트 및 기초 모델을 사용하도록 일반화될 수 있습니다.
지식 기반 데이터베이스
Copy link to section
지식 기반 데이터베이스는 다음과 같은 정보 포함 아티팩트의 콜렉션일 수 있습니다.
내부 회사 위키 페이지의 프로세스 정보
GitHub 의 파일 (모든 형식: 마크다운, 일반 텍스트, JSON, 코드)
협업 도구의 메시지
긴 텍스트 블록을 포함할 수 있는 제품 문서의 주제
SQL (Structured Query Language) 조회를 지원하는 데이터베이스의 텍스트 단락 (예: Db2 )
PDF 파일로 저장되는 법적 계약과 같은 파일 콜렉션이 있는 문서 저장소
Content Management 시스템의 고객 지원 티켓
검색기
Copy link to section
검색기는 IBM Watson Discovery 와 같은 검색 도구 또는 GitHub에서 제공하는 것과 같은 검색 및 컨텐츠 API를 포함하여 지식 기반에서 관련 컨텐츠를 안정적으로 리턴하는 검색 및 컨텐츠 도구의 조합일 수 있습니다.
벡터 데이터베이스도 효과적인 검색기입니다. 벡터 데이터베이스는 데이터뿐만 아니라 데이터의 벡터 임베딩도 저장합니다. 이는 시맨틱 의미를 캡처하는 데이터의 숫자 표현입니다. 조회 시 조회 텍스트의 벡터 임베딩이 관련 일치를 찾는 데 사용됩니다.
IBM watsonx.ai 벡터 데이터베이스는 포함되어 있지 않지만 다음에서 기초 모델을 사용할 수 있습니다. watsonx.ai 시중의 모든 벡터 데이터베이스와 함께 사용할 수 있습니다. 예제 노트북은 Cloud Pak for Data, Elasticsearch 와 같은 인기 있는 벡터 데이터베이스에 연결하는 단계를 보여줍니다.
리트리버가 벡터화된 텍스트를 사용하는 RAG 패턴을 구현하는 데 도움이 되도록, watsonx.ai 는 문장과 구절을 벡터로 변환하는 데 사용할 수 있는 임베딩 API와 임베딩 모델을 제공합니다. 이러한 유형의 RAG 구현에 대한 자세한 내용은 검색 강화 생성 작업 에 벡터화된 텍스트 사용하기를 참고하세요.
생성 프로그램
Copy link to section
생성기 컴포넌트는 watsonx.ai에 있는 모든 모델을 사용할 수 있습니다. 이 모델은 사용자의 유스 케이스, 프롬프트 형식 및 컨텍스트에 대해 가져오는 컨텐츠에 적합합니다.
샘플 프로젝트
Copy link to section
검색 강화 생성을 사용하여 질문과 답변 솔루션을 구현하는 노트북과 기타 자산이 포함된 샘플 프로젝트를 가져옵니다. 이 프로젝트는 다음 작업을 수행하는 방법을 보여줍니다:
HTML, PDF, DOC 또는 PPT 파일을 지식창고로 사용하고 Elasticsearch 벡터 인덱스를 검색기로 사용하세요. (Elasticsearch 서비스 인스턴스를 별도로 생성해야 합니다.)
질문과 관련된 정보를 찾기 위해 벡터 인덱스를 쿼리하는 함수( Python )를 작성한 다음, 기초 모델을 추론하고 생성된 답변에 환각 내용이 있는지 확인합니다.
기초 모델에 효과적인 프롬프트를 포맷하는 데 도움이 되는 프롬프트 템플릿을 사용하십시오.
watsonx.ai Python 라이브러리의 RAG 유틸리티를 사용하여 패턴을 효율적으로 따르세요.
생성된 답변에 대한 사용자 피드백을 수집하고 분석하는 기능을 포함하여 RAG 구현의 다음 단계를 구현하세요.
본 사이트의 쿠키 정보웹 사이트가 제대로 작동하려면 일부 쿠키가 필요합니다(필수사항). 또한 다른 쿠키는 사이트 사용을 분석하고 사용자 경험을 개선하며 광고를 목적으로 귀하의 동의에 따라 사용될 수 있습니다.자세한 정보는 쿠키 환경 설정 옵션을 확인해 주시기 바랍니다. IBM 웹사이트를 방문함으로써 귀하는 IBM의개인정보처리방침에 따라 당사가 정보를 처리하는 것에 동의합니다.원활한 탐색을 제공하기 위해 귀하의 쿠키 환경 설정은 여기에 나열된 IBM 웹 도메인 전체에서 공유됩니다.