Add fuzzy matchin for neo4j

This commit is contained in:
Vasilije 2024-01-09 23:10:51 +01:00
parent 8aeef5ca4f
commit 7afe9a7e45
2 changed files with 8 additions and 4 deletions

View file

@ -590,7 +590,8 @@ class Neo4jGraphDB(AbstractGraphDB):
relationship = "HAS_SEMANTIC_MEMORY"
try:
query = f'''
MATCH (user:User {{userId: '{user_id}'}})-[:{relationship}]->(memory:{memory_type})-[:HAS_DOCUMENT]->(document:Document {{summary: '{summary}'}})
MATCH (user:User {{userId: '{user_id}'}})-[:{relationship}]->(memory:{memory_type})-[:HAS_DOCUMENT]->(document:Document)
WHERE apoc.text.fuzzyMatch(document.summary, '{summary}') > 0.8
RETURN document.d_id AS d_id
'''
logging.info(f"Generated Cypher query: {query}")

View file

@ -394,9 +394,10 @@ async def user_context_enrichment(session, user_id:str, query:str, generative_re
query = translate_text(query, "sr", "en")
logging.info("Translated query is", query)
neo4j_graph_db = Neo4jGraphDB(url=config.graph_database_url, username=config.graph_database_username,
password=config.graph_database_password)
summaries = await neo4j_graph_db.get_memory_linked_document_summaries(user_id=user_id, memory_type=memory_type)
neo4j_graph_db.close()
# logging.info("Result is %s", result)
# logging.info("Context from graphdb is %s", context)
# result = neo4j_graph_db.query(document_categories_query)
@ -407,8 +408,10 @@ async def user_context_enrichment(session, user_id:str, query:str, generative_re
# logging.info("Relevant categories after the classifier are %s", relevant_categories)
neo4j_graph_db = Neo4jGraphDB(url=config.graph_database_url, username=config.graph_database_username,
password=config.graph_database_password)
postgres_id = await neo4j_graph_db.get_memory_linked_document_ids(user_id, summary = relevant_summary, memory_type=memory_type)
neo4j_graph_db.close()
# postgres_id = neo4j_graph_db.query(get_doc_ids)
logging.info("Postgres ids are %s", postgres_id)
namespace_id = await get_memory_name_by_doc_id(session, postgres_id[0])