cognee - Memory for AI Agents in 5 lines of code
<p align="center"> <a href="https://www.youtube.com/watch?v=1bezuvLwJmw&t=2s">Demo</a> . <a href="https://cognee.ai">Learn more</a> · <a href="https://discord.gg/NQPKmU5CCg">Join Discord</a> · <a href="https://www.reddit.com/r/AIMemory/">Join r/AIMemory</a> </p><a href="https://www.producthunt.com/posts/cognee?embed=true&utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-cognee" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=946346&theme=light&period=daily&t=1744472480704" alt="cognee - Memory for AI Agents  in 5 lines of code | Product Hunt" style="width: 250px; height: 54px;" width="250" height="54" /></a>
<a href="https://trendshift.io/repositories/13955" target="_blank"><img src="https://trendshift.io/api/badge/repositories/13955" alt="topoteretes%2Fcognee | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
Build dynamic memory for Agents and replace RAG using scalable, modular ECL (Extract, Cognify, Load) pipelines.
<p align="center"> 🌐 Available Languages : <!-- Keep these links. Translations will automatically update with the README. --> <a href="https://www.readme-i18n.com/topoteretes/cognee?lang=de">Deutsch</a> | <a href="https://www.readme-i18n.com/topoteretes/cognee?lang=es">Español</a> | <a href="https://www.readme-i18n.com/topoteretes/cognee?lang=fr">français</a> | <a href="https://www.readme-i18n.com/topoteretes/cognee?lang=ja">日本語</a> | <a href="https://www.readme-i18n.com/topoteretes/cognee?lang=ko">한국어</a> | <a href="https://www.readme-i18n.com/topoteretes/cognee?lang=pt">Português</a> | <a href="https://www.readme-i18n.com/topoteretes/cognee?lang=ru">Русский</a> | <a href="https://www.readme-i18n.com/topoteretes/cognee?lang=zh">中文</a> </p> <div style="text-align: center"> <img src="https://raw.githubusercontent.com/topoteretes/cognee/refs/heads/main/assets/cognee_benefits.png" alt="Why cognee?" width="50%" /> </div> </div>Features
- Interconnect and retrieve your past conversations, documents, images and audio transcriptions
- Replaces RAG systems and reduces developer effort, and cost.
- Load data to graph and vector databases using only Pydantic
- Manipulate your data while ingesting from 30+ data sources
Get Started
Get started quickly with a Google Colab <a href="https://colab.research.google.com/drive/1jHbWVypDgCLwjE71GSXhRL3YxYhCZzG1?usp=sharing">notebook</a> , <a href="https://deepnote.com/workspace/cognee-382213d0-0444-4c89-8265-13770e333c02/project/cognee-demo-78ffacb9-5832-4611-bb1a-560386068b30/notebook/Notebook-1-75b24cda566d4c24ab348f7150792601?utm_source=share-modal&utm_medium=product-shared-content&utm_campaign=notebook&utm_content=78ffacb9-5832-4611-bb1a-560386068b30">Deepnote notebook</a> or <a href="https://github.com/topoteretes/cognee-starter">starter repo</a>
Contributing
Your contributions are at the core of making this a true open source project. Any contributions you make are greatly appreciated. See CONTRIBUTING.md for more information.
📦 Installation
You can install Cognee using either pip, poetry, uv or any other python package manager. Cognee supports Python 3.8 to 3.12
With pip
pip install cognee
Local Cognee installation
You can install the local Cognee repo using pip, poetry and uv. For local pip installation please make sure your pip version is above version 21.3.
with UV with all optional dependencies
uv sync --all-extras
💻 Basic Usage
Setup
import os
os.environ["LLM_API_KEY"] = "YOUR OPENAI_API_KEY"
You can also set the variables by creating .env file, using our <a href="https://github.com/topoteretes/cognee/blob/main/.env.template">template.</a> To use different LLM providers, for more info check out our <a href="https://docs.cognee.ai">documentation</a>
Simple example
This script will run the default pipeline:
import cognee
import asyncio
async def main():
await cognee.add("Natural language processing (NLP) is an interdisciplinary subfield of computer science and information retrieval.")
await cognee.cognify()
results = await cognee.search("Tell me about NLP")
for result in results:
print(result)
if __name__ == '__main__':
asyncio.run(main())
Example output:
Natural Language Processing (NLP) is a cross-disciplinary and interdisciplinary field that involves computer science and information retrieval. It focuses on the interaction between computers and human language, enabling machines to understand and process natural language.
Our paper is out! <a href="https://arxiv.org/abs/2505.24478" target="_blank" rel="noopener noreferrer">Read here</a>
<div style="text-align: center"> </div> </div>Cognee UI
You can also cognify your files and query using cognee UI.
</a>Try cognee UI out locally here.
Understand our architecture
<div style="text-align: center"> </div>Demos
- What is AI memory:
- Simple GraphRAG demo
- cognee with Ollama
Code of Conduct
We are committed to making open source an enjoyable and respectful experience for our community. See <a href="https://github.com/topoteretes/cognee/blob/main/CODE_OF_CONDUCT.md"><code>CODE_OF_CONDUCT</code></a> for more information.