Recherche parcimonieuse avec BM25
À vous d’essayer une implémentation de recherche parcimonieuse ! Vous allez créer un retriever BM25 pour poser des questions sur un article académique consacré au RAG, déjà découpé en segments appelés chunks. Un modèle de conversation OpenAI et un prompt ont également été définis sous les noms llm et prompt, respectivement. Vous pouvez afficher le prompt fourni en l’imprimant dans la console.
Cet exercice fait partie du cours
Retrieval Augmented Generation (RAG) avec LangChain
Instructions
- Créez un retriever parcimonieux BM25 à partir des documents stockés dans
chunks; configurez-le pour renvoyer5documents lors de la recherche. - Créez une chaîne de récupération LCEL pour intégrer le retriever BM25 avec le
llmet lepromptfournis.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Create a BM25 retriever from chunks
retriever = ____
# Create the LCEL retrieval chain
chain = ({"context": ____, "question": ____}
| ____
| ____
| StrOutputParser()
)
print(chain.invoke("What are knowledge-intensive tasks?"))