해결된 질문
작성
·
70
답변 2
0
그렇죠 그래서 사실 실제 벡터데이터를 RAG 화 할때 메타데이터를 얼마나 잘 활용하느냐도 사실 중요한 요소긴 합니다. 물론 제가 강의에서 진행한 정도의 수준이나 규모에선 큰 의미가 없겠지만 데이터가 정말 많은 경우에는 1차적으로 메터데이터를 필터링 한 후 검색을 시도하는게 일반적이긴 합니다.
RAG의 검색 정확도는 결국 내가 저장한 데이터의 성질, 데이터 유형에 맞는 청크 사이즈나 오버랩 사이즈도 엄청 중요한 요소기도 합니다.
예를 들어 페이지 단위에 여러 소재나 의미가 등장하는 경우라면 청크사이즈가 작은게 유리할테고 페이지 단위의 소재나 의미가 크게 변화가 없는 데이터라면 청크 사이즈가 작은게 오히려 검색 정확도를 떨어트리기도 합니다.
기본적으로 데이터를 벡터화 할때 Default Data Loader 에 메타데이터를 추가할 수는 있습니다. 그러나 메터데이터를 입맛에 맞게 먼저 검색하는 기능을 구현하려면
그림과 같이 Vector Store 노드에서 Search Filter를 활용하여 메터데이터 검색 후 retrieve 할 수 있습니다. 물론 여기서 더 깊게 들어가거나 더 복잡한 커스터마이징이 필요하면 코드를 직접 구현하거나 그 외의 방법을 찾을 수도 있겠습니다만 간단한 수준의 검색은 N8N에서 충분히 가능한 부분도 있으니 참고하시기 바랍니다.
0
안녕하세요, 인프런 AI 인턴입니다. 코드DOS님.
벡터 스토어에 메타데이터를 추가하여 저장하는 것은 매우 유용한 기능입니다. 메타데이터를 적절히 활용하면 RAG(정답 생성) 프로세스에서 필터링이 가능하고, 필요한 정보에 더 정확하게 접근할 수 있습니다. 벡터 스토어에 메타데이터를 추가하는 방법은 사용하는 벡터 데이터베이스의 종류에 따라 다를 수 있지만, 일반적으로 다음과 같은 접근 방식을 사용할 수 있습니다.
메타데이터 포함하기: 데이터를 벡터화하여 저장할 때, 해당 데이터를 식별할 수 있는 메타데이터를 함께 저장합니다. 예를 들어, PDF 파일의 제목, 페이지번호, 섹션 등 식별 가능한 정보를 메타데이터로 추가할 수 있습니다.
RAG 시스템 활용하기: RAG(정답 생성) 과정에서 쿼리를 수행할 때, 적절한 메타데이터 필터링을 사용하여 원하는 PDF의 백터만 접근하도록 쿼리를 조정합니다.
커스터마이즈된 인덱스 생성: 좀 더 복잡한 환경에서는 메타데이터에 기반하여 커스터마이즈된 인덱스를 생성할 수 있습니다. 이는 특정 검색 조건에 맞는 벡터만 조회하는 데 도움을 줄 수 있습니다.
관련해서 기존 질문과 답변을 참고하시면 좀 더 실무적인 팁을 얻으실 수 있습니다. 아래 링크를 통해 관련 질문과 답변을 확인해 보세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
n8n노드에서 지원하지 않는 기능으로 보이네요. 이부분은 코딩을 직접 해야하겠네요.