SAGE Middleware - Domain Operators and Service Components (L4)
Project description
SAGE Middleware(中间件)
用于构建带有 AI 能力的流式数据应用的中间件层
📋 Overview
SAGE Middleware 是 SAGE 框架的 L4 中间件层,提供高性能的数据处理组件和 AI 能力集成。它集成了多家大模型提供商、异步任务调度、安全鉴权以及核心数据处理组件(向量数据库、流处理引擎等)。
🧭 Governance / 团队协作制度
docs/governance/TEAM.mddocs/governance/MAINTAINERS.mddocs/governance/DEVELOPER_GUIDE.mddocs/governance/PR_CHECKLIST.mddocs/governance/SELF_HOSTED_RUNNER.mddocs/governance/TODO.md
✨ Key Features
- 🤖 LLM 推理:
- sageLLM ✅ 推荐:统一 LLM 推理引擎,支持 CUDA/Ascend/Mock 后端
- 🔎 检索与向量:RAG、BM25、FAISS 等
- 📋 任务调度:Celery 异步任务
- 🔐 安全鉴权:JWT、密码学工具
- ⚙️ 核心组件:
sage_db:数据库/向量存储相关组件(含 C/C++ 扩展)sage_flow:高性能向量流处理(可能包含扩展或独立子模块)
🚀 Installation
Basic Installation
pip install isage-middleware
Development Installation
git clone https://github.com/intellistream/SAGE.git
cd SAGE/packages/sage-middleware
pip install -e .
说明:中间件组件(sage_db/sage_flow/sage_tsdb 等)现已随源码直接提供或通过 pip 依赖分发,无需初始化任何子模块。
With Optional Dependencies
# 可选:Embedding 相关支持
pip install isage-common[embedding]
# 可选:与完整 SAGE 框架集成
pip install isage-middleware[sage]
📖 Quick Start
LLM 推理(推荐:sageLLM)
from sage.middleware.operators.llm import SageLLMGenerator
# 自动选择最佳后端
generator = SageLLMGenerator(
model_path="Qwen/Qwen2.5-7B-Instruct",
backend_type="auto", # auto/cuda/ascend/mock
temperature=0.7,
max_tokens=2048,
)
result = generator.execute("你好,世界!")
print(result)
API 客户端
from sage.middleware.api.client import APIClient
from sage.middleware.auth.jwt import JWTManager
client = APIClient()
jwt_manager = JWTManager()
resp = client.chat_completion(
provider="openai",
messages=[{"role": "user", "content": "Hello!"}],
)
print(resp)
📖 说明:LLM 推理默认使用
sageLLM,建议通过统一配置管理模型后端。
📦 Package Structure
sage-middleware/
├── src/
│ └── sage/
│ └── middleware/
│ ├── __init__.py
│ ├── operators/ # Dataflow operators
│ │ ├── llm/ # LLM operators (sageLLM)
│ │ ├── rag/ # RAG operators
│ │ └── agentic/ # Agent operators
│ ├── components/ # Core components
│ │ ├── sage_db/ # Vector database (C++ extensions)
│ │ ├── sage_flow/ # Stream processing (C++ extensions)
│ │ ├── sage_tsdb/ # Time-series DB (C++ extensions)
│ │ ├── sage_mem/ # Memory management
│ │ └── sage_refiner/ # Context compression
│ ├── api/ # API clients
│ └── auth/ # Authentication
├── tests/
│ ├── unit/
│ └── integration/
├── docs/
│ └── governance/ # Team collaboration
├── README.md
├── pyproject.toml
└── setup.py
🔧 Configuration
配置可以通过以下方式提供:
- 环境变量
- YAML/TOML 配置文件
- 直接通过 API 参数
配置示例
# config.yaml
middleware:
auth:
secret_key: "your-secret-key" # pragma: allowlist secret
algorithm: "HS256"
providers:
openai:
api_key: "sk-..." # pragma: allowlist secret
base_url: "https://api.openai.com/v1"
📚 Documentation
- 用户指南: 参见 SAGE-Pub
- API 参考: 参见 API 文档
- 治理文档: 参见 docs/governance/
- 迁移指南: 参见 Project Changelog
🧪 Testing
# 运行单元测试
pytest tests/unit -v
# 运行集成测试
pytest tests/integration -v
# 运行所有测试并生成覆盖率报告
pytest --cov=sage.middleware --cov-report=html
🤝 Contributing
欢迎贡献!请参阅:
- 贡献指南: CONTRIBUTING.md
- 开发者文档: DEVELOPER.md
- PR 检查清单: docs/governance/PR_CHECKLIST.md
新增中间件组件规范
当添加新的中间件组件时,请遵循以下要求:
- 目录结构: 在
src/sage/middleware/components/下创建组件目录 - C++ 扩展: 如包含 C++ 扩展,必须遵守依赖约束(参见下文详细规范)
- 构建脚本: 提供标准的
build.sh,支持--install-deps - setup.py 集成: 在
setup.py中添加构建方法 - 测试: 添加单元测试和集成测试
- 文档: 更新 README 和相关文档
📄 License
本项目采用 MIT License - 详见 LICENSE 文件
🔗 Related Packages
- sage-kernel: 核心计算引擎(L3)
- sage-common: 通用工具(L1)
- sage-libs: 可复用算法库(L3)
- sage-platform: 平台服务(L2)
- isage-vdb: 向量数据库(独立包)
- isage-neuromem: 内存管理系统(独立包)
- isage-refiner: 上下文压缩(独立包)
📮 Support
- 文档: https://intellistream.github.io/SAGE-Pub/
- 问题反馈: https://github.com/intellistream/SAGE/issues
- 讨论: https://github.com/intellistream/SAGE/discussions
Part of the SAGE Framework | 主仓库
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file isage_middleware-0.2.4.28-py2.py3-none-any.whl.
File metadata
- Download URL: isage_middleware-0.2.4.28-py2.py3-none-any.whl
- Upload date:
- Size: 1.2 MB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc8e8a594a35013c4b7001e8101b1aae9824eba68130f80a809432a99046c161
|
|
| MD5 |
d736c9c9c0db95e76d1c3b7894dea7c7
|
|
| BLAKE2b-256 |
7d0a295d894024ccf1800b48e84dd50d57239b68349f3b696de15dd306b623b7
|