跳转至

SAGE Middleware 概览

SAGE Middleware 是一个模块化、高性能的中间件层,为SAGE推理框架提供核心基础设施支持。它采用分层架构设计,提供向量增强、流数据处理、神经记忆管理与复杂数据处理能力,兼顾效果、效率和效能。

架构概述

flowchart TB
  App["应用层 (App)"]
  subgraph MW["SAGE Middleware"]
    direction TB
    subgraph API[API 层]
      SvcAPI[Service 调用接口]
      ComputeAPI[Compute API]
    end
    subgraph Services[服务层]
      Memory[Memory Service]
      SageDBSvc["SAGE-DB Service"]
      Other[其他服务]
    end
    subgraph Components[组件层]
      SageDB["SAGE-DB"]
      NeuroMem[NeuroMem]
      Vector[流式向量引擎]
    end
    subgraph HW[硬件层]
      GPU[GPU 加速]
      CXL[CXL 内存]
      Affinity[硬件亲和计算]
    end
  end
  Kernel["内核层 (Kernel)"]
  App --> MW --> Kernel

核心特性

🔌 模块化设计

  • 服务解耦:每个服务都是独立的微服务,基于 BaseService 实现
  • 灵活组合:服务可以独立部署、测试和扩展
  • 统一接口:通过标准化 API 接口进行服务交互(call_service/call_service_async)

⚡ 高性能处理

  • 异步通信:基于 SAGE 内核的高性能队列机制
  • 并发处理:支持多线程和分布式处理
  • 资源优化:智能资源分配和硬件加速

🧠 智能记忆

  • 多模态存储:支持键值、向量、图等多种数据结构
  • 记忆编排:高级记忆管理和智能检索
  • 长期记忆:持久化神经记忆存储

🌐 分布式支持

  • Ray 集成:原生支持 Ray 分布式计算
  • 服务发现:自动服务注册和发现
  • 负载均衡:智能负载分配和故障恢复

设计理念

1) 抽象与实现分离 - 抽象服务接口:通过 BaseFunction/BaseService 的 call_service 访问服务 - 计算接口:如 SAGE Flow 提供可编程接口

2) 服务编排模式 - 基础服务:KV、VDB、Graph 等提供底层存储能力 - 编排服务:Memory Service 等协调基础服务提供高级功能

3) 硬件亲和优化 - GPU 加速:向量相似度计算优化 - CXL 内存:大容量内存后端支持 - 专用后端:为不同硬件提供最优计算后端

核心组件

  • API 层:Service 调用接口(BaseFunction/BaseService 的 call_service/call_service_async)
  • 服务层:Memory Service、SAGE-DB Service 等
  • 组件层:SAGE-DB、NeuroMem 等
  • 硬件层:GPU 加速、CXL 内存

使用场景

  • 智能检索系统
  • 大规模数据存储
  • 长期记忆管理

开发指南(简要)

  • 服务注册(示例,详见“服务快速入门”)
  • 在 Function 中调用服务:self.call_service["service_name"].method(...)