InfoGrab Docs

n8n의 RAG

검색 증강 생성(RAG)을 사용하면 모델이 관련 답변을 생성하는 데 도움이 되는 컨텍스트별 리소스에 접근할 수 있습니다. 작동 방식과 n8n에서 RAG를 사용하는 방법을 알아봅니다.

n8n의 RAG # RAG란? # 검색 증강 생성(RAG) 은 언어 모델과 외부 데이터 소스를 결합하여 AI 응답을 개선하는 기법입니다. 모델의 내부 학습 데이터에만 의존하는 대신, RAG 시스템은 관련 문서를 검색하여 최신 정보, 도메인 특화 지식 또는 독점 지식에 기반한 응답을 생성합니다. RAG 워크플로는 일반적으로 이 외부 데이터를 효율적으로 관리하고 검색하기 위해 벡터 저장소에 의존합니다. 벡터 저장소란? # 벡터 저장소 는 고차원 벡터(텍스트, 이미지 또는 기타 데이터의 수치적 표현)를 저장하고 검색하도록 설계된 특수 데이터베이스입니다. 문서를 업로드하면 벡터 저장소가 이를 청크로 분할하고 임베딩 모델 을 사용하여 각 청크를 벡터로 변환합니다. 키워드 매칭이 아닌 의미적 유사성 을 기반으로 결과를 구성하는 유사성 검색을 사용하여 이러한 벡터를 쿼리할 수 있습니다. 따라서 벡터 저장소는 대규모 지식 집합을 검색하고 추론해야 하는 RAG 및 기타 AI 시스템의 강력한 기반이 됩니다. n8n에서 RAG 사용하기 # RAG 템플릿으로 시작하기 👉 RAG Starter Template 으로 n8n에서 RAG를 체험해 보세요. 템플릿에는 파일 업로드용 워크플로와 쿼리용 워크플로 두 가지가 포함되어 있습니다. 벡터 저장소에 데이터 삽입하기 # 에이전트가 커스텀 지식에 접근하려면 먼저 해당 데이터를 벡터 저장소에 업로드해야 합니다. 소스 데이터를 가져오는 데 필요한 노드를 추가합니다. Vector Store 노드(예: Simple Vector Store )를 삽입하고 Insert Documents 작업을 선택합니다. 텍스트를 벡터 임베딩으로 변환하는 임베딩 모델 을 선택합니다. 올바른 임베딩 모델 선택 에 대한 자세한 내용은 FAQ를 참고하세요. 콘텐츠를 청크로 분할하는 Default Data Loader 노드를 추가합니다. 기본 설정을 사용하거나 직접 청킹 전략을 정의할 수 있습니다. Character Text Splitter: 문자 길이로 분할합니다. Recursive Character Text Splitter: Markdown, HTML, 코드 블록 또는 단순 문자로 재귀적으로 분할합니다 (대부분의 사용 사례에 권장). Token Text Splitter: 토큰 수로 분할합니다. (선택 사항) 각 청크에 메타데이터 를 추가하여 컨텍스트를 풍부하게 하고 나중에 더 나은 필터링이 가능하도록 합니다. 데이터 쿼리하기 # 두 가지 주요 방법으로 데이터를 쿼리할 수 있습니다: 에이전트를 사용하거나 노드를 통해 직접 쿼리하는 방법입니다. 에이전트 사용하기 # 워크플로에 에이전트 를 추가합니다. 벡터 저장소를 도구 로 추가하고 에이전트가 언제 사용할지 이해할 수 있도록 설명 을 입력합니다. 제한 을 설정하여 반환할 청크 수를 정의합니다. Include Metadata 를 활성화하여 각 청크에 추가 컨텍스트를 제공합니다. 데이터 삽입 시 사용한 것과 동일한 임베딩 모델 을 추가합니다. 팁 비용이 높은 모델의 토큰을 절약하려면 먼저 Vector St