agents.memory_v2.kg_memory_agent

Knowledge Graph Memory Agent with Graph Database Integration.

This agent extends the existing KG transformer capabilities with: 1. Graph database upload and storage (Neo4j, Neptune, etc.) 2. Memory-specific knowledge graph construction 3. Time-weighted graph retrieval 4. Configurable storage backends

Based on existing ParallelKGTransformer but optimized for memory workflows.

Classes

GraphDatabaseConnector

Abstract connector for graph databases.

GraphStorageBackend

Supported graph database backends.

KGMemoryAgent

Knowledge Graph Memory Agent with database integration.

KGMemoryConfig

Configuration for KG Memory Agent.

Functions

create_memory_kg_agent([storage_backend, llm_config])

Factory function to create KG Memory Agent.

create_neo4j_memory_agent(uri, username, password[, ...])

Create KG Memory Agent with Neo4j backend.

Module Contents

class agents.memory_v2.kg_memory_agent.GraphDatabaseConnector(config)

Abstract connector for graph databases.

Initialize connector with configuration.

Parameters:

config (KGMemoryConfig)

async close()

Close database connection.

Return type:

None

async connect()

Connect to graph database.

Return type:

None

async retrieve_graph(graph_id)

Retrieve knowledge graph by ID.

Parameters:

graph_id (str)

Return type:

tuple[haive.agents.document_modifiers.kg.kg_map_merge.models.KnowledgeGraph, dict[str, Any]] | None

async store_knowledge_graph(graph, graph_id, metadata=None)

Store knowledge graph in configured backend.

Parameters:
  • graph (haive.agents.document_modifiers.kg.kg_map_merge.models.KnowledgeGraph)

  • graph_id (str)

  • metadata (dict[str, Any] | None)

Return type:

bool

class agents.memory_v2.kg_memory_agent.GraphStorageBackend

Bases: str, enum.Enum

Supported graph database backends.

Initialize self. See help(type(self)) for accurate signature.

class agents.memory_v2.kg_memory_agent.KGMemoryAgent(config)

Knowledge Graph Memory Agent with database integration.

Initialize KG Memory Agent.

Parameters:

config (KGMemoryConfig)

async close()

Close agent and database connections.

Return type:

None

async process_conversation_to_graph(messages, graph_id=None)

Process conversation messages into knowledge graph.

Parameters:
  • messages (list[langchain_core.messages.BaseMessage]) – Conversation messages

  • graph_id (str | None) – Optional graph ID

Returns:

Tuple of (graph_id, knowledge_graph)

Return type:

tuple[str, haive.agents.document_modifiers.kg.kg_map_merge.models.KnowledgeGraph]

async process_memories_to_graph(memories, graph_id=None)

Process memories into knowledge graph and store.

Parameters:
  • memories (list[agents.memory_v2.memory_state_original.EnhancedMemoryItem]) – List of memory items to process

  • graph_id (str | None) – Optional graph ID (generated if not provided)

Returns:

Tuple of (graph_id, knowledge_graph)

Return type:

tuple[str, haive.agents.document_modifiers.kg.kg_map_merge.models.KnowledgeGraph]

async query_graph_by_entity(entity_name)

Query graph database for entity and its relationships.

Parameters:

entity_name (str) – Name of entity to query

Returns:

List of related entities and relationships

Return type:

list[dict[str, Any]]

async retrieve_memory_graph(graph_id)

Retrieve stored knowledge graph.

Parameters:

graph_id (str) – ID of graph to retrieve

Returns:

KnowledgeGraph if found, None otherwise

Return type:

haive.agents.document_modifiers.kg.kg_map_merge.models.KnowledgeGraph | None

async setup()

Setup agent and connections.

Return type:

None

class agents.memory_v2.kg_memory_agent.KGMemoryConfig(/, **data)

Bases: pydantic.BaseModel

Configuration for KG Memory Agent.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

model_config

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

agents.memory_v2.kg_memory_agent.create_memory_kg_agent(storage_backend='memory', llm_config=None, **storage_kwargs)

Factory function to create KG Memory Agent.

Parameters:
  • storage_backend (str) – “memory”, “neo4j”, “file”

  • llm_config (haive.core.engine.aug_llm.AugLLMConfig) – LLM configuration

  • **storage_kwargs – Backend-specific settings

Returns:

Configured KGMemoryAgent

Return type:

KGMemoryAgent

agents.memory_v2.kg_memory_agent.create_neo4j_memory_agent(uri, username, password, database='neo4j', llm_config=None)

Create KG Memory Agent with Neo4j backend.

Parameters:
  • uri (str) – Neo4j connection URI

  • username (str) – Database username

  • password (str) – Database password

  • database (str) – Database name

  • llm_config (haive.core.engine.aug_llm.AugLLMConfig) – LLM configuration

Returns:

KGMemoryAgent configured for Neo4j

Return type:

KGMemoryAgent