cognee/cognee/modules/data/get_layer_graphs.py
2024-06-03 14:03:24 +02:00

25 lines
908 B
Python

import logging
import asyncio
from cognee.infrastructure.databases.graph import get_graph_config
from .extraction.knowledge_graph.extract_knowledge_graph import extract_knowledge_graph
logger = logging.getLogger(__name__)
async def get_layer_graphs(content: str, cognitive_layers: list[tuple[str, dict]]):
config = get_graph_config()
try:
graph_awaitables = [
extract_knowledge_graph(
content,
cognitive_layer_data["name"],
config.graph_model
) for (_, cognitive_layer_data) in cognitive_layers
]
graphs = await asyncio.gather(*graph_awaitables)
return [(layer_id, graphs[layer_index]) for (layer_index, (layer_id, __)) in enumerate(cognitive_layers)]
except Exception as error:
logger.error("Error extracting graph from content: %s", error, exc_info = True)
raise error