项目介绍:Cognee
什么是 Cognee?
Cognee 是一个面向开发者的工具,帮助他们为人工智能应用程序构建一个可靠、可以投入生产的数据层。其主要功能在于实现可扩展且模块化的 ECL(提取、认知化、加载)流水线。这种流水线可以让用户互连并检索过去的对话、文档和音频记录,同时降低幻觉、开发者的工作量和成本。
用户可以在 Google Colab 中尝试 Cognee,也可以查看官方文档以了解更多信息。
安装指南
用户可以通过多种方式安装 Cognee,包括:
- 使用 pip:
pip install cognee
或pip install 'cognee[postgres]'
(以支持 PostgreSQL)。 - 使用 poetry:
poetry add cognee
或poetry add cognee -E postgres
(以支持 PostgreSQL)。
基本用法
-
设置环境:用户需要设置 API 密钥以支持不同的语言模型(LLM)提供商。可以通过代码直接设置或使用 .env 文件进行配置。
-
网络可视化:若要使用网络可视化功能,建议在 Graphistry 上创建账户并配置用户名和密码。
-
运行用户界面:如果需要运行 UI,用户可以进入 cognee-frontend 目录,执行
npm run dev
命令,或者通过 docker 容器运行docker-compose up
,并访问本地的 3000 端口。
简单示例
Cognee 提供了一个简单的示例,演示如何使用默认的流水线添加文本、创建知识图谱并搜索 insights。用户可以通过该示例快速体验 Cognee 的强大功能。
自行创建记忆存储
Cognee 框架由可以分组到流水线中的任务组成。每个任务都可以是一个独立的业务逻辑模块,可以与其他任务结合形成一个完整的流水线。这些任务将数据持久化到用户的记忆存储中,允许用户搜索过去对话、文档或其他数据的相关背景。
示例:文档分类
Cognee 提供了一个默认的认知化流水线示例,展示了如何将数据加入 metastore 和进行标准化,再通过任务完成文档分类。这些任务可以独立存在,用户可以根据自己的业务逻辑创建新的任务。
矢量检索、图形和 LLMs
Cognee 支持多种工具与服务进行不同操作:
- 模块化性质:Cognee 的任务分为不同的流水线,这使得其具有高度模块化的特性。
- 本地设置:默认情况下,LanceDB 本地运行,配合 NetworkX 和 OpenAI。
- 矢量存储:支持 LanceDB、Qdrant、PGVector 和 Weaviate。
- 语言模型(LLMs):支持 Anyscale 和 Ollama。
- 图形存储:支持 NetworkX 和 Neo4j。
- 用户管理:支持创建用户图表及权限管理。
演示
用户可以查看在线演示 notebook 或者观看介绍视频以更深入了解 Cognee 的使用。
入门指南
- 安装服务器:使用
docker compose up
命令启动服务器。 - 安装 SDK:
pip install cognee
安装软件开发工具包。
Cognee 是一个提供丰富功能的工具,使得开发者能够更轻松地管理和检索 AI 应用所需的数据层。用户可以通过丰富的文档和示例,快速掌握该工具的使用方法和工作原理。