Inflearn brand logo image

인프런 커뮤니티 질문&답변

윤님의 프로필 이미지

작성한 질문수

RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)

RAG 검색기 1 - Semantic Search (VectorStore Retriever)

검색기 관련 질문드립니다.

작성

·

27

0

안녕하세요, Langchain RAG 강의 잘 듣고 있습니다.

 

데이터셋이 방대해질 경우 분명 시간이 지나면서 이제는 사용되지 않은 정보 구식의 정보라고 해야할까요? 그런 것들이 생기는데, 그런 데이터들은 어떻게 필터가 되는지 궁금합니다.

 

예)

  1. Python 2.xx 버전 문서 저장

  1. Python 3.xx 버전으로 신규 업데이트

 

분명 검색을 할 때 동일하게 겹치는 내용이라면 1번과 2번 모두 가져올 것 같은데요! 이 경우 최신 버전으로만 불러올 수 있게 가능한가요??

답변 2

0

판다스 스튜디오님의 프로필 이미지
판다스 스튜디오
지식공유자

안녕하세요. 판다스 스튜디오입니다.

신구 문서를 모두 유지해야 하는 상황이라면, 메타데이터 필터링을 활용하는 것이 적절해 보입니다.

다음 랭체인 문서를 참고하세요.

https://python.langchain.com/docs/concepts/vectorstores/#metadata-filtering

 

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. 윤님.

질문해 주신 LangChain RAG 시스템에서 오래된 데이터의 관리 방법에 대해 답변 드리겠습니다.

RAG 시스템은 주로 검색을 통해 정보를 추출하고, 이를 기반으로 응답을 생성합니다. 데이터의 최신성을 관리하고, 특정 버전에 해당하는 정보만을 가져오는 방식에는 여러 가지 전략을 사용할 수 있습니다.

  1. 타임스탬프 및 메타데이터 활용: 각 문서나 데이터 조각에 타임스탬프나 버전 정보를 포함시켜 이를 기준으로 필터링할 수 있습니다. 이렇게 하면 검색 쿼리를 구성할 때 특정 날짜 이후의 데이터만 가져오도록 설정이 가능합니다.

  2. 데이터 유지 관리 정책: 정기적으로 데이터셋을 갱신하고, 더 이상 유효하지 않거나 오래된 데이터를 제거하는 정책을 설정할 수 있습니다. 이를 통해 최신 데이터를 유지하고 필요에 따라 자동화된 스케줄링을 통해 데이터 클렌징 작업을 수행할 수 있습니다.

  3. 필터링 로직 추가: 검색 쿼리를 실행할 때 명시적으로 특정 버전 이상의 정보를 포함하라는 조건을 추가할 수 있습니다. 예를 들어, Python 3.xx 이상의 문서만 허용하도록 쿼리에 조건을 포함할 수 있습니다.

  4. 검색 엔진 설정 조정: RAG 시스템 내에서 사용할 수 있는 검색 엔진 설정을 조정하여, 최신성(recentness) 또는 특정 메타데이터에 가중치를 부여해 검색 결과에 반영하는 방법도 있습니다.

현실적인 사용 예로 Elasticsearch와 같은 검색 엔진을 사용할 경우, 문서의 메타데이터에 기반하여 검색 쿼리를 조정하여 최신 버전의 마이크로 데이터만을 대상으로 수행할 수 있습니다.

아래는 관련 질문에 대한 논의가 이루어진 게시물입니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

윤님의 프로필 이미지

작성한 질문수

질문하기