Skip to content

Latest commit

 

History

History
640 lines (483 loc) · 21.9 KB

File metadata and controls

640 lines (483 loc) · 21.9 KB

Intel AOG (AIPC Open Gateway) - 可行性研究报告

执行摘要

项目: Intel AOG (AIPC Open Gateway) v0.7.0 研究日期: 2026-01-23 研究目标: 评估AOG与LocalAIStack集成的可行性 结论: ✅ 建议集成 - AOG可以作为API Gateway服务层补充LocalAIStack的基础设施能力


1. AOG项目概述

1.1 什么是AOG?

AOG (AIPC Open Gateway) 是Intel为AI PC(AIPC)设计的AI服务网关和管理平台。其核心目标是将AI应用与底层AI基础设施解耦

1.2 解决的核心问题

问题 影响 AOG解决方案
冗余AI堆栈 每个AI应用捆绑自己的AI引擎和模型,导致应用体积巨大 平台级共享AI服务,多个应用使用同一套AI堆栈
资源竞争 多个应用同时运行各自AI栈,争夺CPU/GPU内存 统一服务管理,避免重复加载模型和引擎
部署复杂 开发者需要同时管理AI基础设施和应用逻辑 .aog清单文件声明依赖,AOG自动安装所需服务和模型

1.3 核心特性

  1. 统一API层 - 为chat、embed、text-to-image等多种AI服务提供标准化RESTful API
  2. 服务提供者模型 - 同一服务可有多个提供者(如本地Ollama vs 远程DeepSeek)
  3. API风格转换 - OpenAI、Ollama、AOG原生API之间自动转换
  4. 混合调度 - 基于策略的本地/云提供商智能路由
  5. 插件系统 - 可通过Go插件扩展新AI引擎和远程服务
  6. 控制面板 - Web UI管理服务、模型和配置(http://127.0.0.1:16688/dashboard

2. 技术架构

2.1 高层架构

┌─────────────────────────────────────────────────────────────┐
│                    AIPC 系统                              │
├─────────────────────────────────────────────────────────────┤
│  ┌──────────────┐     ┌──────────────────────────┐      │
│  │ Application A │     │   Application B         │      │
│  └──────┬───────┘     └───────────┬────────────┘      │
│         │                         │                   │
│         └────────────┬────────────┘                   │
│                      │                                │
│         ┌────────────▼────────────┐                   │
│         │   AOG API Layer        │                   │
│         │   (RESTful 网关)      │                   │
│         └───────────┬────────────┘                   │
│                     │                                │
│    ┌────────────────┼────────────────┐              │
│    │                │                │              │
│ ┌──▼───┐      ┌───▼───┐    ┌────▼─────┐       │
│ │Local  │      │Cloud  │    │  Local   │       │
│ │Ollama│      │APIs   │    │OpenVINO  │       │
│ └──────┘      └───────┘    └──────────┘       │
│                    │                                  │
│              ┌─────▼───────┐                         │
│              │ AI Models    │                         │
│              └─────────────┘                         │
└─────────────────────────────────────────────────────────────┘

2.2 核心组件

组件 技术栈 职责
AOG Server Go (50.3%) 处理API路由和服务管理的核心服务器
Control Panel TypeScript/JavaScript + Vue Web管理界面
Datastore SQLite + sqlite-vec 配置、模型、服务的持久化存储
API Layer REST/HTTP + WebSocket 标准化API端点
Plugin System Go + hashicorp/go-plugin 可扩展的插件架构

2.3 引擎支持

引擎 平台 支持的服务
Ollama Windows, macOS, Linux (全部) chat, embed
OpenVINO Windows, macOS, Ubuntu 24.04 chat, embed, generate, rerank, text-to-image, TTS, STT
远程API 全平台 DeepSeek, 阿里百炼, 腾讯, 百度千帆

2.4 支持的AI服务

  • chat - 聊天/文本生成
  • embed - 文本嵌入
  • generate - 多模态生成
  • rerank - 重排序
  • text-to-image - 文生图
  • text-to-speech - 语音合成
  • speech-to-text - 语音识别(WebSocket支持)
  • image-to-image - 图生图
  • image-to-video - 图生视频
  • rag - 检索增强生成
  • speech-to-text-ws - 实时语音识别

3. 安装部署要求

3.1 开发环境要求

依赖 版本 用途
Go 1.19+ 构建AOG CLI工具
Node.js 16.x+ 构建Control Panel前端
Yarn - 前端包管理
CGO 必需 SQLite向量扩展
SQLite dev 必需 libsqlite3-dev (Linux), sqlite-devel (RHEL/CentOS)

3.2 平台特定要求

Windows:

  • MSYS2(用于Make命令)
  • MinGW-W64(CGO支持)
  • 完整OpenVINO支持

Linux:

  • build-essential 或 Development Tools
  • libsqlite3-dev 或 sqlite-devel
  • Ubuntu 24.04: 完整OpenVINO支持
  • 其他发行版: 仅Ollama(chat, embed),OpenVINO服务需远程提供商

macOS:

  • 完整OpenVINO支持
  • CGO与SQLite头文件

3.3 构建流程

# 第一步:构建Control Panel(必须先构建)
./build-frontend.sh  # Linux/macOS
#
build-frontend.bat   # Windows

# 第二步:构建AOG CLI
SQLITE_VEC_DIR="$(pwd)/internal/datastore/sqlite/sqlite-vec"
CGO_ENABLED=1 CGO_CFLAGS="-I$SQLITE_VEC_DIR" \
  go build -o aog -ldflags="-s -w" cmd/cli/main.go

# 第三步:启动AOG
./aog server start -v  # 详细模式
./aog server start -d  # 守护进程模式

3.4 服务安装命令

# 安装AI服务(自动下载引擎+默认模型)
aog install chat
aog install embed
aog install text-to-image

# 拉取额外模型
aog pull <model_name> --for <service_name> --provider <provider_name>

# 从JSON清单安装自定义服务提供商
aog install service_provider -f provider_config.json

4. 集成模式和API

4.1 RESTful API端点

基础URL: http://localhost:16688/aog/v0.2/

原生AOG API:

服务 端点 方法
Chat /services/chat POST
Embed /services/embed POST, GET
Text-to-Image /services/text-to-image POST
Generate /services/generate POST
Rerank /services/rerank POST
Text-to-Speech /services/text-to-speech POST
Speech-to-Text /services/speech-to-text POST
Image-to-Image /services/image-to-image POST
Image-to-Video /services/image-to-video POST
RAG /services/rag POST

API风格兼容性

AOG提供流行API格式的自动转换:

API风格 模式 示例URL
OpenAI /api_flavors/openai/* http://localhost:16688/aog/v0.2/api_flavors/openai/v1/chat/completions
Ollama /api_flavors/ollama/* http://localhost:16688/aog/v0.2/api_flavors/ollama/api/chat

迁移路径: 简单更改端点URL从云到本地AOG:

# OpenAI → AOG
https://api.openai.com/v1/chat/completions
→ http://localhost:16688/aog/v0.2/api_flavors/openai/v1/chat/completions

# Ollama → AOG
http://localhost:11434/api/chat
→ http://localhost:16688/aog/v0.2/api_flavors/ollama/api/chat

4.2 API调用示例

# 原生AOG API
curl -X POST http://localhost:16688/aog/v0.2/services/chat \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-r1:7b",
    "messages": [{"role": "user", "content": "为什么天空是蓝色的?"}],
    "stream": false
  }'

# OpenAI兼容API
curl -X POST http://localhost:16688/aog/v0.2/api_flavors/openai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-r1:7b",
    "messages": [{"role": "user", "content": "为什么天空是蓝色的?"}],
    "stream": false
  }'

4.3 SDK集成

Node.js SDK:

import { AOGClient } from '@intel/aog-sdk';

const client = new AOGClient({
  endpoint: 'http://localhost:16688'
});

const response = await client.chat({
  model: 'deepseek-r1:7b',
  messages: [{ role: 'user', content: '你好!' }]
});

AOG Checker集成 (C#):

// 在main()中
AOGInit();

// .aog清单文件指定所需服务/模型
// AOG在缺失时自动安装

5. 依赖和兼容性

5.1 核心依赖

依赖 版本 用途
Go 1.19+ 后端运行时
SQLite Latest 数据持久化
sqlite-vec Latest 向量操作
Ollama Latest(自动管理) 本地LLM推理
OpenVINO Latest(自动管理) Intel优化推理

5.2 兼容性矩阵

功能 Windows macOS Linux (Ubuntu 24.04) 其他Linux
Chat ✅ 本地(Ollama/OpenVINO) ✅ 本地(Ollama/OpenVINO) ✅ 本地(Ollama/OpenVINO) ✅ 本地(Ollama)
Embed ✅ 本地(Ollama/OpenVINO) ✅ 本地(Ollama/OpenVINO) ✅ 本地(Ollama/OpenVINO) ✅ 本地(Ollama)
Generate ✅ 本地(OpenVINO) ✅ 本地(OpenVINO) ✅ 本地(OpenVINO) ❌ 仅远程
Rerank ✅ 本地(OpenVINO) ✅ 本地(OpenVINO) ✅ 本地(OpenVINO) ❌ 仅远程
Text-to-Image ✅ 本地(OpenVINO) ✅ 本地(OpenVINO) ✅ 本地(OpenVINO) ❌ 仅远程
Text-to-Speech ✅ 本地(OpenVINO) ✅ 本地(OpenVINO) ✅ 本地(OpenVINO) ❌ 仅远程
Speech-to-Text ✅ 本地(OpenVINO) ✅ 本地(OpenVINO) ✅ 本地(OpenVINO) ❌ 仅远程

6. 项目状态和活跃度

6.1 项目指标

指标 数值
当前版本 v0.7.0 (发布于2025-11-19)
GitHub Stars 16
GitHub Forks 9
许可证 Apache-2.0
主要语言 Go (50.3%), C (21.9%), JavaScript (9.2%), TypeScript (5.5%)
开放Issue 2
Pull Requests 6
贡献者 3

6.2 发布历史

版本 日期 关键特性
v0.7.0 2025-11-19 插件系统、OpenVINO chat/embed/generate/rerank、Ubuntu 24.04支持、无Python版OpenVINO
v0.6.0 2025-09-11 RAG服务、Linux支持(Ollama)、引擎自动升级
v0.5.0 2025-08-15 AOG MCP Server、TTS支持、图生图/视频、多模态输入、数据迁移
v0.4.0 2025-07-03 OpenVINO语音识别、Control Panel UI
v0.3.0 2025-05-14 OpenVINO引擎、多模态(文生图)、Node SDK、多语言Checker
v0.2.1 2025-03-25 模型管理、CLI工具、AOG Checker、云API(阿里/腾讯/百度)、Ollama集成

6.3 活跃度评估

  • 活跃开发: 定期发布(1-2个月间隔,2025年路线图)
  • 预览阶段: 标记为"Preview",功能持续演进
  • 社区参与度: 中等(16 stars,小型贡献者基础)
  • 文档: 完整(中英文双版本)

7. 性能特性

7.1 优化功能

特性 描述
请求队列 非嵌入模型请求排队,防止过载(v0.5.0+)
模型清理 自动卸载未使用的模型(v0.5.0+)
引擎健康管理 Ollama/OpenVINO引擎的保活逻辑
混合调度 本地和云提供商之间的智能路由

7.2 资源效率优势

  • 磁盘空间: 每系统单一模型副本(对比每应用一份)
  • 内存: 共享AI引擎减少重复占用
  • 启动: 模型预加载并在应用间共享

7.3 性能考量

注意: 仓库中未公开具体基准数据。性能特性基于底层引擎:

方面 考量因素
推理速度 取决于底层引擎(Ollama vs OpenVINO)和硬件
模型加载 非嵌入模型排队机制
内存管理 已加载模型的自动清理
并发请求 通过共享服务支持多应用(减少资源竞争)

8. 使用场景

8.1 桌面AI应用

  1. AI聊天机器人/助手

    • 本地LLM推理配合chat服务
    • 上下文感知桌面助手
    • 代码完成/集成开发工具
  2. 内容生成

    • 文生图用于创意应用
    • 图生图编辑工具
    • 图生视频生成
  3. 生产力工具

    • 文档摘要(通过chat/embed)
    • 邮件分类(embed + rerank)
    • 会议转录(speech-to-text)

8.2 企业应用

  1. RAG(检索增强生成)

    • 内置RAG服务(v0.6.0+)
    • 企业知识库查询
    • 文档问答系统
  2. 多语言应用

    • 实时翻译(chat)
    • 跨语言内容生成
    • 本地化辅助
  3. 无障碍工具

    • 为视障用户的语音合成
    • 语音输入(speech-to-text)
    • 实时字幕

9. 与LocalAIStack的集成分析

9.1 架构对比

层面 LocalAIStack AOG 集成可能性
控制层 硬件检测、策略引擎、状态管理 服务选择、API转换、混合调度 ✅ 互补
运行时层 容器/原生执行 进程管理、引擎保活 ✅ 互补
软件模块 Ollama, llama.cpp, vLLM, SGLang Ollama, OpenVINO + 云API ✅ 可对接
接口层 Web UI, CLI Control Panel, REST API ✅ 可集成

9.2 AOG对LocalAIStack的价值

AOG能力 对LocalAIStack的价值
API网关层 为所有推理引擎提供一致的OpenAI/ollama兼容API
服务抽象 统一Ollama, OpenVINO, llama.cpp, vLLM, SGLang的接口
混合调度 本地资源被占用时无缝回退到云端
风格转换 现有云AI应用迁移到本地时改动最小
插件系统 无需修改核心代码即可快速集成新AI后端

9.3 推荐集成方案

方案1:AOG作为API网关服务(推荐)

将AOG作为LocalAIStack管理的服务模块:

LocalAIStack (基础设施)
├── 控制层
│   ├── 硬件检测 ✓
│   ├── 能力策略引擎 ✓
│   └── 状态管理器 ✓
│
├── 运行时层
│   ├── 基于容器的执行
│   └── 原生执行
│
├── 软件模块
│   ├── 推理引擎 (Ollama, llama.cpp, vLLM, SGLang)
│   └── AI应用 (RAGFlow, ComfyUI等)
│
└── 接口层
    ├── Web UI
    └── CLI

AOG (服务网关层) - 集成位置
├── 可作为运行时层之上的"API网关服务"
│   └── 为所有推理引擎提供统一HTTP API
│
├── 或作为服务提供商模块
│   └── AOG成为另一个可用的推理后端
│
└── 或集成到接口层
    └── AOG Control Panel成为LocalAIStack Web UI的一部分

实施步骤:

  1. 第一阶段:将AOG添加到软件模块层

    • 创建AOG安装清单
    • 将AOG Control Panel打包为LocalAIStack Web UI的一部分
    • 在统一端点暴露AOG的API网关
  2. 第二阶段:将AOG服务提供商连接到LocalAIStack运行时

    • 映射LocalAIStack管理的Ollama → AOG的ollama提供商
    • 映射LocalAIStack管理的OpenVINO → AOG的openvino提供商
    • 通过AOG插件系统为llama.cpp, vLLM, SGLang添加新提供商
  3. 第三阶段:利用AOG的混合调度

    • 配置云提供商(OpenAI, DeepSeek等)作为回退
    • LocalAIStack的硬件能力策略驱动何时使用本地vs云端
  4. 第四阶段:UI集成

    • 将AOG Control Panel集成到LocalAIStack Web UI
    • 统一服务管理和模型管理界面

优势:

  • 为所有工作负载提供一致的OpenAI兼容API
  • 使现有应用以最小改动运行在本地
  • AOG的风格转换自动处理API兼容性
  • 混合调度提供智能云回退

挑战:

  • AOG基于Go,LocalAIStack可能是Python/Go混合或待定
  • 需要在LocalAIStack的运行时层内管理AOG生命周期
  • AOG的Control Panel需要集成/适配

9.4 技术兼容性分析

方面 AOG LocalAIStack 兼容性
推理引擎 OpenVINO, Ollama Ollama, llama.cpp, vLLM, SGLang ✅ Ollama重叠,其他通过插件
Linux支持 Ubuntu 24.04 (完整), 其他(受限) Ubuntu 22.04/24.04 ✅ Ubuntu 24.04对齐
模型管理 AOG按提供商管理模型 集中式模型管理层 ⚠️ 潜在冲突/重复
服务编排 基于进程,本地/远程 容器原生,硬件感知 ✅ 互补方法
硬件感知 基本资源监控 深度能力分层 ✅ LocalAIStack可驱动AOG调度

10. 集成实施路线图

第一阶段:基础集成(2-4周)

  1. AOG作为托管服务

    • 创建AOG模块清单(YAML)
    • 实现AOG自动安装和生命周期管理
    • 配置基本端点暴露
  2. 运行时连接

    • 将LocalAIStack Ollama映射到AOG提供商
    • 验证基础chat和embed服务

第二阶段:插件开发(4-6周)

  1. 为LocalAIStack引擎开发AOG插件

    • llama.cpp插件
    • vLLM插件
    • SGLang插件
  2. 测试和验证

    • 所有引擎的API兼容性测试
    • 性能基准测试

第三阶段:高级集成(6-8周)

  1. 混合调度配置

    • 集成OpenAI、DeepSeek等云提供商
    • 基于LocalAIStack硬件策略实现智能路由
  2. UI集成

    • AOG Control Panel集成到LocalAIStack Web UI
    • 统一服务、模型和提供商管理界面

第四阶段:优化和文档(2-4周)

  1. 优化

    • 性能调优
    • 错误处理和日志记录改进
  2. 文档

    • 集成指南
    • 故障排除指南
    • API参考文档

11. 关键考虑因素

11.1 集成优势

战略契合: AOG的API网关角色补充LocalAIStack的基础设施角色 ✅ 明确集成点: 将AOG添加为位于LocalAIStack运行时层之上的服务模块 ✅ 增强能力: 提供OpenAI兼容API、混合调度和服务抽象 ✅ 厂商对齐: 两个项目都由Intel支持并共享Linux/Ubuntu关注点

11.2 需要解决的挑战

⚠️ 模型管理重复: AOG vs LocalAIStack模型管理需要协调 ⚠️ Ubuntu 22.04支持: AOG当前优化为24.04,需确保22.04兼容性 ⚠️ 架构适配: 确定AOG的Go基础架构是否适合LocalAIStack的部署模型 ⚠️ OpenVINO集成: 非Ubuntu 24.04发行版的OpenVINO集成策略

11.3 风险评估

风险 影响 缓解措施
AOG预览状态 中 - 功能仍在演进 采用成熟版本,版本固定
Linux功能奇偶性 高 - 其他发行版功能受限 优先支持Ubuntu 24.04,其他使用远程回退
社区规模小 低 - 长期维护风险 评估内部维护能力
架构不匹配 中 - Go vs Python混合 使用容器隔离运行时

12. 最终建议

推荐结论

是的,AOG可以并建议集成到LocalAIStack,将提供显著价值:

  1. 战略契合: AOG的API网关角色补充LocalAIStack的基础设施方法
  2. 清晰集成点: 将AOG作为服务模块添加,位于LocalAIStack的运行时层之上
  3. 增强能力: 提供OpenAI兼容API、混合调度和服务抽象
  4. 厂商对齐: 两个项目都是Intel对齐并共享Linux/Ubuntu焦点

行动建议

  1. 立即行动:

    • 创建AOG概念验证(PoC)
    • 验证与LocalAIStack Ollama集成
    • 测试基本API兼容性
  2. 短期(1-3个月):

    • 完成第一阶段集成(AOG作为托管服务)
    • 为llama.cpp和vLLM开发插件
    • 基准性能影响
  3. 中期(3-6个月):

    • 实现混合调度
    • UI集成
    • 生产就绪测试
  4. 长期(6-12个月):

    • 支持所有LocalAIStack引擎
    • 优化性能和资源使用
    • 社区贡献和文档

13. 参考资源

13.1 AOG官方资源

13.2 LocalAIStack参考资源

  • 项目架构: /docs/architecture.md
  • 模块系统: /docs/modules.md
  • 运行时模型: /docs/runtime.md
  • 硬件策略: /docs/policies.md

13.3 集成示例

  • Ollama插件示例: /references/aog/plugin-example/ollama-plugin/
  • 远程服务提供商示例: /references/aog/plugin-example/deepseek-plugin/
  • 应用清单示例: /references/aog/example/full-process/.aog
  • Node.js集成示例: /references/aog/example/full-process/

附录:术语表

术语 定义
AOG (AIPC Open Gateway) Intel的AI服务网关和管理平台
Service AI功能的抽象接口(如chat, embed)
Service Provider 实现和提供服务的具体实体(如Local Ollama, Remote OpenAI)
API Flavor 不同API风格的表示(如OpenAI风格, Ollama风格, AOG原生风格)
Hybrid Scheduling 基于策略在本地和云提供商间切换的机制
AOG Checker 用于部署时依赖管理的轻量级组件
.aog Manifest 声明应用所需AI服务和模型的文本清单文件

文档版本: 1.0 最后更新: 2026-01-23 作者: Sisyphus (AI Research) 审核状态: 待审核