Sparsches Retrieval mit BM25
Zeit, eine sparse Retrieval-Implementierung auszuprobieren! Du erstellst einen BM25-Retriever, um Fragen zu einem wissenschaftlichen Paper über RAG zu stellen, das bereits in Chunks namens chunks aufgeteilt wurde. Ein OpenAI-Chatmodell und ein Prompt wurden ebenfalls als llm bzw. prompt definiert. Du kannst dir den bereitgestellten prompt anzeigen lassen, indem du ihn in der Konsole ausgibst.
Diese Übung ist Teil des Kurses
<Kurs>Retrieval Augmented Generation (RAG) mit LangChain</Kurs>Übungsanweisungen
- Erstelle einen sparschen BM25-Retriever aus den in
chunksgespeicherten Dokumenten und konfiguriere ihn so, dass er bei der Suche5Dokumente zurückgibt. - Erstelle eine LCEL-Retrieval-Chain, um den BM25-Retriever mit dem bereitgestellten
llmundpromptzu integrieren.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Create a BM25 retriever from chunks
retriever = ____
# Create the LCEL retrieval chain
chain = ({"context": ____, "question": ____}
| ____
| ____
| StrOutputParser()
)
print(chain.invoke("What are knowledge-intensive tasks?"))