Access Denied (103) 【教程】零基础部署Cognee:给AI Agent装上永久记忆的知识图谱实战 - 技能分享 - 闲社 - Powered by Discuz! Archiver

dcs2000365 发表于 2026-6-22 17:55:13

【教程】零基础部署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


如果你部署过程中遇到问题,欢迎在楼下留言讨论!
页: [1]
查看完整版本: 【教程】零基础部署Cognee:给AI Agent装上永久记忆的知识图谱实战