Vytvořeno: 11.4.2026 | Aktualizováno: 18.08.2026 09:39
Cognee je open-source paměťová vrstva pro AI agenty a aplikace. Z dokumentů, kódu nebo aplikačních dat vytváří perzistentní paměť, kterou lze vyhledávat sémanticky i přes vztahy v knowledge graphu; nejde tedy o náhradu vektorového RAG, ale o kombinaci vektorového a grafového vyhledávání.
Podle architektury Cognee jsou data uložena ve třech doplňujících se vrstvách:
Při trvalém uložení Cognee data normalizuje, rozdělí je na chunky, vytvoří embeddingy, extrahuje entity a vztahy a nad výsledkem postaví graf. To je náročnější než prosté vložení textu do vektorové databáze, ale dovoluje pracovat i se strukturou znalostí.
Aktuální rozhraní verze 1.0 stojí na čtyřech operacích:
remember() uloží data. Bez session_id spustí trvalou ingestní pipeline a vytvoří grafovou paměť; se session_id zapisuje nejprve do rychlé paměti relace.recall() vyhledá odpověď v paměti. Bez explicitního typu dotazu automaticky volí strategii vyhledávání; pro trvalou paměť používá grafové vyhledávání.improve() obohacuje existující paměť a může přenášet obsah relace do trvalého grafu.forget() maže data v rozsahu položky, datasetu nebo uživatele.
Při použití session_id je potřeba rozlišovat krátkodobou a dlouhodobou paměť: zápis do relace je rychlý, ale do trvalého grafu se dostane až při následném kroku improve(). Podrobný popis poskytuje dokumentace remember a recall.
Cognee vyžaduje Python 3.10 až 3.14. Základní instalace obsahuje lokální výchozí úložiště; pro nejjednodušší konfiguraci s OpenAI stačí nastavit LLM_API_KEY. Postup a volitelné balíčky jsou v instalační dokumentaci.
uv venv source .venv/bin/activate uv pip install cognee
Soubor .env v kořeni projektu:
LLM_API_KEY="..."
Jednoduché uložení a dotaz:
import asyncio import cognee async def main(): await cognee.remember( "Cognee převádí dokumenty na perzistentní paměť pro AI agenty.", dataset_name="poznamky", ) results = await cognee.recall( "K čemu Cognee slouží?", datasets=["poznamky"], ) for result in results: print(result.text) asyncio.run(main())
remember() přijímá nejen text, ale také existující lokální cesty k souborům, HTTP(S) URL a objekty DataItem s metadaty. Formáty a některé zdroje vyžadují volitelné extras. Při větším importu lze pipeline spustit na pozadí, ale recall() vrátí nová data až po dokončení indexace.
Základní instalace běží bez samostatné databázové služby: pro metadata používá SQLite, pro embeddingy LanceDB a pro graf zabudované úložiště Ladybug kompatibilní s Kuzu. Pro produkční provoz lze vrstvy nahradit například PostgreSQL/PGVector a Neo4j; konfigurace LLM, embeddingů a úložišť se nastavuje v .env podle konfigurační dokumentace.
Chce-li instalace běžet bez cloudového LLM API, je potřeba nastavit obě vrstvy — LLM i embeddingy. Pokud se nastaví jen jedna, druhá zůstane ve výchozím režimu OpenAI. Lokální postup používá Ollama pro LLM a embeddingy, případně Ollama spolu s Fastembed pro embeddingy na CPU.
# LLM LLM_PROVIDER="ollama" LLM_MODEL="llama3.1:8b" LLM_ENDPOINT="http://localhost:11434/v1" LLM_API_KEY="ollama" # Embeddingy EMBEDDING_PROVIDER="ollama" EMBEDDING_MODEL="nomic-embed-text:latest" EMBEDDING_ENDPOINT="http://localhost:11434/api/embed" EMBEDDING_DIMENSIONS="768"
LLM_API_KEY=„ollama“ je v tomto případě pouze neprázdná zástupná hodnota vyžadovaná klientskou knihovnou; Ollama ji neověřuje.
| Use-case | Vhodnost | Proč |
|---|---|---|
| Firemní znalostní báze a interní postupy | Vhodné | Větší množství dokumentů a vztahy mezi pojmy dávají grafu smysl. |
| Osobní zápisky a dlouhodobé know-how | Vhodné | Paměť může růst v jednom nebo více oddělených datasetech. |
| Architektonická rozhodnutí a dokumentace | Vhodné | Lze dohledávat souvislosti mezi rozhodnutími, komponentami a zdroji. |
| Aktivně vyvíjený zdrojový kód | Podmíněně | Cognee umí ingestovat kód, ale pro přesnou aktuální podobu souboru je vhodnější číst repository přímo. |
| Živá data, ceníky, tickety a provozní stav | Podmíněně | Ingestní pipeline musí mít spolehlivou aktualizaci a mazání zastaralých dat. |
| Malý počet krátkých souborů | Nevhodné | Přímé předání do kontextu bývá jednodušší, rychlejší a levnější. |
Cognee není automatická záruka správné odpovědi. Výsledek závisí na kvalitě vstupů, správném členění datasetů, modelu pro extrakci a na tom, zda jsou data aktuální. Kvalitu je potřeba ověřovat na reprezentativních dotazech nad vlastními daty, ne obecnou deklarovanou přesností.
Pro vývojové použití dává smysl používat Cognee jako katalog a vrstvu pro discovery, zatímco repository nebo filesystem zůstává zdrojem pravdy:
cognee.recall() a zjistí relevantní témata, dokumenty nebo souvislosti.Takový postup omezuje riziko, že agent bude pracovat se zastaralým indexem nebo jen s chunkem bez důležitého okolí.
Cognee MCP zpřístupňuje paměť kompatibilním AI klientům přes Model Context Protocol. Ve standalone režimu běží včetně databází a ingestní pipeline lokálně pro danou instanci. V API režimu se více MCP klientů připojuje ke sdílenému backendu a knowledge graphu.
Pro nové integrace dokumentace doporučuje MCP nástroje remember, recall a forget. Není nutné instalovat samostatný Python balíček Cognee vedle balíčku cognee-mcp, protože MCP balíček obsahuje celou Cognee stack.
datasets; bez něj se prohledávají všechny datasety, ke kterým má aktuální uživatel přístup..env obsahuje klíče a cesty k úložištím. Nemá patřit do Git repozitáře.TELEMETRY_DISABLED=true.