Files
wehub-resource-sync c889a57b6b
Test Suites / Build CI Environment (push) Has been cancelled
Test Suites / Basic Tests (push) Has been cancelled
Test Suites / End-to-End Tests (push) Has been cancelled
Test Suites / CLI Tests (push) Has been cancelled
Test Suites / Slow End-to-End Tests (push) Has been cancelled
Test Suites / Graph Database Tests (push) Has been cancelled
Test Suites / Vector DB Tests (push) Has been cancelled
Test Suites / Temporal Graph Test (push) Has been cancelled
Test Suites / Search Test on Different DBs (push) Has been cancelled
Test Suites / Example Tests (push) Has been cancelled
Test Suites / Notebook Tests (push) Has been cancelled
Test Suites / OS and Python Tests Ubuntu (push) Has been cancelled
Test Suites / OS and Python Tests Extended (push) Has been cancelled
Test Suites / LLM Test Suite (push) Has been cancelled
Test Suites / S3 File Storage Test (push) Has been cancelled
Test Suites / Run Integration Tests (push) Has been cancelled
Test Suites / MCP Tests (push) Has been cancelled
Test Suites / Docker Compose Test (push) Has been cancelled
Test Suites / Docker CI test (push) Has been cancelled
Test Suites / Relational DB Migration Tests (push) Has been cancelled
Test Suites / Distributed Cognee Test (push) Has been cancelled
Test Suites / DB Examples Tests (push) Has been cancelled
Test Suites / Test Completion Status (push) Has been cancelled
Test Suites / Claude Code Review (push) Has been cancelled
Test Suites / basic checks (push) Has been cancelled
build | Build and Push Cognee MCP Docker Image to dockerhub / docker-build-and-push (push) Has been cancelled
Scorecard supply-chain security / Scorecard analysis (push) Has been cancelled
build | Build and Push Docker Image to dockerhub / docker-build-and-push (push) Has been cancelled
Weighted Edges Tests / Test Weighted Edges Core Functionality (3.11) (push) Has been cancelled
Weighted Edges Tests / Test Weighted Edges Core Functionality (3.12) (push) Has been cancelled
Weighted Edges Tests / Test Weighted Edges with Different Graph Databases (kuzu, kuzu) (push) Has been cancelled
Weighted Edges Tests / Test Weighted Edges with Different Graph Databases (neo4j, neo4j) (push) Has been cancelled
Weighted Edges Tests / Test Weighted Edges Examples (push) Has been cancelled
Weighted Edges Tests / Code Quality for Weighted Edges (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:02:24 +08:00
..

Summarization

Overview

The summarization module provides LLM-powered text and code summarization for Cognee's knowledge graph pipeline. It transforms document chunks and source code into structured, searchable summaries.

Note

This module runs automatically in cognee.cognify() (Task #4). Users typically don't call these functions directly unless building custom workflows.

Pipeline Position: cognee.add() → chunking → graph extraction → summarize_text → storage

Components

Functions

Function Description
summarize_text(data_chunks, summarization_model=None) Summarizes document chunks using LLM, returns list[TextSummary]
summarize_code(code_graph_nodes) Extracts structured summaries from code files, yields DataPoint and CodeSummary objects

Data Models (extend DataPoint)

Model Key Fields
TextSummary text, made_from (DocumentChunk reference), metadata
CodeSummary text, summarizes (CodeFile/CodePart reference), metadata

Exception

Exception Description
InvalidSummaryInputsError Raised when input is not a list or chunks lack .text attribute

Usage

import cognee

await cognee.add(["document.pdf", "notes.txt"])
await cognee.cognify()  # summarize_text runs automatically

results = await cognee.search(query_text="key concepts", query_type=cognee.SearchType.SUMMARIES)

Manual Text Summarization

from cognee.tasks.summarization import summarize_text

summaries = await summarize_text(document_chunks)
for summary in summaries:
    print(f"Summary: {summary.text}")
    print(f"Source: {summary.made_from.id}")

With Custom Model

from pydantic import BaseModel

class CustomSummary(BaseModel):
    title: str
    key_points: list[str]

summaries = await summarize_text(document_chunks, summarization_model=CustomSummary)

Code Summarization

from cognee.tasks.summarization import summarize_code

async for item in summarize_code(code_nodes):
    if hasattr(item, 'text'):  # CodeSummary
        print(f"Code summary: {item.text[:100]}...")

Configuration

Default summarization model is SummarizedContent from cognee.modules.cognify.config.get_cognify_config().

Environment Variables:

Variable Description
LLM_API_KEY API key for LLM provider (required)
LLM_PROVIDER Provider name (default: openai)
LLM_MODEL Model name (default: openai/gpt-5-mini)
MOCK_CODE_SUMMARY Use mock summaries for testing (true/false)

Dependencies

Internal: cognee.infrastructure.llm.extraction, cognee.modules.chunking.models, cognee.infrastructure.engine.DataPoint

External: pydantic, LLM provider (OpenAI/Anthropic/etc.)