Repérage parcimonieux avec BM25
À vous d'essayer une mise en œuvre de repérage parcimonieux ! Vous allez créer un mécanisme BM25 pour poser des questions sur un article scientifique portant sur le RAG, déjà découpé en segments appelés chunks. Un modèle de clavardage OpenAI et une invite ont aussi été définis sous llm et prompt, respectivement. Vous pouvez afficher le prompt fourni en l'imprimant dans la console.
Cette activité fait partie du cours
Retrieval Augmented Generation (RAG) avec LangChain
Instructions de l’exercice
- Créez un mécanisme de repérage parcimonieux BM25 à partir des documents stockés dans
chunks; configurez-le pour retourner5documents lors du repérage. - Créez une chaîne de repérage LCEL pour intégrer le repérage BM25 avec le
llmet lepromptfournis.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Create a BM25 retriever from chunks
retriever = ____
# Create the LCEL retrieval chain
chain = ({"context": ____, "question": ____}
| ____
| ____
| StrOutputParser()
)
print(chain.invoke("What are knowledge-intensive tasks?"))