Graph RAG avec filtrage
Sur des graphes vastes et complexes, les LLM peuvent parfois avoir du mal à déterminer avec précision les nœuds et relations les plus pertinents pour construire la requête Cypher. Très souvent, il suffit que le LLM ne considère qu’un sous-ensemble du graphe ; exclure certains types de nœuds facilite non seulement la génération correcte de la requête Cypher, mais améliore aussi la latence de la requête.
La base de données graphe avec laquelle vous travaillez est disponible sous le nom graph.
Cet exercice fait partie du cours
Retrieval Augmented Generation (RAG) avec LangChain
Instructions
- Créez une chaîne de QA sur graphe qui interroge la base
graphtout en ignorant les nœuds de type"Concept"; unllma été défini pour vous, et vous devez définirverbose=True. - Appelez
graph_qa_chainavec l’entrée fournie.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Create the graph QA chain excluding Concept
graph_qa_chain = ____
# Invoke the chain with the input provided
result = ____({"query": "Who was Marie Curie married to?"})
print(f"Final answer: {result['result']}")