====== Cognee – AI memory ======
//Vytvořeno: **11.4.2026** | Aktualizováno: **~~LASTMOD~~**//
[[https://github.com/topoteretes/cognee|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í.
===== Jak Cognee funguje =====
Podle [[https://docs.cognee.ai/core-concepts/overview|architektury Cognee]] jsou data uložena ve třech doplňujících se vrstvách:
* **Relační úložiště** drží zdrojové dokumenty, chunky, metadata a původ dat.
* **Vektorové úložiště** drží embeddingy pro hledání významově podobného obsahu.
* **Grafové úložiště** obsahuje entity a vztahy mezi nimi. Hodí se pro otázky typu „jak spolu X a Y souvisí“ nebo pro skládání informací z více dokumentů.
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í.
===== Základní workflow =====
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 [[https://docs.cognee.ai/core-concepts/main-operations/remember|remember]] a [[https://docs.cognee.ai/core-concepts/main-operations/recall|recall]].
===== Rychlý start v Pythonu =====
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 [[https://docs.cognee.ai/getting-started/installation|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.
===== Lokální a produkční úložiště =====
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 [[https://docs.cognee.ai/setup-configuration/overview|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. [[https://docs.cognee.ai/guides/local-setup|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.
===== Kde Cognee smysl dává a kde ne =====
^ 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í.
===== Hybridní přístup: Cognee + přímé čtení souborů =====
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:
- Agent zavolá ''cognee.recall()'' a zjistí relevantní témata, dokumenty nebo souvislosti.
- Agent přes filesystem nebo MCP nástroj načte aktuální plný soubor z disku.
- Odpověď vznikne z aktuálního obsahu souboru s využitím kontextu dohledaného v Cognee.
Takový postup omezuje riziko, že agent bude pracovat se zastaralým indexem nebo jen s chunkem bez důležitého okolí.
===== Použití přes MCP =====
[[https://docs.cognee.ai/cognee-mcp/mcp-overview|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.
===== Provozní a bezpečnostní poznámky =====
* Datasety je vhodné oddělit podle projektu, zákazníka nebo oprávnění. Při dotazu lze scope omezit parametrem ''datasets''; bez něj se prohledávají všechny datasety, ke kterým má aktuální uživatel přístup.
* Ve výchozím lokálním režimu zůstávají zdrojová data a databáze na disku. Přepnutí na vzdálený LLM, embeddingy, databázi nebo cloudové konektory znamená, že data mohou opustit daný stroj.
* Soubor ''.env'' obsahuje klíče a cesty k úložištím. Nemá patřit do Git repozitáře.
* Cognee má ve výchozím stavu zapnutou anonymní telemetrii. Pro její vypnutí nastav ''TELEMETRY_DISABLED=true''.
* Při změně embedding modelu, jeho dimenze nebo databázového backendu je nutné postupovat podle dokumentace a před novou ingestí vyřešit existující data; jinak hrozí nekonzistentní index.
* U výchozích embedded databází nemá stejná data současně otevírat více procesů. Pro sdílený nebo víceprocesový provoz je vhodné nasadit externí backendy za jednou Cognee službou.
===== Zdroje =====
* [[https://github.com/topoteretes/cognee|Cognee – GitHub repository a README]]
* [[https://docs.cognee.ai/core-concepts/overview|Cognee – Core concepts]]
* [[https://docs.cognee.ai/getting-started/installation|Cognee – Installation]]
* [[https://docs.cognee.ai/core-concepts/main-operations/remember|Cognee – Remember]]
* [[https://docs.cognee.ai/core-concepts/main-operations/recall|Cognee – Recall]]
* [[https://docs.cognee.ai/setup-configuration/overview|Cognee – Setup configuration]]
* [[https://docs.cognee.ai/guides/local-setup|Cognee – Local setup]]
* [[https://docs.cognee.ai/cognee-mcp/mcp-overview|Cognee MCP – Overview]]