Airsc is free for everyone. If it helps you, support it with $2–$20.

Support
SkillSafeAgent workflow & memoryBeginner friendly

cognee

topoteretes · topoteretes/cognee

An open-source AI memory platform that provides persistent long-term memory and knowledge graphs for AI agents using small, local models.

Cognee is the open-source AI memory platform for agents. Give your AI agents persistent long-term memory with small models for free

32k stars3.4kLicense: Apache-2.0Updated 3 days ago0 opens

See it in action

Comparison of terminal output between Claude and Cognee

From the author's READMEComparison of terminal output between Claude and Cognee

From the author's README topoteretes ·Source

What you can do with it

  • Give your AI agent persistent memory to remember past conversations and decisions across sessions.
  • Build a "Company Brain" by feeding documentation and code into a shared knowledge graph for agents.
  • Ground an AI agent in specific domain knowledge by structuring its memory with custom ontologies.

Try asking your agent

  • “Set up Cognee to store all project documentation and past chat logs as a knowledge graph for the agent.”
  • “Have the agent use Cognee to retrieve the decision-making process behind the 'Feature X' implementation from last quarter.”
  • “Integrate Cognee using `uv pip install "cognee[gliner]"` so the agent can maintain persistent memory across sessions.”

Safety check

Safe

No risky patterns found in the files we scanned.

Automated scan of the repo files. Always review code you run.

From the README

Cognee - The Free Open-Source AI Memory Platform for Agents

Demo . Docs . Learn More · Join Discord · Join r/AIMemory . Community Plugins & Add-ons

Cognee is a free open-source AI memory platform that gives AI agents persistent long-term memory across sessions. Turn documents, code, and conversations into a self-hosted knowledge graph your agents can search and reuse.

Runs locally for free — no API key required. We rely on free small models that use your CPU.

🌐 This README is also available in:

Deutsch | Español | Français | 日本語 | 한국어 | Português | Русский | 中文

📄 Read the research paper: Optimizing the Interface Between Knowledge Graphs and LLMs for Complex Reasoning — Markovic et al., 2025

When to use Cognee

  • Build a Company Brain. Bring documentation, conversations, tickets, code, and agent work into shared memory. Help your team and agents connect a decision to the discussion and implementation behind it. Explore Company Brain.
  • Give agents memory across runs. Retain project context, past decisions, fixes, and learned rules. Distill useful session lessons into durable knowledge that another session can retrieve. Connect your agent.
  • Ground agents in your domain. Structure memory around the entities and relationships your application needs, with custom data models and ontologies. Explore ontologies.

Choose your starting point

I want to…Start here
Build memory without an LLMLocal Python quickstart
Explore a prebuilt graph without downloading modelsBundled demo
Generate answers with a local or hosted LLMOptional LLM setup
Give an existing agent memoryPlugins and MCP
Run Cognee on my infrastructureDeployment options
Use a managed serviceCognee Cloud

Quickstart

Requires Python 3.10–3.14.

1. Install Cognee with pip, uv, or your preferred Python package manager. The gliner extra brings the local extraction model used when no LLM key is configured:

uv pip install "cognee[gliner]"

Run locally without an LLM

2. Build and query memory. With no LLM key configured, Cognee extracts the graph with the local GLiNER model and embeds with a local embedding model; both download on first use.

Save this as quickstart.py and run python quickstart.py if you are feeling old school, or tell your LLM to do it:

import asyncio

import cognee

async def main():
    # Extract a knowledge graph and embed the text with local models.
    await cognee.remember(
        "Marie Curie was born in Warsaw and worked at the University of Paris.",
        dataset_name="local_quickstart",
    )

    # Retrieve the matching source text; no LLM generates an answer.
    results = await cognee.recall(
        "Where was Marie Curie born?",
        datasets=["local_quickstart"],
    )
    for result in results:
        print(result)

if __name__ == "__main__":
    asyncio.run(main())

The same workflow is available from the CLI:

cognee-cli remember "Marie Curie was born in Warsaw." -d local_quickstart
cognee-cli recall "Where was Marie Curie born?" -d local_quickstart

Text ingestion, retrieval, and session storage work without an LLM. LLM-dependent improvement stages skip automatically.

Generated answers and media processing that requires a vision or transcription model need additional LLM configuration.

The bundled GLiNER extractor is a demo of Cognee's small-model pipeline. For a production-ready version with higher accuracy and broader label coverage, reach out to us.

Optional: Configure the LLM

3. Add an LLM to get generated answers instead of retrieved passages:

import os

os.environ["LLM_API_KEY"] = "YOUR OPENAI_API_KEY"

Alternatively, create a .env file using our template.

Once a key is set, Cognee uses OpenAI for language models and embeddings, and processing and generated answers make provider calls. See installation, other providers, or local Ollama models for other setups.

Explore the bundled demo

To explore a prebuilt graph without downloading extraction or embedding models:

cognee-cli demo

This command works with the base pip install cognee package. It loads bundled sample data and runs keyword search without an API key. Use the local quickstart above to build a graph from your own text.

How Cognee works

Cognee builds connected memory from different sources. Text becomes entities, relationships, and searchable chunks; code becomes a graph of symbols and dependencies. Session distillation curates accepted lessons into permanent memory.

At query time, retrieval selects relevant graph, vector, or code context. Your application can inspect the retrieved evidence and use it to answer a question or continue an agent task.

OperationWhat it doesLearn more
rememberStore content or code in permanent memory, or in a session when a session ID is supplied.Store memory
recallRetrieve context and answers, using automatic routing or a chosen search strategy.Query memory
improveEnrich memory, apply feedback, and bridge
View source on GitHub