Spaces:
Runtime error
Runtime error
langchain-qa-bot
/
docs
/langchain
/templates
/neo4j-advanced-rag
/neo4j_advanced_rag
/retrievers.py
from langchain_community.vectorstores import Neo4jVector | |
from langchain_openai import OpenAIEmbeddings | |
# Typical RAG retriever | |
typical_rag = Neo4jVector.from_existing_index( | |
OpenAIEmbeddings(), index_name="typical_rag" | |
) | |
# Parent retriever | |
parent_query = """ | |
MATCH (node)<-[:HAS_CHILD]-(parent) | |
WITH parent, max(score) AS score // deduplicate parents | |
RETURN parent.text AS text, score, {} AS metadata LIMIT 1 | |
""" | |
parent_vectorstore = Neo4jVector.from_existing_index( | |
OpenAIEmbeddings(), | |
index_name="parent_document", | |
retrieval_query=parent_query, | |
) | |
# Hypothetic questions retriever | |
hypothetic_question_query = """ | |
MATCH (node)<-[:HAS_QUESTION]-(parent) | |
WITH parent, max(score) AS score // deduplicate parents | |
RETURN parent.text AS text, score, {} AS metadata | |
""" | |
hypothetic_question_vectorstore = Neo4jVector.from_existing_index( | |
OpenAIEmbeddings(), | |
index_name="hypothetical_questions", | |
retrieval_query=hypothetic_question_query, | |
) | |
# Summary retriever | |
summary_query = """ | |
MATCH (node)<-[:HAS_SUMMARY]-(parent) | |
WITH parent, max(score) AS score // deduplicate parents | |
RETURN parent.text AS text, score, {} AS metadata | |
""" | |
summary_vectorstore = Neo4jVector.from_existing_index( | |
OpenAIEmbeddings(), | |
index_name="summary", | |
retrieval_query=summary_query, | |
) | |