AI Infra:Cognee,5行代码为AI智能体构建记忆系统
一、项目简介
Cognee 是一个面向 AI 代理的轻量级记忆管理库,旨在用不到 5 行代码即可为您的代理构建动态记忆,实现比传统 RAG 更可扩展、更模块化的 ECL(Extract, Cognify, Load)管道。
通过将过去的对话、文档、图片和音频转录统一加载到知识图谱或向量数据库中,Cognee 能让您的智能体高效检索历史信息,从而提升对话连贯性与决策质量
二、核心特性
- 多源数据接入:支持从对话记录、文档、图片、音频等 30+ 数据源提取信息
- 替代 RAG:自动构建知识图谱并以图数据库或向量数据库存储,免去手动拼接检索流程
- 简洁 API:仅需
cognee.add()
、cognee.cognify()
、cognee.search()
三行异步调用即可完成记忆加载与查询 - 灵活可扩展:基于 Pydantic 定义的管道步骤,用户可自定义抽取(Extract)、认知(Cognify)、加载(Load)流程
- 可视化界面:配备独立的 Cognee UI,支持本地运行或 SaaS 平台使用,便于交互式探索与调试
三、快速开始
3.1. 安装
pip install cognee
Cognee 支持 Python 3.8–3.12,并可通过 Poetry 或 UV 安装所有可选依赖:
uv sync --all-extras
``` :contentReference[oaicite:2]{index=2}
3.2. 环境配置
设置您的 LLM 服务密钥:
import os
os.environ["LLM_API_KEY"] = "YOUR_OPENAI_API_KEY"
``` :contentReference[oaicite:3]{index=3}
3.3. 示例代码
import cognee, asyncio
async def main():
# 添加文本到记忆库
await cognee.add("自然语言处理(NLP)是一门跨学科领域,研究计算机与人类语言的相互作用。")
# 构建知识图谱
await cognee.cognify()
# 查询知识图谱
results = await cognee.search("什么是 NLP?")
for r in results:
print(r)
if __name__ == "__main__":
asyncio.run(main())
``` :contentReference[oaicite:4]{index=4}
四、可视化界面 & 架构
- Cognee UI:通过 Web 界面快速上传文件、执行认知管道并交互式查询,无需编写代码
- 架构图:采用 ECL 流程,将“抽取”“认知”“加载”步骤模块化,易于定制与水平扩展
五、生态与文档
- 在线文档:详见 docs.cognee.ai
- 示例 Notebooks:提供 Google Colab、Deepnote 示例,助您快速上手
- 社区资源:官方 Demo(YouTube)、Discord、Reddit r/AIMemory 等
六、许可证与贡献
- 许可证:Apache‑2.0