闲社
标题:
【教程】零基础部署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告别"金鱼记忆"。
二、前置条件
Python 3.10 ~ 3.14(推荐3.11或3.12)
一个OpenAI API Key(或其他兼容的LLM Provider)
至少4GB可用内存(知识图谱构建时会占用较多内存)
基础命令行操作能力
三、安装步骤
步骤1:创建虚拟环境
# 创建项目目录
mkdir ~/cognee-demo && cd ~/cognee-demo
# 创建虚拟环境(推荐uv,pip也行)
python -m venv venv
source venv/bin/activate # Windows用: venv\Scripts\activate
复制代码
步骤2:安装Cognee
# 方式一:用uv(最快)
uv pip install cognee
# 方式二:用pip
pip install cognee
# 方式三:用poetry
poetry add cognee
复制代码
步骤3:配置环境变量
# 创建.env文件
cat > .env << 'EOF'
LLM_API_KEY=sk-your-openai-api-key-here
LLM_PROVIDER=openai
LLM_MODEL=gpt-4o-mini
EMBEDDING_PROVIDER=openai
EMBEDDING_MODEL=text-embedding-3-small
EOF
复制代码
也可以直接在代码里设置:
import os
os.environ["LLM_API_KEY"] = "sk-your-openai-api-key-here"
复制代码
步骤4:验证安装
python -c "import cognee; print(cognee.__version__)"
复制代码
看到版本号说明安装成功。
四、核心实战:让AI记住你的文档
场景:构建一个"公司知识库"Agent
假设你有一堆产品文档、技术规范、会议纪要,想让AI Agent能随时调用这些知识。
步骤1:写入记忆(Ingest)
import cognee
import asyncio
async def build_memory():
# 存入永久知识图谱
await cognee.remember(
"我们的产品是一款面向中小企业的智能客服系统,
核心功能包括:多渠道接入、自动回复、人工转接、数据分析。
技术栈:Python + FastAPI + PostgreSQL + Redis + React"
)
# 再存一条
await cognee.remember(
"2026年Q2产品路线图:
1. 上线语音客服功能
2. 集成主流CRM系统
3. 推出AI辅助坐席功能"
)
print("✅ 知识已存入记忆图谱")
asyncio.run(build_memory())
复制代码
步骤2:查询记忆(Recall)
async def query_memory():
# 自动选择最佳搜索策略(向量搜索 + 图谱推理)
results = await cognee.recall("我们产品的技术栈是什么?")
for result in results:
print(f"📌 {result}")
asyncio.run(query_memory())
复制代码
输出示例:
📌 技术栈:Python + FastAPI + PostgreSQL + Redis + React
📌 产品是一款面向中小企业的智能客服系统
复制代码
步骤3:会话隔离记忆
如果你想让不同用户的对话互不干扰,可以用session_id:
async def session_memory():
# 用户A的偏好
await cognee.remember(
"用户喜欢简洁的回答,不需要过多解释",
session_id="user_a"
)
# 用户B的偏好
await cognee.remember(
"用户是技术背景,需要详细的技术实现细节",
session_id="user_b"
)
# 查询时带上session_id
results = await cognee.recall(
"用户的偏好是什么?",
session_id="user_a"
)
print(results) # 只返回用户A的偏好
asyncio.run(session_memory())
复制代码
步骤4:删除记忆(Forget)
# 清空整个数据集
await cognee.forget(dataset="main_dataset")
# 或者删除特定会话的记忆
await cognee.forget(session_id="user_a")
复制代码
五、进阶:批量文档处理
实际项目中,你不会一条条手动输入。Cognee支持直接读取文件:
import cognee
import asyncio
async def ingest_files():
# 读取单个文件
await cognee.add("path/to/your/document.pdf")
# 读取整个目录
await cognee.add("path/to/knowledge-base/")
# 构建知识图谱(cognify = 认知化)
await cognee.cognify()
print("✅ 文档已转为知识图谱")
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的核心价值在于:
持久记忆
:Agent跨会话记住上下文,不用每次重复交代背景
知识图谱
:文档自动关联,查询时能"联想"到相关内容
本地优先
:数据不上云,隐私可控
开源免费
:Apache 2.0协议,可商用
部署完成后,你的AI Agent就从一个"临时工"变成了"老员工"——不仅记得公司所有文档,还能根据历史对话调整回答风格。
相关资源:
GitHub:
topoteretes/cognee
官方文档:
docs.cognee.ai
快速体验:
Colab Notebook
OpenClaw插件:
cognee-openclaw
如果你部署过程中遇到问题,欢迎在楼下留言讨论!
欢迎光临 闲社 (https://fzgmgmantis.xianshe.com/)
Powered by Discuz! X5.0