Cloudflare, 완전 관리형 RAG 파이프라인 AutoRAG 출시
AutoRAG란 무엇인가
AutoRAG는 Cloudflare에서 제공하는 완전 관리형 RAG 파이프라인입니다. RAG는 사용자 자신의 데이터에서 정보를 검색하여 대규모 언어 모델(LLM)에 제공함으로써, 더 정확하고 상황에 적합한 응답을 생성하는 방법입니다.
기존 RAG 파이프라인의 문제점
RAG 파이프라인을 구축하려면 데이터 저장소, 벡터 데이터베이스, 임베딩 모델, LLM 등 여러 도구와 서비스를 조합해야 하며, 데이터가 변화함에 따라 시스템의 관련성과 성능을 유지하기 위해 수동으로 재인덱싱하고 임베딩을 재생성해야 합니다. AutoRAG의 등장 목적은 이러한 복잡성을 제거하는 데 있으며, 몇 번의 클릭만으로 데이터 수집, 자동 청킹 및 임베딩부터 Cloudflare의 Vectorize 데이터베이스에 벡터 저장, 시맨틱 검색 수행, Workers ai를 사용한 고품질 응답 생성에 이르는 엔드 투 엔드 완전 관리형 RAG 파이프라인을 제공합니다. AutoRAG는 또한 백그라운드에서 데이터 소스를 지속적으로 모니터링하고 인덱싱하여 수동 작업 없이 AI를 최신 상태로 유지합니다.

RAG를 사용하는 이유
LLM의 한계 : Meta의 Llama 3.3과 같은 LLM은 강력하지만, 학습 시 접한 내용으로만 지식이 제한되어 새로운 정보나 독점적인 또는 특정 도메인 정보에 대해서는 정확한 답을 제공하기 어려운 경우가 많습니다. 관련 시스템 프롬프트 정보를 제공하는 것이 도움이 되지만, 입력 크기를 증가시키고 컨텍스트 창 제한을 받습니다. 모델 파인튜닝은 비용이 많이 들고, 최신 상태를 유지하기 위해 지속적으로 재학습해야 합니다.
RAG의 장점 : RAG는 쿼리 시 데이터 소스에서 관련 정보를 검색하여 사용자의 입력 쿼리와 결합한 후, 이를 함께 LLM에 입력하여 사용자 데이터에 기반한 응답을 생성합니다. 이를 통해 RAG는 AI 기반 지원 챗봇, 내부 지식 어시스턴트, 문서 간 시맨틱 검색 등 실제 정보가 지속적으로 변화하는 사용 사례에 매우 적합합니다.
AutoRAG의 작동 원리
인덱싱 프로세스 : 이는 백그라운드에서 실행되는 비동기 프로세스로, AutoRAG 생성 시 자동으로 시작되며, 이전 작업이 완료될 때마다 새 파일이나 업데이트된 파일을 반복적으로 재처리합니다. 인덱싱 과정에서 콘텐츠는 시맨틱 검색에 최적화된 벡터로 변환됩니다.
파일 수집 : AutoRAG는 데이터 소스에서 직접 파일을 읽으며, 현재 Cloudflare R2와의 통합을 지원하여 R2에 PDF, 이미지, 텍스트, HTML, CSV 등 다양한 형식의 문서를 저장하여 처리할 수 있습니다.
Markdown 변환 : Workers AI의 Markdown 변환을 사용하여 모든 파일을 구조화된 Markdown 형식으로 변환하여 다양한 파일 형식 간의 일관성을 보장합니다. 이미지의 경우 Workers AI를 사용하여 객체 감지를 수행한 다음, 시각-언어 변환을 통해 이미지를 Markdown 텍스트로 변환합니다.
청킹 : 추출된 텍스트는 더 작은 청크로 분할되어 검색의 세분화를 향상시킵니다.
임베딩 : Workers AI의 임베딩 모델을 사용하여 각 청크를 임베딩하여 콘텐츠를 벡터로 변환합니다.
벡터 저장 : 결과 벡터와 메타데이터(예: 소스 위치 및 파일 이름)가 계정에 생성된 Cloudflare의 Vectorize 데이터베이스에 저장됩니다.
쿼리 프로세스 : 이는 사용자가 검색 요청을 보낼 때 트리거되는 동기 프로세스입니다.
AutoRAG API의 쿼리 수신 : AutoRAG의 AI 검색 또는 검색 엔드포인트에 요청을 보내면 쿼리 워크플로우가 시작됩니다.
쿼리 재작성(선택 사항) : AutoRAG는 Workers AI의 LLM 중 하나를 사용하여 입력 쿼리를 재작성하는 옵션을 제공하며, 원래 쿼리를 보다 효과적인 검색 쿼리로 변환하여 검색 품질을 향상시킵니다.
쿼리 임베딩 : 재작성된(또는 원래) 쿼리가 데이터 임베딩에 사용된 것과 동일한 임베딩 모델을 통해 벡터로 변환되어, 이미 벡터화된 데이터와 비교하여 가장 관련성 높은 일치 항목을 찾습니다.
Vectorize에서 벡터 검색 : 쿼리 벡터를 AutoRAG와 연결된 Vectorize 데이터베이스에 저장된 벡터와 비교하여 검색합니다.
메타데이터 + 콘텐츠 검색 : Vectorize는 가장 관련성 높은 청크와 해당 메타데이터를 반환하고, R2 버킷에서 원본 콘텐츠를 검색합니다. 이 콘텐츠는 텍스트 생성 모델로 전달됩니다.
응답 생성 : Workers AI의 텍스트 생성 모델을 사용하여 검색된 콘텐츠와 원래 사용자 쿼리를 기반으로 응답을 생성합니다.

AutoRAG 사용 튜토리얼
Browser Rendering API 사용 : 콘텐츠가 R2 버킷에 있지 않고 웹페이지에 있거나 프론트엔드 UI를 통해 동적으로 렌더링되어야 하는 경우, Browser Rendering API를 사용하여 자신의 웹사이트를 크롤링하여 RAG에 정보를 제공할 콘텐츠를 가져올 수 있습니다. Browser Rendering REST API는 이제 정식 제공(GA)되어 HTML 콘텐츠 추출, 스크린샷 캡처, PDF 생성 등 일반적인 브라우저 작업을 위한 엔드포인트를 제공합니다. 또한 곧 크롤링 엔드포인트가 출시되어 웹사이트 콘텐츠 수집이 더욱 편리해질 예정입니다.
1단계:웹페이지를 스크래핑하여 R2에 업로드하는 Worker 생성
browser-r2-worker라는 이름의 새 Worker 프로젝트를 생성하고 해당 옵션을 선택하여 설정합니다.
브라우저 렌더링 인스턴스를 제어하기 위해 @cloudflare/puppeteer를 설치합니다.
html-bucket이라는 이름의 새 R2 버킷을 생성합니다.
Worker가 브라우저 렌더링과 새 R2 버킷을 사용할 수 있도록 Wrangler 구성 파일에 해당 설정을 추가합니다.
src/index.ts의 내용을 교체하여 웹페이지를 스크래핑하고 R2 버킷에 저장하는 스크립트 코드를 작성합니다.
Worker를 Cloudflare 계정에 배포합니다.
cURL 요청을 사용하여 Worker를 테스트하여 웹페이지의 HTML 파일을 스크래핑하고 html-bucket 버킷에 업로드합니다.
2단계:AutoRAG 생성 및 인덱싱 모니터링
Cloudflare 대시보드에서 AI > AutoRAG로 이동합니다.
AutoRAG 생성을 선택하고 지식 베이스가 포함된 R2 버킷 선택, 임베딩 모델, LLM, AI Gateway 선택, AutoRAG 이름 지정, 서비스 API 토큰 선택 또는 생성 등 설정 과정을 완료합니다.
AutoRAG가 생성되면 자동으로 계정에 Vectorize 데이터베이스를 생성하고 데이터 인덱싱을 시작합니다. AutoRAG의 개요 페이지에서 인덱싱 작업 진행 상황을 확인할 수 있습니다.
3단계:테스트 및 애플리케이션에 추가
인덱싱이 완료되면 AutoRAG에 질문하기 시작할 수 있습니다. AutoRAG 인스턴스의 Playground 탭에서 "AutoRAG란 무엇인가?"와 같은 질문을 할 수 있습니다.
Playground의 결과가 만족스러우면 AutoRAG를 구축 중인 애플리케이션에 직접 통합할 수 있습니다. Worker를 사용하여 애플리케이션을 구축하는 경우, AI 바인딩을 통해 AutoRAG를 직접 호출할 수 있습니다.
오픈 베타 기간 동안 AutoRAG는 무료입니다. 인덱싱, 검색 및 증강의 컴퓨팅 작업에는 이 기간 동안 추가 비용이 발생하지 않습니다.
공식 자세한 소개:https://blog.cloudflare.com/introducing-autorag-on-cloudflare/
대본 기획 도우미▸
AI 앱
AI 뉴스 