agentic_huge_data_base / wiki
页面 Cognee · 13 接口参考·DeepWiki 中文全文译文

13 · 接口参考(API Reference)

记忆管道与知识图谱构建 · 本章是 Cognee DeepWiki 中文译文的独立章节页,保留原始链接、源码锚点、模块标签和章节层级。

项目Cognee 章节13 状态全文译文 模块测试、发布与运维、接口与服务契约、认证、权限与安全、检索、召回与索引
源码线索
  • 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
模块标签
  • 测试、发布与运维
  • 接口与服务契约
  • 认证、权限与安全
  • 检索、召回与索引
  • 界面与交互

中文译文

接口参考(中文译文)

原始 DeepWiki 页面:https://deepwiki.com/topoteretes/cognee/13-api-reference
翻译时间:2026-05-27T08:45:28.515Z
翻译模型:deepseek-chat
原文字符数:15567
项目:Cognee (cognee)

---

API 参考

相关源文件

以下文件用于生成此维基页面:

  • 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 API 架构及其接口。它描述了 REST API 端点、Python SDK 函数、请求/响应模型以及认证机制,这些组件共同实现了与 Cognee 知识图谱平台的交互。

有关详细的端点规范,请参见 REST API 端点。有关 Python 函数签名,请参见 Python API 完整参考。有关数据库集成细节,请参见 数据库适配器接口。有关 MCP 协议集成,请参见 MCP 协议参考

---

API 架构总览

Cognee 提供三种主要的 API 接口:基于 FastAPI 的 REST API、用于直接库集成的 Python SDK,以及用于 AI 助手集成的 MCP 服务器。所有接口共享相同的认证机制、数据模型和后端服务。

API 层组织
graph TB
    subgraph "客户端接口"
        RestClient["REST API 客户端<br/>(HTTP/HTTPS)"]
        PythonClient["Python SDK<br/>(cognee.add/cognify/search)"]
        MCPClient["MCP 客户端<br/>(Claude, Cursor)"]
    end

    subgraph "API 层"
        FastAPIServer["FastAPI 服务器<br/>(cognee/api/client.py)"]
        PythonAPI["Python API 函数<br/>(cognee/__init__.py)"]
        MCPServer["MCP 服务器<br/>(FastMCP)"]
    end

    subgraph "路由层"
        AddRouter["添加路由<br/>(get_add_router.py)"]
        CognifyRouter["认知化路由<br/>(get_cognify_router.py)"]
        SearchRouter["搜索路由<br/>(get_search_router.py)"]
        DatasetsRouter["数据集路由<br/>(get_datasets_router.py)"]
        PermissionsRouter["权限路由<br/>(get_permissions_router.py)"]
        SettingsRouter["设置路由<br/>(get_settings_router.py)"]
        DeleteRouter["删除路由<br/>(get_delete_router.py)"]
        VisualizeRouter["可视化路由<br/>(get_visualize_router.py)"]
    end

    subgraph "核心服务"
        AuthService["认证<br/>(get_authenticated_user)"]
        DTOLayer["DTO 模型<br/>(InDTO, OutDTO)"]
        TelemetryService["遥测<br/>(send_telemetry)"]
    end

    subgraph "后端"
        CorePipeline["核心处理<br/>(cognify, add, search)"]
        Database["数据库层<br/>(关系型、向量、图)"]
    end

    RestClient --> FastAPIServer
    PythonClient --> PythonAPI
    MCPClient --> MCPServer

    FastAPIServer --> AddRouter
    FastAPIServer --> CognifyRouter
    FastAPIServer --> SearchRouter
    FastAPIServer --> DatasetsRouter
    FastAPIServer --> PermissionsRouter
    FastAPIServer --> SettingsRouter
    FastAPIServer --> DeleteRouter
    FastAPIServer --> VisualizeRouter

    PythonAPI --> CorePipeline
    MCPServer --> CorePipeline

    AddRouter --> AuthService
    CognifyRouter --> AuthService
    SearchRouter --> AuthService

    AddRouter --> DTOLayer
    CognifyRouter --> DTOLayer
    SearchRouter --> DTOLayer

    AddRouter --> TelemetryService
    CognifyRouter --> TelemetryService

    AddRouter --> CorePipeline
    CognifyRouter --> CorePipeline
    SearchRouter --> CorePipeline
    DatasetsRouter --> CorePipeline

    CorePipeline --> Database

来源: cognee/__init__.py:18-65, cognee/api/client.py:18-50, cognee/api/v1/add/routers/get_add_router.py:25-47, cognee/api/v1/cognify/routers/get_cognify_router.py:71-85, cognee/api/v1/search/routers/get_search_router.py:42-106

---

REST 接口结构

REST API 基于 FastAPI 构建,采用模块化路由架构。每个功能区域都有独立的路由模块来处理相关端点。

路由组织
graph TB
    subgraph "FastAPI 应用"
        Server["FastAPI 服务器<br/>(cognee/api/client.py)"]
    end

    subgraph "认证层"
        JWTAuth["JWT 认证<br/>(DefaultJWTStrategy)"]
        UserAuth["get_authenticated_user<br/>(依赖注入)"]
        ApiKeyAuth["X-Api-Key 请求头"]
    end

    subgraph "路由模块"
        AddEndpoints["/v1/add<br/>POST /add"]
        CognifyEndpoints["/v1/cognify<br/>POST /cognify"]
        SearchEndpoints["/v1/search<br/>GET /search<br/>POST /search"]
        DatasetEndpoints["/v1/datasets<br/>GET /datasets<br/>POST /datasets<br/>DELETE /datasets/{id}"]
        PermEndpoints["/v1/permissions<br/>POST /datasets/{id}<br/>POST /roles<br/>POST /users/{id}/roles"]
        UpdateEndpoints["/v1/update<br/>PATCH /update"]
        DeleteEndpoints["/v1/delete<br/>DELETE /delete"]
        MemifyEndpoints["/v1/memify<br/>POST /memify"]
    end

    subgraph "请求/响应模型"
        InDTO["InDTO<br/>(cognee/api/DTO.py)"]
        OutDTO["OutDTO<br/>(cognee/api/DTO.py)"]
        Payloads["载荷 DTO<br/>(CognifyPayloadDTO<br/>SearchPayloadDTO)"]
    end

    subgraph "遥测与日志"
        Telemetry["send_telemetry<br/>(cognee/shared/utils.py)"]
        Logger["setup_logging<br/>(cognee/shared/logging_utils.py)"]
    end

    Server --> AddEndpoints
    Server --> CognifyEndpoints
    Server --> SearchEndpoints
    Server --> DatasetEndpoints
    Server --> PermEndpoints
    Server --> UpdateEndpoints
    Server --> DeleteEndpoints
    Server --> MemifyEndpoints

    AddEndpoints --> UserAuth
    CognifyEndpoints --> UserAuth
    SearchEndpoints --> UserAuth

    UserAuth --> JWTAuth
    UserAuth --> ApiKeyAuth

    AddEndpoints --> Payloads
    CognifyEndpoints --> Payloads
    SearchEndpoints --> Payloads

    Payloads --> InDTO
    Payloads --> OutDTO

    AddEndpoints --> Telemetry
    CognifyEndpoints --> Telemetry
    SearchEndpoints --> Telemetry

    AddEndpoints --> Logger
    CognifyEndpoints --> Logger

来源: cognee/api/client.py:18-50, cognee/api/v1/add/routers/get_add_router.py:25-134, cognee/api/v1/cognify/routers/get_cognify_router.py:71-135, cognee/api/v1/search/routers/get_search_router.py:42-106, cognee/api/v1/datasets/routers/get_datasets_router.py:83-210, cognee/api/v1/permissions/routers/get_permissions_router.py:33-176

核心 REST 端点
路由路径方法用途
添加路由/v1/addPOST将文件、URL、GitHub 仓库入库到数据集中
认知化路由/v1/cognifyPOST将数据集转换为知识图谱
搜索路由/v1/searchGET, POST查询知识图谱和搜索历史
数据集路由/v1/datasetsGET, POST, DELETE管理数据集并检索元数据
权限路由/v1/permissionsPOST通过角色、租户和数据集权限控制访问
记忆化路由/v1/memifyPOST运行图谱丰富和提取任务
更新路由/v1/updatePATCH更新数据集中的现有文档
删除路由/v1/deleteDELETE按 ID 删除数据(已废弃,推荐使用数据集级别的删除)

来源: cognee/api/v1/add/routers/get_add_router.py:39-82, cognee/api/v1/cognify/routers/get_cognify_router.py:74-135, cognee/api/v1/search/routers/get_search_router.py:106-135, cognee/api/v1/datasets/routers/get_datasets_router.py:86-191, cognee/api/v1/delete/routers/get_delete_router.py:19-43

---

Python SDK 函数

Python SDK 提供了从 cognee/__init__.py 导出的高级函数,用于直接库集成。

Python API 函数参考
graph LR
    subgraph "数据入库"
        add["add(data, dataset_name, user)"]
        update["update(data_id, data, dataset_id)"]
    end

    subgraph "知识图谱生成"
        cognify["cognify(datasets, user)"]
        memify["memify(extraction_tasks, enrichment_tasks)"]
    end

    subgraph "查询与检索"
        search["search(query_text, query_type)"]
        recall["recall(text)"]
        remember["remember(text)"]
    end

    subgraph "管理"
        delete["delete(data_id, dataset_id)"]
        prune["prune()"]
        forget["forget(text)"]
    end

    subgraph "可观测性"
        enable_tracing["enable_tracing()"]
        get_last_trace["get_last_trace()"]
    end

    subgraph "可视化"
        visualize_graph["visualize_graph(path)"]
        start_ui["start_ui()"]
    end

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

关键 Python 函数
函数用途返回值
add(data, dataset_name, user, dataset_id, node_set)将数据入库到数据集中管线运行信息
cognify(datasets, user, ...)将数据集处理为知识图谱运行结果
search(query_text, query_type, user, ...)查询知识图谱搜索结果
memify(extraction_tasks, enrichment_tasks, data, ...)执行图谱丰富管线管线结果
remember(text)高级内存存储RememberResult
recall(text)高级内存检索上下文数据
visualize_graph(destination_file_path)生成图谱可视化HTML 字符串

来源: cognee/__init__.py:21-65, cognee/api/v1/visualize/visualize.py:17-30

---

请求/响应模型

Cognee 使用 Pydantic 模型进行请求校验和响应序列化。

DTO 层次结构
graph TB
    subgraph "基础模型"
        InDTO["InDTO<br/>(cognee/api/DTO.py)"]
        OutDTO["OutDTO<br/>(cognee/api/DTO.py)"]
    end

    subgraph "请求模型 (InDTO)"
        CognifyPayloadDTO["CognifyPayloadDTO<br/>datasets: List[str]<br/>run_in_background: bool<br/>custom_prompt: str"]
        SearchPayloadDTO["SearchPayloadDTO<br/>search_type: SearchType<br/>query: str<br/>top_k: int"]
        SelectTenantDTO["SelectTenantDTO<br/>tenant_id: UUID"]
    end

    subgraph "响应模型 (OutDTO)"
        DatasetDTO["DatasetDTO<br/>id: UUID<br/>name: str<br/>owner_id: UUID"]
        DataDTO["DataDTO<br/>id: UUID<br/>name: str<br/>dataset_id: UUID"]
        GraphDTO["GraphDTO<br/>nodes: List[GraphNodeDTO]<br/>edges: List[GraphEdgeDTO]"]
    end

    InDTO --> CognifyPayloadDTO
    InDTO --> SearchPayloadDTO
    InDTO --> SelectTenantDTO

    OutDTO --> DatasetDTO
    OutDTO --> DataDTO
    OutDTO --> GraphDTO

来源: cognee/api/v1/cognify/routers/get_cognify_router.py:41-68, cognee/api/v1/search/routers/get_search_router.py:25-40, cognee/api/v1/datasets/routers/get_datasets_router.py:37-73, cognee/api/v1/permissions/routers/get_permissions_router.py:29-31

---

认证与授权

API 使用 FastAPI Users 进行管理,并支持 Bearer 令牌和 API 密钥认证。

认证实现
sequenceDiagram
    participant 客户端
    participant 路由["API 路由"]
    participant 认证["get_authenticated_user"]
    participant 用户数据库["用户数据库"]

    客户端->>路由: 请求 + X-Api-Key/Bearer
    路由->>认证: 依赖注入(get_authenticated_user)
    认证->>用户数据库: 校验凭证
    用户数据库-->>认证: 用户上下文
    认证-->>路由: 已认证用户
    路由->>路由: 处理请求
    路由-->>客户端: JSON 响应

来源: cognee/api/client.py:140-176, cognee/api/v1/cognify/routers/get_cognify_router.py:85, cognee/api/v1/permissions/routers/get_permissions_router.py:41

权限范围

通过 authorized_give_permission_on_datasets 方法和基于租户的角色来实施访问控制。

权限描述
read检索数据集和搜索图谱
write添加和认知化数据
delete删除数据集或数据点
share向其他主体授予权限

来源: cognee/api/v1/permissions/routers/get_permissions_router.py:36-87, cognee/api/v1/datasets/routers/get_datasets_router.py:193-210

---

遥测与可观测性

Cognee 实现了使用遥测和结构化日志。

遥测实现

遥测数据会发送到中央代理以进行使用分析。每个事件都会发送三个身份层:anonymous_idpersistent_iduser_id

函数用途
send_telemetry()发送产品遥测事件,包含经过消毒的属性
get_anonymous_id()检索基于项目根目录的 ID,用于向后兼容
get_persistent_id()检索稳定的机器级 ID,在重新安装后仍然保留
_sanitize_nested_properties()使用 UUID5 对敏感属性(如 URL)进行哈希处理

来源: cognee/shared/utils.py:49-105, cognee/shared/utils.py:176-216

追踪

Cognee 提供了追踪函数来监控执行流程和性能。

函数用途
enable_tracing()启用 OpenTelemetry 追踪
disable_tracing()禁用追踪
get_last_trace()检索最近的执行追踪
get_all_traces()检索所有存储的追踪

来源: cognee/__init__.py:52-58

---

总结

Cognee API 提供了以下功能:

  1. RESTful 端点,基于 FastAPI 实现多租户知识图谱管理。
  2. Python SDK,用于无缝集成到 AI 智能体工作流中。
  3. 结构化数据模型(DTO),确保请求/响应处理的一致性。
  4. 基于角色的访问控制,保障多用户环境的安全性。
  5. 强大的可观测性,通过集成的追踪和遥测实现。

有关实现细节,请参见 Python API 完整参考REST API 端点