BM25를 활용한 희소 검색
이제 희소 검색 구현을 직접 해 볼 차례예요! 이미 chunks라는 청크로 분할해 둔 RAG 관련 학술 논문을 대상으로 질문할 수 있도록 BM25 검색기를 만들 거예요. OpenAI 채팅 모델과 프롬프트는 각각 llm, prompt로 정의되어 있어요. 콘솔에 prompt를 출력하면 제공된 프롬프트를 확인할 수 있어요.
이 연습은 강의의 일부입니다
LangChain을 활용한 RAG(검색 증강 생성)
연습 안내
chunks에 저장된 문서로부터 BM25 희소 검색기를 만들고, 검색 시5개의 문서를 반환하도록 설정하세요.- 제공된
llm과prompt에 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?"))