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

자연어처리/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이 잘 되어 있어서

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

     

    반응형