AutoAI 사용하여 데이터와 사용 사례에 기반한 최적화된 생산 품질의 검색 증강 생성(RAG) 패턴을 자동화하고 가속화하십시오.
- 데이터 형식
- PDF, HTML, DOCX, MD 또는 일반 텍스트 형식의 문서 모음 파일
- 질문과 답변이 있는 테스트 데이터를 JSON 형식으로
- 데이터 파일 제한
- 문서 모음에 최대 20개의 파일 또는 폴더를 추가할 수 있습니다. 더 큰 문서 모음의 경우, AutoAI 는 1GB 샘플로 실험을 실행합니다.
- 1 테스트 데이터용 JSON 파일. 실험에서는 패턴을 평가하기 위해 최대 25개의 질문과 답변 쌍을 사용합니다.
- 환경 크기
- 대형: CPU 8개 및 32GB RAM
RAG 패턴의 비용 추정
AutoAI rAG 실험의 경우, 실험 훈련에 CUH(Capacity Unit Hours)를 사용하고, 문서를 포함하고 기초 모델을 추론하는 데 소비되는 토큰을 측정하는 데 RU(Resource Units)를 사용합니다.
- CUH는 지원되는 환경에서 시간당 20 CUH의 표준 측정 단위입니다. 실험에 소비되는 CUH는 실험의 복잡성과 패턴을 훈련하는 데 걸리는 시간에 따라 달라집니다.
- 러시아 소비는 다음을 포함한 여러 요인에 따라 달라집니다
- 임베드할 문서 컬렉션의 크기
- 포함할 평가 질문과 답변의 수
- chunking 구성, 다음 공식을 사용하여 계산됨:
((Chunk overlap + Chunk size) * Chunk count) *Evaluation records
- 실험이 만들어내는 패턴의 수
이 예는 단일 RAG 패턴에 대한 자원의 계산 방법을 보여줍니다.
실험 입력:
- 100페이지 분량의 문서
- 25개의 평가 질문/답변 기록
활동 | 이용된 토큰 |
---|---|
문서 내장 | 3,000,000 |
평가 기록 내장 | 25,000 |
메시지 컨텍스트 검색 | 192,000 |
평가 기록의 맥락 검색 | 25,000 |
답을 생성하다 | 25,000 |
소비된 총 토큰 수 | 3,267,000 |
이 실험에서 소비된 총 자원 단위( tokens/100 ) = 3267 RU.
검색 증강 생성을 통한 정확한 답변 제공
검색 증강 생성(RAG)은 대규모 언어 모델의 생성 능력과 근거 문서 컬렉션의 정확성을 결합합니다. RAG 애플리케이션과의 상호 작용은 이 패턴을 따릅니다:
- 사용자가 앱에 질문을 제출합니다.
- 검색은 먼저 일련의 근거 문서에서 관련 컨텍스트를 검색합니다.
- 함께 제공되는 대규모 언어 모델은 관련 정보를 포함하는 답변을 생성합니다.
예를 들어, 이 기능을 위해 제공되는 샘플 노트북은 ' watsonx.ai ' Python ' 클라이언트 라이브러리에 대한 제품 설명서를 ' watsonx.ai ' 솔루션 코딩에 대한 Q&A 앱의 기초 문서로 사용합니다. 패턴 사용자는 문서에서 구체적이고 관련성 있는 정보를 얻을 수 있으며, 생성형 AI 모델이 컨텍스트를 추가하고 자연어로 답변을 제시합니다.
검색 증강 생성을 통해 질문 및 답변 애플리케이션을 개선하는 방법에 대한 자세한 설명과 예시는 검색 증강 생성(RAG)을 참조하세요.
최적의 RAG 구성 검색 자동화하기
RAG에는 선택할 대규모 언어 모델, 근거 문서를 청크하는 방법, 검색할 문서 수 등 다양한 구성 매개변수가 포함되어 있습니다. 다른 사용 사례에 적합한 구성 선택이 데이터에는 적합하지 않을 수 있습니다. 데이터 세트에 가장 적합한 RAG 패턴을 만들려면 가능한 모든 RAG 구성 옵션 조합을 탐색하여 최상의 솔루션을 찾고, 평가하고, 배포할 수 있습니다. 이 과정에는 상당한 시간과 리소스를 투자해야 할 수 있습니다. AutoAI을 사용하여 머신 러닝 모델을 빠르게 학습하고 최적화하는 것처럼, AutoAI 기능을 사용하여 데이터와 사용 사례에 따라 최적의 RAG 솔루션 검색을 자동화할 수 있습니다. 실험을 가속화하면 생산까지 걸리는 시간을 획기적으로 단축할 수 있습니다.
AutoAI 접근 방식의 주요 기능은 다음과 같습니다:
- 제한된 구성 옵션 세트에 대한 전체 탐색 및 평가 .
- 변경 사항이 발생하면 신속하게 구성을 재평가하고 수정합니다. 예를 들어, 새로운 모델을 사용할 수 있거나 평가 결과 응답 품질에 변화가 있는 경우 교육 프로세스를 쉽게 다시 실행할 수 있습니다.
AutoAI을 사용하면 실험에서 배포까지 엔드투엔드 흐름을 자동화할 수 있습니다. 다음 다이어그램은 데이터 및 사용 사례에 최적화된 RAG 패턴을 찾기 위한 AutoAI 접근 방식을 3계층으로 설명합니다:
- 기본 수준에는 벡터 저장소(인덱스)를 채우고 대규모 언어 모델이 응답을 생성할 때 사용할 벡터 저장소에서 데이터를 검색하는 데 사용되는 매개변수화된 RAG 파이프라인이 있습니다.
- 다음으로 RAG 평가 지표 및 벤치마킹 도구는 응답 품질을 평가합니다.
- 마지막으로, 하이퍼 파라미터 최적화 알고리즘이 데이터에 가장 적합한 RAG 구성을 검색합니다.
AutoAI RAG 최적화 프로세스
AutoAI RAG를 사용하여 실험을 실행하면 하이퍼 파라미터 최적화 알고리즘을 사용하여 모든 RAG 구성 옵션(예: 그리드 검색을 피함)을 테스트하지 않아도 됩니다. 다음 다이어그램은 선택할 수 있는 16개의 RAG 패턴이 있는 RAG 구성 검색 공간의 하위 집합을 보여줍니다. 실험에서 모든 구성을 평가하면 1부터 16까지 순위가 매겨지며, 가장 높은 순위의 세 가지 구성이 가장 성능이 좋은 것으로 태그가 지정됩니다. 최적화 알고리즘은 평가할 RAG 패턴의 하위 집합을 결정하고 회색으로 표시된 나머지 패턴은 처리를 중지합니다. 이 프로세스는 기하급수적인 검색 공간을 탐색하지 않으면서도 실제로는 더 나은 성능의 RAG 패턴을 선택합니다.
RAG 패턴 검색 자동화를 위한 빠른 경로 사용
AutoAI RAG 패턴 검색을 자동화하기 위한 노코드 솔루션을 제공합니다. 빠른 경로를 사용하려면 프로젝트에서 시작하고 AutoAI 인터페이스를 사용하여 접지 및 테스트 문서를 업로드하세요. 기본 구성을 수락하거나 실험 설정을 업데이트합니다. 실험을 실행하여 사용 사례에 가장 적합한 RAG 패턴을 만드세요.
AutoAI SDK를 사용하여 RAG 패턴 코딩하기
샘플 노트북을 사용하여 사용 사례에 맞는 자동화된 RAG 솔루션을 코딩하기 위해 watsonx.ai Python 클라이언트 라이브러리(버전 1.1.11 이상)를 사용하는 방법을 알아보세요.
예 | 설명 |
---|---|
크로마 데이터베이스로 RAG 패턴 자동화하기 | 이 노트북은 RAG 패턴을 생성하는 빠른 경로 접근 방식을 보여줍니다. - watsonx.ai Python SDK 설명서 파일을 RAG 패턴의 근거 문서로 사용합니다. - 벡터화된 콘텐츠를 기본 인메모리 Chroma 데이터베이스에 저장합니다 |
Milvus 이용한 RAG 패턴 자동화 | - watsonx.ai Python SDK 문서 파일을 RAG 패턴의 기초 문서로 사용합니다. - 벡터화된 콘텐츠를 외부 Milvus 데이터베이스에 저장합니다. |
RAG 실험의 확장
AutoAI 기초 문서를 기반으로 최적화된 RAG 패턴 검색을 자동화합니다. 문서 지식 기반이 실험에 허용된 데이터 한도를 초과하는 경우에도, AutoAI 를 사용하여 RAG 패턴을 찾은 다음, 패턴을 저장할 때 생성된 자동 생성 인덱싱 노트북을 사용하여 더 많은 문서를 인덱싱할 수 있습니다. RAG 패턴은 색인된 문서의 큰 본문에 적용됩니다.
자세한 내용은 RAG 패턴 저장을 참고하세요.
지원되는 기능
AutoAI 의 RAG 프로세스와 함께 제공되는 기능에 대한 세부 사항을 검토하십시오.
기능 | 설명 |
---|---|
지원되는 인터페이스 | API, UI |
근거 문서 수집을 위한 파일 형식 | PDF, HTML, DOCX, MD, 일반 텍스트 |
문서 수집을 위한 데이터 연결 | IBM Cloud Object Storage(버킷) 버킷 내 폴더 파일(최대 20개) |
테스트 데이터 형식 | 고정 스키마가 있는 JSON(필드: - 질문, correct_answer, correct_answer_document_ids) |
테스트 데이터를 위한 데이터 연결 | IBM Cloud Object Storage(단일 JSON 파일) ' 프로젝트 또는 스페이스(데이터 자산)에 있는 단일 JSON 파일 ' NFS 스토리지 볼륨에 있는 단일 JSON 파일 |
청킹 | 64~1024자로 구성된 여러 개의 사전 설정 ' 접지 문서가 최적화된 크기와 겹침으로 청크로 분할됩니다. |
모델 임베드 | 지원되는 임베딩 모델( watsonx.ai) |
벡터 저장소 | Milvus 와 ChromaDB |
청크 증대 | 사용(문서에서 주변 청크 추가) |
검색 유형 | 표준(단일 인덱스) |
생성 모델 | 작업별 기초 모델 보기 |
샘플링 | 벤치마크 기반(먼저 질문을 선택한 다음 문서를 선택하고 한도까지 무작위 질문으로 채움) |
검색 알고리즘 | 하이퍼 파라미터 최적화를 위해 하이퍼옵트 라이브러리의 트리 파젠 에스트레이터(TPE)를 사용합니다 |
메트릭 | 정답 정확도, 충실도, 문맥 정확도. 자세한 내용은 유닛xt 어휘 래그 메트릭을 참조하세요 |
최적화 지표 | 최적화 대상으로 사용되는 지표입니다. 정답률과 성실도가 지원됩니다. |
사용자 지정 가능한 사용자 제약 조건 | 임베딩 모델 생성 모델 구성 횟수 제한(최대 출력 패턴 수 4~20) |
배치 | Milvus AutoAI : Milvus 외부 벡터 데이터베이스를 사용하여 색인 및 추론용 노트북 배포 가능한 AI 서비스 자산 Chroma: Chroma 인메모리 벡터 데이터베이스를 사용하여 색인 및 추론용 단일 AutoAI 노트북 |
다음 단계
- 벡터화된 문서를 저장할 위치를 계획하려면 벡터 저장소 선택하기를 참조하세요.
- 참조 RAG 실험 만들기(빠른 경로)
상위 주제: 제너레이티브 AI 솔루션 코딩하기