
Cognee 入门指南用 ECL 流水线为 AI 智能体构建持久化知识图谱记忆【免费下载链接】cogneeCognee is the open-source AI memory platform for agents. Give your AI agents persistent long-term memory across sessions with a self-hosted knowledge graph engine.项目地址: https://gitcode.com/GitHub_Trending/co/cogneeCognee 是一款面向 AI 智能体的开源记忆平台通过自托管的知识图谱引擎为 LLM 与 Agent 提供跨会话的持久化长期记忆。本文以社区俄文版说明文档assets/community/README.ru.md为核心骨架结合仓库源码与配置逐层展开带读者从零完成 Cognee 的安装、配置、数据注入、知识图谱生成与语义检索并深入 ECLExtract → Cognify → Load流水线的内部实现掌握在真实项目中落地 AI 记忆层所需的完整技术方案。Cognee 是什么为智能体提供动态记忆层Cognee 的定位不是普通的向量数据库或 RAG 工具而是一套完整的AI 记忆平台它把历史对话、文档、图片、音频转录等异构数据接入系统经过抽取、认知加工与装载三个阶段构建出持续演化的知识图谱并以此显著提升 LLM 与 AI 智能体回答的准确性和可靠性。文档开篇即给出了这一核心价值主张Cognee - это платформа для управления памятью ИИ, предназначенная для повышения точности и надежности ответов больших языковых моделей (LLM) и ИИ-агентов.Cognee 是用于管理 AI 记忆的平台旨在提升大语言模型与 AI 智能体回答的准确性和可靠性。其技术内核是一个可扩展、模块化的ECL 流水线Extract → Cognify → Load即抽取 → 认知 → 装载Extract抽取把原始数据解析、清洗并结构化为后续加工做准备Cognify认知利用 LLM 从文本中抽取实体与关系生成知识图谱Load装载将节点、边与向量持久化到图数据库与向量数据库。这一概念在源码中有直接对应cognee/api/v1/cognify/cognify.py中get_default_tasks()构建的默认任务链即按三个阶段的注释明确划分——classify_documentsEXTRACT、extract_chunks_from_documentsEXTRACT、extract_graph_and_summarizeCOGNIFY、add_data_pointsLOAD并可选追加溯源账本record_provenance与矛盾检测detect_contradictions等增强任务。核心功能特性社区文档列出的功能点对应着 Cognee 的核心能力矩阵数据集成与抽取可接入并检索过去的对话、文档、图片和音频转录覆盖多样化信息来源降低幻觉与成本通过图谱化的上下文显著减少不可靠回答的产生同时降低 AI 应用的开发与运维成本仅用 Pydantic 完成数据装载只需 Pydantic 模型即可将数据加载到图数据库与向量数据库简化集成过程cognee/low_level.py中DataPoint即继承自cognee.infrastructure.engine.ExtendableDataPoint正是自定义图模型的基类数据转换与组织可从 30 多个数据源PDF、表格等摄取并结构化数据模块化 ECL 流水线Extract / Cognify / Load 三阶段解耦保证系统灵活性与可扩展性基于 RDF 的 Ontology 支持利用 RDF 本体实现更智能的数据管理与语义理解.env.template中的ONTOLOGY_RESOLVERrdflib、MATCHING_STRATEGYfuzzy、ONTOLOGY_FILE_PATH即为其配置入口本地部署与可扩展性可在自有服务器上部署保障数据安全与隐私合规并能扩展以处理大规模数据。架构总览整个系统的设计理念可以概括为一端接入多模态、多来源的数据另一端输出可供 Agent 检索的图谱化记忆。仓库中提供了概念架构图从仓库源码结构看这一架构落地为多个职责清晰的子系统ingestion 与 loaderscognee/modules/ingestion 与 cognee/infrastructure/loaders 负责多格式数据解析文本、PDF、图片 OCR、音视频转录等LLM 网关cognee/infrastructure/llm/LLMGateway.py 统一管理实体抽取、摘要等 LLM 调用三类数据库抽象cognee/infrastructure/databases 下分别有graph图库、vector向量库、relational关系库与unified统一入口实现检索层cognee/modules/retrieval 与 cognee/modules/search 支撑多模式搜索。安装文档明确说明可以使用pip、poetry、uv或任意 Python 包管理器安装 Cognee。以 pip 为例pip install cognee仓库根目录的 pyproject.toml 与 poetry.lock 定义了完整的依赖集合使用 poetry 时执行poetry add cognee即可。官方 READMEREADME.md补充了运行前提Python 3.10 至 3.14。如需按功能裁剪安装如 Turso、OCR、tracing 等扩展可参考 .env.template 中标注的pip install cognee[turso]、pip install cognee[rapidocr]等可选依赖写法。环境配置Cognee 的配置通过环境变量完成最核心的一条是 LLM API Key。文档给出的最小化设置是import os os.environ[LLM_API_KEY] ВАШ_OPENAI_API_KEY # 替换为你的 OpenAI API Key更推荐的方式是创建.env文件使用仓库根目录的 .env.template 模板将变量填入后 Cognee 会在导入时自动加载见 cognee/init.py 中的dotenv.load_dotenv(overrideTrue)。.env.template采用四级分层结构除LLM_API_KEY外最常用的覆盖项包括变量默认值说明LLM_PROVIDERopenaiLLM 提供商可切换为ollama、azure、customOpenRouter/DeepInfra等LLM_MODELopenai/gpt-5-mini使用的模型标识EMBEDDING_PROVIDERopenai嵌入模型提供商EMBEDDING_MODELopenai/text-embedding-3-large嵌入模型DB_PROVIDERsqlite关系数据库默认 SQLite零配置文件库GRAPH_DATABASE_PROVIDERkuzu图数据库可切换neo4j、kuzu-remote、tursoVECTOR_DB_PROVIDERlancedb向量数据库可切换pgvector、tursoENABLE_BACKEND_ACCESS_CONTROLTrue多租户模式开关按用户 数据集隔离数据库并要求认证LOG_LEVELINFO控制台日志级别DEBUG/INFO/WARNING/ERROR/CRITICAL模板底部还提供了完整的提供商切换范例例如使用本地 OllamaLLM_API_KEYollama LLM_MODELllama3.1:8b LLM_PROVIDERollama LLM_ENDPOINThttp://localhost:11434/v1 EMBEDDING_PROVIDERollama EMBEDDING_MODELnomic-embed-text:latest EMBEDDING_ENDPOINThttp://localhost:11434/api/embed EMBEDDING_DIMENSIONS768默认的 SQLite LanceDB Kuzu 三件套均为文件型存储、无需任何外部服务因此只需配置好 LLM API Key 即可本地运行完整流程。快速上手add → cognify → search 三步走社区文档提供了一个标准流水线示例——这也是 Cognee 最经典的入门用法先注入文本再生成知识图谱最后语义检索。完整脚本如下import cognee import asyncio async def main(): # 1. 向 cognee 添加文本 await cognee.add(Обработка естественного языка (NLP) - это междисциплинарная область компьютерных наук и информационного поиска.) # 2. 生成知识图谱 await cognee.cognify() # 3. 执行检索 results await cognee.search(Расскажите мне о NLP) # 4. 展示结果 for result in results: print(result) if __name__ __main__: asyncio.run(main())示例输出俄语版文档中的原始结果Обработка естественного языка (NLP) — это междисциплинарная область, которая объединяет компьютерные науки и информационный поиск. Она включает в себя технологии и методы обработки человеческого языка для создания интерфейсов и обработки данных.三个 API 全部由 cognee/init.py 统一导出from .api.v1.add import add、from .api.v1.cognify import cognify、from .api.v1.search import SearchType, search。它们背后的执行链路正是 ECL 流水线的工程化实现。源码级解析三个核心 API 的底层原理cognee.add()接入任意格式的数据add的实现位于 cognee/api/v1/add/add.py其函数签名揭示出它支持极其宽泛的输入类型纯文本字符串不以/或file://开头的字符串被直接当作文本内容本地文件路径绝对路径/path/to/document.pdf、文件 URLfile:///path/to/document.pdf、S3 路径s3://bucket/path/file.pdf二进制文件对象open(file.txt, rb)列表一次调用混合传入多个文件与文本网页 URL可配合extraction_rulesCSS 选择器或tavily_config、soup_crawler_config指定抓取方式。支持的文件格式覆盖.txt/.md/.csv、.pdf、图片.png/.jpg/.jpeg经 OCR/视觉模型抽取、音频.mp3/.wav转录为文本、代码文件.py/.js/.ts等解析结构与内容以及 Office 文档.docx/.pptx。从实现上看add内部依次完成数据源解析resolve_data_directories→ 内容抽取与落库ingest_data→ 数据集权限绑定resolve_authorized_user_dataset→ 以add_pipeline名义执行流水线。默认数据集名为main_dataset可通过dataset_name参数拆分多个知识域。cognee.cognify()把文本加工成知识图谱cognify是 Cognee 的核心加工步骤实现在 cognee/api/v1/cognify/cognify.py。其默认任务链get_default_tasks完整对应 ECL 三阶段EXTRACTclassify_documents识别文档类型 →extract_chunks_from_documents按语义切分文本块默认使用段落式TextChunkerchunk 大小由 LLM 上下文自动计算min(embedding_max_completion_tokens, llm_max_completion_tokens // 2)COGNIFYextract_graph_and_summarize调用 LLM 抽取实体与关系、并为每个文本块生成摘要LOADadd_data_points把节点、边与向量批量写入图库与向量库。可选增强项包括record_provenance溯源账本逐条记录本次摄取产出的文档/块/实体/关系、detect_contradictions矛盾检测将新事实与图谱已有事实对比并标记contradicts边、resolve_temporal_contradictions对单值关系按时间先后标记 superseded。三者默认关闭可通过 cognify 配置项开启。此外cognify还支持graph_model自定义 Pydantic 图模型继承DataPoint用于领域定制ontology_file_path接入 OWL 本体约束抽取temporal_cognifyTrue切换为时间感知流水线额外执行事件与时间戳抽取run_in_backgroundTrue大文件100MB推荐后台异步执行用pipeline_run_id跟踪进度dry_runTrue不调用 LLM、不写库仅估算 token 用量与成本。cognee.search()多模式语义检索search实现于 cognee/api/v1/search/search.py默认query_type为SearchType.HYBRID_COMPLETION。文档示例展示的是最常用的问答场景而源码揭示了丰富的检索模式SearchType用途GRAPH_COMPLETION基于图谱上下文 LLM 推理的自然语言问答复杂问题、分析、洞察RAG_COMPLETION传统 RAG仅用文档块检索直接查证具体事实CHUNKS纯向量相似度返回匹配文本块最快无 LLMSUMMARIES返回预生成的内容摘要CODE对代码图谱执行确定性的结构化查询与图遍历CYPHER直接以 Cypher 语法查询图数据库FEELING_LUCKY自动选择最合适的检索模式CHUNKS_LEXICALBM25 风格的词法级块检索AGENTIC_COMPLETION加载技能skills与工具tools的智能体式检索常用调优参数包括top_k默认 15上限 100、datasets限定检索范围以提升速度与相关性、node_name按实体名过滤以及system_prompt_path自定义回答提示词默认answer_simple_question.txt。检索前置条件是已通过addcognify完成数据加工。图形可视化让记忆变得可见知识图谱构建完成后可以像文档展示的那样把结果可视化。仓库的社区目录中提供了俄文版文档配套的图谱可视化示例图可视化能力由 cognee/api/v1/visualize 与 cognee/modules/visualization含浏览器端 JS/HTML 渲染实现提供可通过cognee.visualize_graph(...)与cognee.start_visualization_server(...)等 API 调用。图形化界面有助于理解实体间的关联结构也是调试图谱质量、向非技术成员展示系统的直观手段。本地部署与规模化由于默认存储全部为文件型SQLite/LanceDB/KuzuCognee 天然支持单机零依赖部署满足数据不出内网的安全与隐私要求。当数据规模增长或需要多用户共享时可通过.env.template平滑升级关系库切换 PostgresDB_PROVIDERpostgresDB_HOST/DB_PORT/DB_USERNAME/DB_PASSWORD/DB_NAME图库切换 Neo4jGRAPH_DATABASE_PROVIDERneo4jGRAPH_DATABASE_URLbolt://localhost:7687等连接参数向量库切换 pgvectorVECTOR_DB_PROVIDERpgvector多租户隔离保持ENABLE_BACKEND_ACCESS_CONTROLTrue系统会为每个用户 数据集创建独立数据库/模式实现数据层面的强隔离。规模化并发场景还可调整DATABASE_MAX_LRU_CACHE_SIZE引擎实例 LRU 缓存上限与DATASET_QUEUE_MAX_CONCURRENT并发数据集处理槽位来防止资源耗尽。更进一步从示例到生产仓库内提供了大量可直接运行的参考材料完整示例脚本examples/guides/simple_cognee_example.py、examples/guides/recall_core.py、examples/guides/ontology_quickstart.py高级用法examples/guides/sessions.py会话持久化、examples/guides/memory_provenance.py溯源、examples/guides/local_ollama_example.py本地模型端到端测试仓库根目录与 cognee/tests 下分布着test_load.py、test_search_db.py、test_custom_graph_model等用例可作为 API 行为的可执行文档使用场景清单catalog/entries/use-cases 收录了 agent-memory、document-qa、temporal-reasoning 等典型场景的 YAML 配置。结语Cognee 的社区俄文文档给出了一个清晰的最小闭环注入数据add→ 构建图谱cognify→ 语义检索search而仓库源码则揭示了这背后模块化 ECL 流水线的完整工程实现。无论是为 Agent 构建跨会话持久记忆、用 GraphRAG 提升回答准确率还是以 RDF 本体约束领域语义Cognee 都提供了开箱即用、可本地自托管、可平滑扩展的落地方案。建议读者以本文的示例为起点结合 examples 目录中的实战脚本逐步深入。【免费下载链接】cogneeCognee is the open-source AI memory platform for agents. Give your AI agents persistent long-term memory across sessions with a self-hosted knowledge graph engine.项目地址: https://gitcode.com/GitHub_Trending/co/cognee创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考