reranker 3

(이해를 돕는) Langchain 컴포넌트 코드 분석 총 모음

내용 : langchain의 여러 컴포넌트 코드를 분석해, 원리를 파악하는데 도움을 준다. InMemoryDocstore : https://makenow90.tistory.com/87Document, BaseMedia : https://makenow90.tistory.com/91Faiss : https://makenow90.tistory.com/93, https://makenow90.tistory.com/95 Faiss 모듈 내 코드 분석2배경faiss 모듈 내 코드를 분석해서, 여러 용도로 응용하고자함.코드 async def asimilarity_search_with_score_by_vector( self, embedding: List[float], k: int = 4, filter: Optional[..

langchain 공부 2024.11.27

CrossEncoderReranker 내부 코드 분석

배경CrossEncoderReranker의 내부 코드를 보고 활용 방법을 찾아본다.코드from __future__ import annotationsimport operatorfrom typing import Optional, Sequencefrom langchain_core.callbacks import Callbacksfrom langchain_core.documents import BaseDocumentCompressor, Documentfrom pydantic import ConfigDictfrom langchain.retrievers.document_compressors.cross_encoder import BaseCrossEncoderclass CrossEncoderReranker(BaseDoc..

langchain 공부 2024.11.14

리랭커(Reranker) 사용시 여러 문서 한번에 재정렬 시키기

배경한가지 질문에 여러 문서에서 자료를 검색기로 가져오고그 자료들을 한번에 리랭커 하고 싶다.그런데 ContextualCompressionRetriever를 사용하려면 기본 검색기(base_retriever) 값을 꼭 넣어줘야한다.ContextualCompressionRetriever를 사용 목적에 맞게 수정해, 문제를 해결하고자 한다.해결과정여러 책을 돌리면서, 검색기로 찾은 문서들이 점점 dense_docs, sparse_docs에 쌓이게 만듦base_retriever에 값이 없어도 되게(Obtional) 기존 모듈 커스터 마이징(바꿈)외부 코드 for book_name in book_names: # 검색기 설정 (리랭커 호출 없이 검색만 수행) retriever = v..