Orchidea Inference
企业级联合概率推理引擎 —— 基于因果自回归缓冲架构(Causal Autoregressive Buffer)
2026-11 修正(v2.0.1)
- GMM
log_prob轴向修正:1-D target 与[batch, 1, C]参数对齐错误导致 loss 跨 batch 配对、模型无法学习;已修复并加回归测试 - 因果掩码修正:增量解码时
q_len == 1只能看到 buffer 位置 1;现按绝对 query 位置派生掩码,增量解码与全量前向逐位一致 - 配置生效:
num_components与attention_backend不再被忽略;未知后端在构造期显式失败 - SSE:流式响应不再被缓冲
核心特性
- 静态上下文缓存(Context Cache):一次性编码历史数据,跨会话复用
- 动态因果缓冲(Causal Buffer):维护联合预测目标间的依赖关系
- 零精度损失:在 20× 提速、7× 显存优化前提下,保持与全量重编码完全一致的预测精度
- 高斯混合模型输出:20 分量 GMM,支持不确定性量化和置信区间计算
- 多硬件适配:自动降级方案支持 P40 (sm_61)、V100、A100/H100
- 企业级部署:FastAPI + gRPC 双协议,Milvus + Redis + PostgreSQL 分层存储
系统架构
L4: 应用层 (orchidea-desktop / 飞书 / Web看板)
L3: AGENT 调度层 (orchidea-director)
L2: 推理层 ←【orchidea-inference】
├─ API Gateway (FastAPI + gRPC)
├─ Context Cache Service (GPU显存 + Milvus持久化)
├─ Causal Buffer Manager (GPU显存 + Redis流式缓存)
├─ Target Decoder Service (GPU计算)
└─ KV Cache Store Abstraction
L1: 数据层 (Milvus / PostgreSQL / Redis / ERP)
L0: 基础设施层 (8× P40 / vLLM+Ray / Docker / Kubernetes)
快速开始
安装
pip install orchidea-inference
开发环境
git clone https://github.com/orchidea/orchidea-inference.git
cd orchidea-inference
make install-dev
启动服务
# Docker Compose (开发环境)
make docker-up
# 或直接启动
orchidea-inference-cli serve --host 0.0.0.0 --port 8000
API 调用示例
import requests
# 1. 预编码上下文
response = requests.post("http://localhost:8000/api/v1/context/encode", json={
"context_id": "erp_2026Q2_sku123",
"context_set": [
{"input_features": {"day_of_week": 1, "promotion_flag": 0}, "output_value": 150.0}
],
"ttl_hours": 168
})
# 2. 联合预测
response = requests.post("http://localhost:8000/api/v1/joint/predict", json={
"session_id": "forecast_001",
"context_id": "erp_2026Q2_sku123",
"target_set": [
{"input_features": {"forecast_day": 1}, "target_id": "SKU-A_D1", "dependency_order": 0}
],
"model_type": "tabular",
"num_samples": 100
})
硬件要求
| 配置 | 最低 | 推荐 |
|---|---|---|
| GPU | NVIDIA Tesla P40 24GB | 8× P40 24GB |
| CUDA | 11.8 | 11.8 / 12.2 |
| CPU | 8 cores | 16 cores |
| RAM | 32 GB | 64 GB |
| 存储 | 100 GB SSD | 500 GB NVMe |
文档
许可证
专有软件,未经许可不得复制、修改或分发。