闲社

标题: 【教程】零基础部署Cognee:给AI Agent装上永久记忆的知识图谱实战 [打印本页]

作者: dcs2000365    时间: 3 小时前
标题: 【教程】零基础部署Cognee:给AI Agent装上永久记忆的知识图谱实战
【教程】零基础部署Cognee:给AI Agent装上永久记忆的知识图谱实战

发布时间:2026-06-22 | 分类:技能教程 | 阅读约需8分钟

一、前言

最近GitHub Trending上有个项目叫 Cognee,号称是"开源AI记忆平台",能让你的AI Agent拥有跨会话的持久记忆。听起来很玄,实际用下来确实有点东西——它能把你喂给它的文档自动转成知识图谱,下次对话时Agent能直接"想起来"之前聊过什么。

今天这篇教程,手把手教你从零部署Cognee,让你的AI Agent告别"金鱼记忆"。

二、前置条件



三、安装步骤

步骤1:创建虚拟环境
  1. # 创建项目目录
  2. mkdir ~/cognee-demo && cd ~/cognee-demo
  3. # 创建虚拟环境(推荐uv,pip也行)
  4. python -m venv venv
  5. source venv/bin/activate  # Windows用: venv\Scripts\activate
复制代码

步骤2:安装Cognee
  1. # 方式一:用uv(最快)
  2. uv pip install cognee
  3. # 方式二:用pip
  4. pip install cognee
  5. # 方式三:用poetry
  6. poetry add cognee
复制代码

步骤3:配置环境变量
  1. # 创建.env文件
  2. cat > .env << 'EOF'
  3. LLM_API_KEY=sk-your-openai-api-key-here
  4. LLM_PROVIDER=openai
  5. LLM_MODEL=gpt-4o-mini
  6. EMBEDDING_PROVIDER=openai
  7. EMBEDDING_MODEL=text-embedding-3-small
  8. EOF
复制代码

也可以直接在代码里设置:
  1. import os
  2. os.environ["LLM_API_KEY"] = "sk-your-openai-api-key-here"
复制代码

步骤4:验证安装
  1. python -c "import cognee; print(cognee.__version__)"
复制代码

看到版本号说明安装成功。

四、核心实战:让AI记住你的文档

场景:构建一个"公司知识库"Agent

假设你有一堆产品文档、技术规范、会议纪要,想让AI Agent能随时调用这些知识。

步骤1:写入记忆(Ingest)
  1. import cognee
  2. import asyncio
  3. async def build_memory():
  4.     # 存入永久知识图谱
  5.     await cognee.remember(
  6.         "我们的产品是一款面向中小企业的智能客服系统,
  7.          核心功能包括:多渠道接入、自动回复、人工转接、数据分析。
  8.          技术栈:Python + FastAPI + PostgreSQL + Redis + React"
  9.     )
  10.    
  11.     # 再存一条
  12.     await cognee.remember(
  13.         "2026年Q2产品路线图:
  14.          1. 上线语音客服功能
  15.          2. 集成主流CRM系统
  16.          3. 推出AI辅助坐席功能"
  17.     )
  18.    
  19.     print("✅ 知识已存入记忆图谱")
  20. asyncio.run(build_memory())
复制代码

步骤2:查询记忆(Recall)
  1. async def query_memory():
  2.     # 自动选择最佳搜索策略(向量搜索 + 图谱推理)
  3.     results = await cognee.recall("我们产品的技术栈是什么?")
  4.    
  5.     for result in results:
  6.         print(f"📌 {result}")
  7. asyncio.run(query_memory())
复制代码

输出示例:
  1. 📌 技术栈:Python + FastAPI + PostgreSQL + Redis + React
  2. 📌 产品是一款面向中小企业的智能客服系统
复制代码

步骤3:会话隔离记忆

如果你想让不同用户的对话互不干扰,可以用session_id:
  1. async def session_memory():
  2.     # 用户A的偏好
  3.     await cognee.remember(
  4.         "用户喜欢简洁的回答,不需要过多解释",
  5.         session_id="user_a"
  6.     )
  7.    
  8.     # 用户B的偏好
  9.     await cognee.remember(
  10.         "用户是技术背景,需要详细的技术实现细节",
  11.         session_id="user_b"
  12.     )
  13.    
  14.     # 查询时带上session_id
  15.     results = await cognee.recall(
  16.         "用户的偏好是什么?",
  17.         session_id="user_a"
  18.     )
  19.     print(results)  # 只返回用户A的偏好
  20. asyncio.run(session_memory())
复制代码

步骤4:删除记忆(Forget)
  1. # 清空整个数据集
  2. await cognee.forget(dataset="main_dataset")
  3. # 或者删除特定会话的记忆
  4. await cognee.forget(session_id="user_a")
复制代码

五、进阶:批量文档处理

实际项目中,你不会一条条手动输入。Cognee支持直接读取文件:
  1. import cognee
  2. import asyncio
  3. async def ingest_files():
  4.     # 读取单个文件
  5.     await cognee.add("path/to/your/document.pdf")
  6.    
  7.     # 读取整个目录
  8.     await cognee.add("path/to/knowledge-base/")
  9.    
  10.     # 构建知识图谱(cognify = 认知化)
  11.     await cognee.cognify()
  12.    
  13.     print("✅ 文档已转为知识图谱")
  14. asyncio.run(ingest_files())
复制代码

支持的格式:PDF、TXT、Markdown、Word、CSV、JSON等。

六、常见问题

Q1:安装时报错"No module named 'cognee'"?
确保你在虚拟环境中,且Python版本在3.10-3.14之间。

Q2:API Key泄露风险?
建议用.env文件管理密钥,不要硬编码到代码里。Cognee支持多种LLM Provider,包括本地模型(Ollama、LM Studio)。

Q3:知识图谱占用空间大吗?
默认使用SQLite本地存储,一个1000页文档的知识图谱大约几十MB。支持PostgreSQL扩展。

Q4:查询速度慢?
首次构建知识图谱需要一些时间,但查询是毫秒级的。如果数据量大,建议用PostgreSQL替代SQLite。

Q5:支持中文吗?
完全支持。Cognee的向量嵌入和图谱推理对中文文档效果良好。

七、总结

Cognee的核心价值在于:


部署完成后,你的AI Agent就从一个"临时工"变成了"老员工"——不仅记得公司所有文档,还能根据历史对话调整回答风格。

相关资源:


如果你部署过程中遇到问题,欢迎在楼下留言讨论!




欢迎光临 闲社 (https://fzgmgmantis.xianshe.com/) Powered by Discuz! X5.0