Add specific driver closing to avoid issues with neo4
This commit is contained in:
parent
f7d2dd4390
commit
0120421195
1 changed files with 31 additions and 0 deletions
31
main.py
31
main.py
|
|
@ -184,6 +184,7 @@ async def user_query_to_graph_db(session: AsyncSession, user_id: str, query_inpu
|
||||||
neo4j_graph_db = Neo4jGraphDB(url=config.graph_database_url, username=config.graph_database_username, password=config.graph_database_password)
|
neo4j_graph_db = Neo4jGraphDB(url=config.graph_database_url, username=config.graph_database_username, password=config.graph_database_password)
|
||||||
cypher_query = await neo4j_graph_db.generate_cypher_query_for_user_prompt_decomposition(user_id,query_input)
|
cypher_query = await neo4j_graph_db.generate_cypher_query_for_user_prompt_decomposition(user_id,query_input)
|
||||||
result = neo4j_graph_db.query(cypher_query)
|
result = neo4j_graph_db.query(cypher_query)
|
||||||
|
neo4j_graph_db.close()
|
||||||
|
|
||||||
await update_entity(session, Operation, job_id, "SUCCESS")
|
await update_entity(session, Operation, job_id, "SUCCESS")
|
||||||
|
|
||||||
|
|
@ -281,27 +282,41 @@ async def add_documents_to_graph_db(session: AsyncSession, user_id: str= None, d
|
||||||
if document_memory_types == ['PUBLIC']:
|
if document_memory_types == ['PUBLIC']:
|
||||||
await create_public_memory(user_id=user_id, labels=['sr'], topic="PublicMemory")
|
await create_public_memory(user_id=user_id, labels=['sr'], topic="PublicMemory")
|
||||||
ids = neo4j_graph_db.retrieve_node_id_for_memory_type(topic="PublicMemory")
|
ids = neo4j_graph_db.retrieve_node_id_for_memory_type(topic="PublicMemory")
|
||||||
|
neo4j_graph_db.close()
|
||||||
print(ids)
|
print(ids)
|
||||||
else:
|
else:
|
||||||
ids = neo4j_graph_db.retrieve_node_id_for_memory_type(topic="SemanticMemory")
|
ids = neo4j_graph_db.retrieve_node_id_for_memory_type(topic="SemanticMemory")
|
||||||
|
neo4j_graph_db.close()
|
||||||
print(ids)
|
print(ids)
|
||||||
|
|
||||||
for id in ids:
|
for id in ids:
|
||||||
print(id.get('memoryId'))
|
print(id.get('memoryId'))
|
||||||
|
neo4j_graph_db = Neo4jGraphDB(url=config.graph_database_url, username=config.graph_database_username,
|
||||||
|
password=config.graph_database_password)
|
||||||
if document_memory_types == ['PUBLIC']:
|
if document_memory_types == ['PUBLIC']:
|
||||||
|
|
||||||
rs = neo4j_graph_db.create_document_node_cypher(classification, user_id, public_memory_id=id.get('memoryId'))
|
rs = neo4j_graph_db.create_document_node_cypher(classification, user_id, public_memory_id=id.get('memoryId'))
|
||||||
|
neo4j_graph_db.close()
|
||||||
else:
|
else:
|
||||||
rs = neo4j_graph_db.create_document_node_cypher(classification, user_id, memory_type='SemanticMemory')
|
rs = neo4j_graph_db.create_document_node_cypher(classification, user_id, memory_type='SemanticMemory')
|
||||||
|
neo4j_graph_db.close()
|
||||||
logging.info("Cypher query is", rs)
|
logging.info("Cypher query is", rs)
|
||||||
|
neo4j_graph_db = Neo4jGraphDB(url=config.graph_database_url, username=config.graph_database_username,
|
||||||
|
password=config.graph_database_password)
|
||||||
neo4j_graph_db.query(rs)
|
neo4j_graph_db.query(rs)
|
||||||
|
neo4j_graph_db.close()
|
||||||
logging.info("WE GOT HERE")
|
logging.info("WE GOT HERE")
|
||||||
|
neo4j_graph_db = Neo4jGraphDB(url=config.graph_database_url, username=config.graph_database_username,
|
||||||
|
password=config.graph_database_password)
|
||||||
if memory_details[0][1] == "PUBLIC":
|
if memory_details[0][1] == "PUBLIC":
|
||||||
|
|
||||||
neo4j_graph_db.update_document_node_with_db_ids( vectordb_namespace=memory_details[0][0],
|
neo4j_graph_db.update_document_node_with_db_ids( vectordb_namespace=memory_details[0][0],
|
||||||
document_id=doc_id)
|
document_id=doc_id)
|
||||||
|
neo4j_graph_db.close()
|
||||||
else:
|
else:
|
||||||
neo4j_graph_db.update_document_node_with_db_ids( vectordb_namespace=memory_details[0][0],
|
neo4j_graph_db.update_document_node_with_db_ids( vectordb_namespace=memory_details[0][0],
|
||||||
document_id=doc_id, user_id=user_id)
|
document_id=doc_id, user_id=user_id)
|
||||||
|
neo4j_graph_db.close()
|
||||||
# await update_entity_graph_summary(session, DocsModel, doc_id, True)
|
# await update_entity_graph_summary(session, DocsModel, doc_id, True)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
return e
|
return e
|
||||||
|
|
@ -366,7 +381,11 @@ async def user_context_enrichment(session, user_id:str, query:str, generative_re
|
||||||
await user_query_to_graph_db(session, user_id, query)
|
await user_query_to_graph_db(session, user_id, query)
|
||||||
|
|
||||||
semantic_mem = neo4j_graph_db.retrieve_semantic_memory(user_id=user_id)
|
semantic_mem = neo4j_graph_db.retrieve_semantic_memory(user_id=user_id)
|
||||||
|
neo4j_graph_db.close()
|
||||||
|
neo4j_graph_db = Neo4jGraphDB(url=config.graph_database_url, username=config.graph_database_username,
|
||||||
|
password=config.graph_database_password)
|
||||||
episodic_mem = neo4j_graph_db.retrieve_episodic_memory(user_id=user_id)
|
episodic_mem = neo4j_graph_db.retrieve_episodic_memory(user_id=user_id)
|
||||||
|
neo4j_graph_db.close()
|
||||||
# public_mem = neo4j_graph_db.retrieve_public_memory(user_id=user_id)
|
# public_mem = neo4j_graph_db.retrieve_public_memory(user_id=user_id)
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -485,6 +504,7 @@ async def create_public_memory(user_id: str=None, labels:list=None, topic:str=No
|
||||||
# Assuming the topic for public memory is predefined, e.g., "PublicMemory"
|
# Assuming the topic for public memory is predefined, e.g., "PublicMemory"
|
||||||
# Create the memory node
|
# Create the memory node
|
||||||
memory_id = await neo4j_graph_db.create_memory_node(labels=labels, topic=topic)
|
memory_id = await neo4j_graph_db.create_memory_node(labels=labels, topic=topic)
|
||||||
|
neo4j_graph_db.close()
|
||||||
return memory_id
|
return memory_id
|
||||||
except Neo4jError as e:
|
except Neo4jError as e:
|
||||||
logging.error(f"Error creating public memory node: {e}")
|
logging.error(f"Error creating public memory node: {e}")
|
||||||
|
|
@ -522,9 +542,14 @@ async def attach_user_to_memory(user_id: str=None, labels:list=None, topic:str=N
|
||||||
|
|
||||||
# Assuming the topic for public memory is predefined, e.g., "PublicMemory"
|
# Assuming the topic for public memory is predefined, e.g., "PublicMemory"
|
||||||
ids = neo4j_graph_db.retrieve_node_id_for_memory_type(topic=topic)
|
ids = neo4j_graph_db.retrieve_node_id_for_memory_type(topic=topic)
|
||||||
|
neo4j_graph_db.close()
|
||||||
|
|
||||||
for id in ids:
|
for id in ids:
|
||||||
|
neo4j_graph_db = Neo4jGraphDB(url=config.graph_database_url,
|
||||||
|
username=config.graph_database_username,
|
||||||
|
password=config.graph_database_password)
|
||||||
linked_memory = neo4j_graph_db.link_public_memory_to_user(memory_id=id.get('memoryId'), user_id=user_id)
|
linked_memory = neo4j_graph_db.link_public_memory_to_user(memory_id=id.get('memoryId'), user_id=user_id)
|
||||||
|
neo4j_graph_db.close()
|
||||||
return 1
|
return 1
|
||||||
except Neo4jError as e:
|
except Neo4jError as e:
|
||||||
logging.error(f"Error creating public memory node: {e}")
|
logging.error(f"Error creating public memory node: {e}")
|
||||||
|
|
@ -561,8 +586,14 @@ async def unlink_user_from_memory(user_id: str=None, labels:list=None, topic:str
|
||||||
|
|
||||||
# Assuming the topic for public memory is predefined, e.g., "PublicMemory"
|
# Assuming the topic for public memory is predefined, e.g., "PublicMemory"
|
||||||
ids = neo4j_graph_db.retrieve_node_id_for_memory_type(topic=topic)
|
ids = neo4j_graph_db.retrieve_node_id_for_memory_type(topic=topic)
|
||||||
|
neo4j_graph_db.close()
|
||||||
|
|
||||||
for id in ids:
|
for id in ids:
|
||||||
|
neo4j_graph_db = Neo4jGraphDB(url=config.graph_database_url,
|
||||||
|
username=config.graph_database_username,
|
||||||
|
password=config.graph_database_password)
|
||||||
linked_memory = neo4j_graph_db.unlink_memory_from_user(memory_id=id.get('memoryId'), user_id=user_id)
|
linked_memory = neo4j_graph_db.unlink_memory_from_user(memory_id=id.get('memoryId'), user_id=user_id)
|
||||||
|
neo4j_graph_db.close()
|
||||||
return 1
|
return 1
|
||||||
except Neo4jError as e:
|
except Neo4jError as e:
|
||||||
logging.error(f"Error creating public memory node: {e}")
|
logging.error(f"Error creating public memory node: {e}")
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue