인공지능 개발자 수다(유튜브 바로가기) 자세히보기

자연어처리/Langchain

[Langchain] Custom Retriever 만들기

Suda_777 2025. 3. 9. 17:32
반응형

출처 : Langchain 공식문서

 

Custom Retriever | 🦜️🔗 LangChain

Overview

python.langchain.com

 

 

1. 개념

직접 만든 Retriver를 Langchain에 적용해 줄 수 있다.

주로, Langchian에서 제공하는 Retriever가 아닌

직접 만든 검색 시스템을 사용할 수 있다.

 


2. 방법

1. BaseRetriever 를 상속받는다

2. 다음 메서드를 오버라이딩 한다

동기식 : _get_relevant_documents

비동기식 : _aget_relevant_documents

 

_get_relevant_documents 의 내용

  • 쿼리를 입력으로 받는다
  • Document list를 반환한다
class ToyRetriever(BaseRetriever):
    documents: List[Document]
    k: int
    
    def __init__(self, documents: List[Document], k: int):
        self.documents = documents  # 인스턴스 변수 초기화
        self.k = k  # 인스턴스 변수 초기화

    def _get_relevant_documents(
        self, query: str, *, run_manager: CallbackManagerForRetrieverRun
    ) -> List[Document]:
        # 함수 내용 ...

        return matching_documents

 

Langchian이 잘 되어 있어서

사실상 딱히 쓸일은 없을 것 같긴 하다.

 

반응형