시작하기무료로 시작하기

BM25를 활용한 희소 검색

이제 희소 검색 구현을 직접 해 볼 차례예요! 이미 chunks라는 청크로 분할해 둔 RAG 관련 학술 논문을 대상으로 질문할 수 있도록 BM25 검색기를 만들 거예요. OpenAI 채팅 모델과 프롬프트는 각각 llm, prompt로 정의되어 있어요. 콘솔에 prompt를 출력하면 제공된 프롬프트를 확인할 수 있어요.

이 연습은 강의의 일부입니다

LangChain을 활용한 RAG(검색 증강 생성)

강의 보기

연습 안내

  • chunks에 저장된 문서로부터 BM25 희소 검색기를 만들고, 검색 시 5개의 문서를 반환하도록 설정하세요.
  • 제공된 llmprompt에 BM25 검색기를 통합하는 LCEL 검색 체인을 만드세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Create a BM25 retriever from chunks
retriever = ____

# Create the LCEL retrieval chain
chain = ({"context": ____, "question": ____}
         | ____
         | ____
         | StrOutputParser()
)

print(chain.invoke("What are knowledge-intensive tasks?"))
코드 편집 및 실행