agentic_huge_data_base / wiki
页面 Cognee · 2 用户接口·DeepWiki 中文全文译文

2 · 用户接口(User Interfaces)

记忆管道与知识图谱构建 · 聚焦本章的模块关系、源码依据与实现要点。

项目Cognee 章节2 状态全文译文 模块测试、发布与运维、接口与服务契约、界面与交互、认证、权限与安全
源码线索
  • cognee/__init__.py
  • cognee/api/DTO.py
  • cognee/api/client.py
  • cognee/api/v1/add/routers/get_add_router.py
  • cognee/api/v1/cognify/routers/get_cognify_router.py
  • cognee/api/v1/datasets/routers/get_datasets_router.py
  • cognee/api/v1/delete/routers/get_delete_router.py
  • cognee/api/v1/memify/routers/get_memify_router.py
  • cognee/api/v1/permissions/routers/get_permissions_router.py
  • cognee/api/v1/responses/routers/get_responses_router.py
模块标签
  • 测试、发布与运维
  • 接口与服务契约
  • 界面与交互
  • 认证、权限与安全
  • 系统架构

章节正文

用户接口

用户界面

相关源文件

本章引用的主要源码文件:

  • cognee/__init__.py
  • cognee/api/DTO.py
  • cognee/api/client.py
  • cognee/api/v1/add/routers/get_add_router.py
  • cognee/api/v1/cognify/routers/get_cognify_router.py
  • cognee/api/v1/datasets/routers/get_datasets_router.py
  • cognee/api/v1/delete/routers/get_delete_router.py
  • cognee/api/v1/memify/routers/get_memify_router.py
  • cognee/api/v1/permissions/routers/get_permissions_router.py
  • cognee/api/v1/responses/routers/get_responses_router.py
  • cognee/api/v1/search/routers/get_search_router.py
  • cognee/api/v1/settings/routers/get_settings_router.py
  • cognee/api/v1/sync/routers/get_sync_router.py
  • cognee/api/v1/update/routers/get_update_router.py
  • cognee/api/v1/users/routers/get_visualize_router.py
  • cognee/api/v1/visualize/__init__.py
  • cognee/api/v1/visualize/visualize.py
  • cognee/shared/utils.py
  • cognee/tests/test_telemetry.py
  • cognee/tests/unit/processing/utils/utils_test.py

本文档概述了与 Cognee 交互的四种主要界面:Python API、命令行界面(CLI)、REST API 服务器和模型上下文协议(MCP)服务器。每种界面都提供了对 Cognee 核心功能(数据入库、知识图谱生成和搜索)的访问,但抽象级别和集成模式不同,适用于各种使用场景。

有关特定界面的详细文档,请参阅:

界面架构总览

Cognee 暴露了四种不同的用户界面,所有这些界面都汇聚到 cognee/api/v1/ 中定义的一组通用核心 API 函数上。这种架构使开发者能够选择最适合其工作流的集成模式,同时保持所有访问方法的功能一致性。

图示:用户界面架构和入口点

Cognee · 界面架构总览 · 图 1
Cognee · 界面架构总览 · 图 1

来源: cognee/__init__.py:21-36, cognee/api/client.py:115, cognee/api/client.py:18-50

界面对比

界面入口点使用场景认证方式部署模型
Python APIimport cognee直接 Python 集成、笔记本、脚本环境变量进程内
CLIcognee-cli命令行自动化、Shell 脚本环境变量本地可执行文件
REST APIHTTP 端点Web 应用程序、微服务、语言无关客户端JWT / API 密钥HTTP 服务器
MCP 服务器MCP 协议AI 代理(Claude Desktop、Cursor、Cline)stdio / SSE独立进程

来源: cognee/api/client.py:152-157, cognee/api/client.py:115, cognee/api/v1/users/routers/get_auth_router.py:1-50(通过 cognee/api/client.py:39 引用)

Python API

Python API 是程序化访问 Cognee 的主要界面。它通过 cognee/__init__.py 将所有核心函数暴露为可导入的 Python 模块,允许直接集成到 Python 应用程序中。所有函数都是异步的。

可用函数

下表列出了从 cognee/__init__.py:21-61 导出的核心函数:

函数导入路径用途
add()cognee.api.v1.add数据入库(文本、文件、URL)
cognify()cognee.api.v1.cognify知识图谱生成
search()cognee.api.v1.search支持 SearchType 枚举的多模态搜索
memify()cognee.modules.memify图谱丰富和记忆任务
visualize_graph()cognee.api.v1.visualize图谱可视化
sessioncognee.api.v1.session会话管理
remember()cognee.api.v1.rememberV2 面向记忆的存储
recall()cognee.api.v1.recallV2 面向记忆的检索
初始化和日志记录

Python API 在导入时通过 cognee/__init__.py:9-16 初始化环境配置和日志记录。这确保了在执行之前通过 dotenv.load_dotenv(override=True) 加载 .env 文件。

来源: cognee/__init__.py:1-65

命令行界面(CLI)

CLI 通过 cognee-cli 命令提供基于 Shell 的访问。它在内部包装了异步 Python API 函数,以实现同步的命令行执行。

基本用法
  • cognee-cli add <data>:入库数据。
  • cognee-cli cognify:将入库数据加工成知识图谱。
  • cognee-cli search "<query>":检索信息。
  • cognee-cli -ui:启动可视化服务器。

有关详细的 CLI 命令,请参阅 CLI 界面

REST 接口服务器

基于 FastAPI 的 REST API 服务器为所有核心 Cognee 操作提供 HTTP 端点。该服务器在 cognee/api/client.py 中实现,并支持 CORS 和认证等生产级功能。

服务器实现

FastAPI 应用程序实例在 cognee/api/client.py:115 处创建。它使用 lifespan 上下文管理器通过 run_startup_migrations() 运行启动迁移 cognee/api/client.py:75-99

路由器架构

服务器聚合了多个路由器来组织功能:

  • get_add_router():数据入库端点 cognee/api/v1/add/routers/get_add_router.py:25-134
  • get_cognify_router():图谱生成端点 cognee/api/v1/cognify/routers/get_cognify_router.py:71-174
  • get_search_router():检索端点 cognee/api/v1/search/routers/get_search_router.py:42-180
  • get_permissions_router():多租户访问控制 cognee/api/v1/permissions/routers/get_permissions_router.py:33-210
  • get_datasets_router():数据集管理 cognee/api/v1/datasets/routers/get_datasets_router.py:83-208
认证与安全

服务器支持多种安全方案 cognee/api/client.py:152-157

  • ApiKeyAuth:基于请求头的 X-Api-Key
  • BearerAuth:HTTP Bearer 令牌。

CORS 通过 CORSMiddleware 管理,使用 CORS_ALLOWED_ORIGINSUI_APP_URL 环境变量 cognee/api/client.py:119-135

有关完整的端点文档,请参阅 REST API 服务器

来源: cognee/api/client.py:1-195, cognee/run_migrations.py:1-50

面向 AI 代理的 MCP 服务器

模型上下文协议(MCP)服务器将 Cognee 的功能作为工具暴露给 AI 代理(例如,Claude、Cursor)。这允许代理通过在对话期间调用 Cognee 工具来“记住”信息。

MCP 工具映射

MCP 服务器将核心函数映射到工具:

  • add:映射到 cognee.add
  • cognify:映射到 cognee.cognify
  • search:映射到支持 SearchTypecognee.search
  • save_interaction:映射到交互跟踪。

有关全面的 MCP 服务器文档,请参阅 面向 AI 代理的 MCP 服务器

遥测与可观测性

Cognee 包含内置的遥测功能,用于跟踪 API 使用情况和系统性能。它使用存储在 ~/.cognee/.persistent_id 中的持久化 ID 来关联事件 cognee/shared/utils.py:76-104

图示:可观测性与遥测流程

Cognee · 遥测与可观测性 · 图 2
Cognee · 遥测与可观测性 · 图 2

遥测功能在主要端点中被调用,例如 POST /v1/cognify cognee/api/v1/cognify/routers/get_cognify_router.py:136-143POST /v1/search cognee/api/v1/search/routers/get_search_router.py:136-155

来源: cognee/api/v1/cognify/routers/get_cognify_router.py:85, cognee/api/v1/search/routers/get_search_router.py:106, cognee/shared/utils.py:176-190

后续步骤