增加LLMHub 产品需求文档(PRD)

This commit is contained in:
Luke 2025-04-23 15:09:18 +08:00
parent afbfbcf9ec
commit 651089fd6a
11 changed files with 460 additions and 33 deletions

View File

@ -1,24 +0,0 @@
## 一、国内多模型聚合平台
| 平台名称 | 官网地址 | 文档地址 |
| -------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| 阿里云百炼Model Studio | [官网](https://www.alibabacloud.com/zh/product/modelstudio?_p_lc=1) | [模型文档](https://help.aliyun.com/zh/model-studio/models) / [API文档](https://api.aliyun.com/document/bailian) |
| 百度文心千帆平台 | [官网](https://cloud.baidu.com/product-s/qianfan_home) | [文档](https://cloud.baidu.com/doc/API/index.html) |
| 智谱AI开放平台 | [官网](https://bigmodel.cn/) | [文档](https://bigmodel.cn/dev/welcome) |
| DMXAPI 多模态聚合平台 | [官网](https://www.dmxapi.cn/) | [文档](https://www.dmxapi.cn/python) |
------
## 二、模型提供商平台
以下是国内主要的大模型提供商及其平台信息涵盖模型名称、GitHub地址、文档地址等。
| 模型名称 | GitHub地址 |
| ---------------------- | ----------------------------------------------- |
| DeepSeek | [GitHub](https://github.com/deepseek-ai) |
| 通义千问(阿里云) | [GitHub](https://github.com/QwenLM) |
| 文心一言(百度) | [GitHub](https://github.com/PaddlePaddle/ERNIE) |
| 智谱AIGLM系列 | [GitHub](https://github.com/THUDM) |
| 商汤科技SenseChat | [GitHub](https://github.com/SenseTime) |
| 百川智能Baichuan | [GitHub](https://github.com/baichuan-inc) |
| 科大讯飞(星火大模型) | [GitHub](https://github.com/iflytek) |

View File

@ -0,0 +1,26 @@
## 📘 LLMHub 术语表Glossary
| 术语 | 定义 |
|--------------------------|------------------------------------------------------|
| **LLM大语言模型** | Large Language Model基于深度学习构建的自然语言理解与生成模型。 |
| **API** | Application Programming Interface应用程序编程接口。用于程序之间通信。 |
| **RESTful API** | 一种基于资源的 Web 接口设计风格,使用 HTTP 方法表达操作。 |
| **OpenAPI** | 一种规范,用于描述 REST API 的结构、参数和响应格式。 |
| **MVP** | Minimum Viable Product最小可行产品最基础但可运行的产品版本。 |
| **多模态模型Multimodal** | 支持文本、图像、语音等多种输入类型的 AI 模型。 |
| **部署Deployment** | 将模型或服务安装、配置并运行在目标环境(如本地或云端)的过程。 |
| **KubernetesK8s** | 一种容器编排系统,用于自动部署、扩展和管理容器化应用。 |
| **微服务架构Microservices** | 一种软件架构方式,将应用划分为一组小服务,每个服务可独立开发、部署、扩展。 |
| **多租户Multi-tenancy** | 一个系统支持多个用户组织(租户),彼此之间数据和配置隔离。 |
| **SDK** | Software Development Kit开发工具包封装接口调用的代码集合。 |
| **RBAC** | Role-Based Access Control基于角色的访问控制系统。 |
| **OAuth2.0** | 一种行业标准的授权协议,用于第三方访问用户资源时的认证授权。 |
| **JWT** | JSON Web Token一种轻量级的身份令牌用于安全传输用户认证信息。 |
| **Web UI** | 基于浏览器的用户界面。 |
| **CLI** | Command Line Interface命令行界面常用于开发和部署场景。 |
| **SLA** | Service Level Agreement服务等级协议定义系统可用性目标。 |
| **A/B 实验** | 一种测试不同版本模型或服务的实验设计方法,衡量效果差异。 |
| **Webhook** | 一种由服务端主动向客户端推送事件通知的机制,通常用于异步通信。 |
| **模型适配器Adapter** | 用于连接具体模型平台(如 OpenAI、阿里百炼的接口转换组件。 |
| **模型注册表** | 用于管理可部署模型清单、版本和元数据的服务模块。 |
| **Ensemble 推理** | 模型集成推理,结合多个模型的预测结果提升精度或稳健性。 |

View File

@ -0,0 +1,297 @@
LLMHub 产品需求文档PRD
---
## 1. 文档版本与修订记录
| 版本号 | 日期 | 作者 | 变更说明 |
|-----|------------|---------|-----------|
| 0.1 | 2025-04-23 | JCNC 团队 | 初始版本,完成大纲 |
---
## 2. 产品概述
### 2.1 背景与现状
- 各大模型平台 API 标准差异大,调用繁琐;
- 企业对数据隐私、合规、高可用性需求日益提升;
- 多模态 AI 场景需求快速增长,但集成成本高。
### 2.2 产品愿景与价值
- **愿景**:打造 "一站式" 大模型接入与管理平台,让组织零门槛使用 AI 能力;
- **核心价值**
- 降本增效:统一抽象、多云/本地混合部署;
- 安全合规:企业级权限、审计、加密;
- 可观察:全链路监控、告警、日志分析;
- 可扩展:插件化架构、生态开放。
---
## 3. 目标用户与用户画像
| 用户类型 | 角色 | 关键需求 |
|-----------|-----------|-------------------------------|
| 企业管理员 | CTO/IT 经理 | 快速部署与版本回滚;多租户隔离;权限管控;成本可视化 |
| 开发者 | 后端/AI 工程师 | 统一 SDK、丰富样例自动化测试调试日志扩展性能调优 |
| 运维工程师 | DevOps | 健康检测;自动弹性伸缩;日志告警;灾备策略 |
| 产品经理&业务团队 | PM/产品 | 接口易用;版本管理;调用监控;成本中心分摊 |
| 最终用户(消费者) | 普通用户 | 简洁对话界面;快速响应;多端体验一致性 |
---
## 5. 用户旅程与场景
### 5.1 企业管理员一键部署场景
1. 登录控制台 → 选择模型版本 → 填写环境配置 → 点击 "部署"。
2. 平台触发 Helm 安装或 Kubernetes Operator → 自动化健康探针 → 部署成功通知。
3. 回滚与报警:若探针失败,自动回滚到上一次稳定版本,并在控制台与邮件/钉钉通知中推送告警。
### 5.2 开发者统一调用场景
1. 安装 SDK → 配置 API Key 与 Endpoint → 引入统一 "LLMHubSDK"。
2. 支持本地 Mock 模式与远程模式切换,便于本地调试。
### 5.3 运维监控与告警场景
- 引入 Prometheus Exporter → Grafana 可视化面板。
- 设定 QPS、延迟、错误率阈值 → 告警策略(短信/邮件/WebHook
- 日志聚合Elasticsearch + Kibana支持结构化日志查询与异常追溯。
---
## 6. 技术架构与模块设计
![](../Mermaid/LLMHub-Architecture-Diagram/LLMHub-Architecture-Diagram.png)
### 6.1 总体架构
### 6.2 模块细化
| 模块 | 功能点 |
|-----------|--------------------------------------------------------|
| API 网关 | 认证鉴权、限流、请求路由、熔断 |
| 适配器层 | 各供应商 API 封装、参数映射、版本兼容 |
| 编排模块 | Helm/Operator 调用、健康探针、回滚逻辑 |
| 调度模块 | GPU/CPU 利用率监控、Pod 弹性伸缩、分区隔离 |
| 监控告警 | Exporter、Grafana 仪表、Prometheus Alertmanager、WebHook 集成 |
| 日志审计 | 调用链追踪、ELK 日志聚合、审计报告导出 |
| 权限管理 | RBAC、OAuth2.0、SSO 集成 |
| SDK & CLI | 多语言 SDK、CLI 工具、Mock 本地模式 |
| 运维工具 | 灾备脚本、升级回滚脚本、备份恢复脚本 |
---
### 7. 接口规范与示例
```yaml
openapi: 3.0.1
info:
title: LLMHub API
version: 1.0.0
paths:
/v1/models:
get:
summary: 列出可用模型
responses:
'200':
description: 模型列表
content:
application/json:
schema:
$ref: '#/components/schemas/ModelList'
/v1/deploy:
post:
summary: 部署模型
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DeployRequest'
responses:
'202':
description: 部署已接受
content:
application/json:
schema:
$ref: '#/components/schemas/DeployResponse'
components:
schemas:
ModelList:
type: object
properties:
models:
type: array
items:
$ref: '#/components/schemas/Model'
Model:
type: object
properties:
id:
type: string
name:
type: string
description:
type: string
DeployRequest:
type: object
required:
- modelId
- cluster
properties:
modelId:
type: string
description: 要部署的模型 ID
cluster:
type: string
description: 目标集群名称
resources:
type: object
properties:
cpu:
type: integer
description: CPU 核数
gpu:
type: integer
description: GPU 卡数
env:
type: object
description: 环境变量列表
additionalProperties:
type: string
DeployResponse:
type: object
properties:
deploymentId:
type: string
description: 部署任务 ID
status:
type: string
description: 当前状态
startedAt:
type: string
format: date-time
description: 启动时间
```
---
### 7.2 样例请求与响应
#### 请求
```http
POST /v1/deploy HTTP/1.1
Host: api.llmhub.example.com
Authorization: Bearer <token>
Content-Type: application/json
{
"modelId": "openai-gpt-4-xlarge",
"cluster": "private-cloud-1",
"resources": {
"cpu": 16,
"gpu": 2
},
"env": {
"MAX_TOKENS": "2048"
}
}
```
#### 响应
```http
HTTP/1.1 202 Accepted
Content-Type: application/json
{
"deploymentId": "dep-123456",
"status": "initializing",
"startedAt": "2025-04-24T10:00:00+08:00"
}
```
## 8. 非功能需求
1. **性能**
- 平均响应时长 ≤ 200msP95;
- 系统峰值 QPS ≥ 2000;
2. **可用性**
- SLA ≥ 99.9%(月度);
- 支持多 AZ 部署与链路故障切换;
3. **安全**
- OAuth2.0 / JWT / RBAC;
- TLS 全链路加密;
- 日志审计覆盖 100% 调用;
4. **可扩展性**
- 插件化适配器动态加载;
- 支持 0-100+ 模型实例线性扩容;
5. **可观测性**
- Prometheus + Grafana 指标;
- ELK 日志搜索;
- 分布式追踪 (Jaeger);
6. **合规**
- GDPR、ISO27001、等保二级;
- 数据脱敏与访问日志保留策略;
---
## 9. UX/UI 细节说明
- **部署向导**:多步骤分屏设计,当前步骤突出,支持中途保存;
- **仪表盘**:实时 QPS、延迟、资源利用率图表;
- **日志中心**:关键字搜索,高亮、过滤、导出;
- **权限控制**:角色列表页面,支持批量授权、权限树视图;
- **暗黑/明亮主题**:一键切换,跟随系统主题配置;
---
## 10. 测试与验收
1. 单元测试覆盖率 ≥ 90%;
2. 集成测试场景覆盖:部署、回滚、扩容、调用限流;
3. 安全渗透测试:无高危漏洞;
4. 性能压测:最大并发 2000 QPS 无误;
5. 用户验收:按用户故事完成演示并通过评审;
---
## 11. 风险与缓解措施
| 风险 | 概率 | 影响 | 缓解措施 |
|----------------|----|----|-----------------------------------------|
| 第三方模型接口变动 | 中 | 高 | 定期兼容性测试 + 自动化适配层升级 |
| 私有云网络隔离导致部署失败 | 中 | 高 | 与运维团队协作,提供脚本化网络检测与自动重试机制 |
| 多租户资源争抢 | 低 | 中 | 引入优先级调度与资源隔离Namespace + ResourceQuota |
| 审计日志量大导致存储成本上升 | 高 | 中 | 日志冷热分离,归档策略与压缩存储 |
---
## 12. 迭代计划与里程碑
| 阶段 | 时间范围 | 目标 |
|-------|--------------------|----------------------------------|
| Alpha | 2025-05-01 ~ 05-15 | 完成架构设计、API 抽象与一键部署 POC |
| Beta | 2025-05-16 ~ 06-15 | 完成基础文本服务、多租户 & 权限系统、监控 & 告警集成; |
| RC | 2025-06-16 ~ 06-30 | 完成图像/语音多模态接入、系统性能 & 安全测试Bug 修复; |
| GA | 2025-07-01 | 对外发布文档、部署指南、SDK & CLI客服支持渠道就绪 |
| V1.1+ | 2025 Q3 ~ Q4 | 插件生态开放、多模态深度优化、行业解决方案模板; |
---
## 13. 附录
- **术语表**[点击查看](../LLM-Hub-Glossary/LLM-Hub-Glossary.md)
- **部署指南**
- **运维手册**
- **用户手册PDF**

View File

@ -0,0 +1,52 @@
graph TD
UI[控制台 / UI]
UI --> APIGW[API 网关 & 认证层]
subgraph 核心功能模块
APIGW --> Abstraction[统一抽象接口层]
APIGW --> Adapter[多云模型适配器层]
APIGW --> Orchestration[部署编排模块<br>Helm / Operator]
APIGW --> Scheduler[资源调度模块]
APIGW --> AsyncQueue[异步任务队列<br>Celery / KEDA]
APIGW --> ConfigCenter[统一配置中心<br>Apollo / Nacos]
APIGW --> Auth[权限与认证<br>OAuth2 / RBAC / SSO]
end
subgraph 运维与可观测
Orchestration --> HealthProbe[健康探针 & 回滚逻辑]
Scheduler --> AutoScaling[Pod 弹性伸缩 & 节点隔离]
AsyncQueue --> LogArchiver[日志归档任务 / 审计导出]
APIGW --> Monitor[监控告警模块<br>Prometheus + Grafana]
APIGW --> Trace[分布式追踪<br>Jaeger + OpenTelemetry]
APIGW --> LogAudit[日志审计模块<br>ELK]
end
subgraph 模型服务层
Abstraction --> ModelCluster[本地 / 多云模型服务集群]
Adapter --> ModelAPI[供应商 API 调用<br>OpenAI, Baichuan...]
end
subgraph DevOps & 安全
GitRepo[Git 仓库<br>IaC + GitOps]
GitRepo --> CI_CD[CI/CD 管道<br>ArgoCD, Jenkins]
CI_CD --> ConfigCenter
CI_CD --> Orchestration
ConfigCenter --> Monitor
Auth --> AuditExport[审计报告导出]
end
Monitor --> AlertSys[告警系统<br>短信 / 邮件 / WebHook]
Trace --> Dashboard[追踪仪表盘]
LogAudit --> KibanaUI[Kibana 分析界面]
subgraph HA 架构
ModelCluster --> ServiceMesh[服务网格<br>Istio / Envoy]
ServiceMesh --> MultiAZ[多 AZ 支持 + 弹性负载]
MultiAZ --> Failover[故障自动切换]
end
subgraph PluginRuntime[插件生态与沙箱]
APIGW --> PluginEngine[插件运行时引擎<br>WASM / Lua Sandbox]
PluginEngine --> PluginStore[插件市场 / SDK 插件]
end

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

View File

@ -0,0 +1,24 @@
# 模型列表
## 一、模型聚合平台
| 平台名称 | 官网地址 | 文档地址 |
|---------------------|-------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------|
| 阿里云百炼Model Studio | [官网](https://www.alibabacloud.com/zh/product/modelstudio?_p_lc=1) | [模型文档](https://help.aliyun.com/zh/model-studio/models) / [API文档](https://api.aliyun.com/document/bailian) |
| 百度文心千帆平台 | [官网](https://cloud.baidu.com/product-s/qianfan_home) | [文档](https://cloud.baidu.com/doc/API/index.html) |
| 智谱AI开放平台 | [官网](https://bigmodel.cn/) | [文档](https://bigmodel.cn/dev/welcome) |
| DMXAPI 多模态聚合平台 | [官网](https://www.dmxapi.cn/) | [文档](https://www.dmxapi.cn/python) |
------
## 二、模型提供商平台
| 模型名称 | GitHub地址 |
|-----------------|-------------------------------------------------|
| DeepSeek | [GitHub](https://github.com/deepseek-ai) |
| 通义千问(阿里云) | [GitHub](https://github.com/QwenLM) |
| 文心一言(百度) | [GitHub](https://github.com/PaddlePaddle/ERNIE) |
| 智谱AIGLM系列 | [GitHub](https://github.com/THUDM) |
| 商汤科技SenseChat | [GitHub](https://github.com/SenseTime) |
| 百川智能Baichuan | [GitHub](https://github.com/baichuan-inc) |
| 科大讯飞(星火大模型) | [GitHub](https://github.com/iflytek) |

View File

@ -0,0 +1,52 @@
RESTful APIRepresentational State Transfer 风格的接口)是一种常见的 Web 服务设计规范,其核心思想和特点包括:
1. **资源Resource为中心**
- 把系统中的一切“对象”都看作资源,每个资源通过一个唯一的 URI路径来标识。
- 例如:`/models` 可能对应“模型列表”资源,`/models/123` 对应“ID 为 123 的模型”资源。
2. **使用 HTTP 方法表示操作**
- **GET**:读取资源(不应改变服务器状态),
- **POST**:创建资源,
- **PUT/PATCH**:更新资源,
- **DELETE**:删除资源。
这样可以让接口语义清晰、与 HTTP 协议天然契合。
3. **无状态性Stateless**
- 每一次请求都包含完成该请求所需的所有信息,服务端不在请求之间保留客户端状态。
- 优点是易于扩展与负载均衡;缺点是每次请求都要重复认证/传递上下文。
4. **表现层Representation**
- 客户端与服务端通过“表现层”交换资源状态,通常是 JSON、XML 或其他格式。
- 比如 `GET /models/123` 返回如下 JSON
```json
{
"id": 123,
"name": "gpt-4",
"status": "deployed"
}
```
5. **超媒体驱动HATEOAS可选**
- 在响应中带上“链接”links告诉客户端可以做哪些后续操作比如
```json
{
"id": 123,
"links": [
{ "rel": "update", "href": "/models/123", "method": "PUT" },
{ "rel": "delete", "href": "/models/123", "method": "DELETE" }
]
}
```
- 这样客户端无须硬编码所有路径,能动态发现可用操作。
---
### 在 LLMHub 中的应用
在我们的 PRD 里,“统一抽象接口层”采用 RESTful API 设计,并以 OpenAPI 3.0 规范来描述,这意味着:
- 每个大模型相关的功能(列出模型、部署模型、调用模型)都被定义为一种资源操作;
- 开发者通过标准的 HTTP 方法和约定好的路径,就能对接各种底层模型平台;
- 文档会自动生成Swagger UI并确保接口清晰、一致且易于测试。
这样,无论后端具体集成了哪家大模型服务,上层调用逻辑都保持不变——真正达到了“屏蔽底层差异、统一使用体验”的目标。

View File

@ -15,15 +15,15 @@
### 🧱 二、核心模块架构 ### 🧱 二、核心模块架构
| 模块 | 说明 | | 模块 | 说明 |
| --------------------------- | ------------------------------------------------------------ | |-------------------------|-------------------------------------------------|
| `api-core` | 定义统一 AI 能力接口 + SPI 扩展点(如 chat、embedding、vision | | `api-core` | 定义统一 AI 能力接口 + SPI 扩展点(如 chat、embedding、vision |
| `api-core-service` | 实现模型服务注册发现、调度策略、模型调度器 Dispatcher | | `api-core-service` | 实现模型服务注册发现、调度策略、模型调度器 Dispatcher |
| `model-provider-*` | 每个模型服务模块(独立部署),实现具体能力并注册到核心服务 | | `model-provider-*` | 每个模型服务模块(独立部署),实现具体能力并注册到核心服务 |
| `model-ability-service` | 可选扩展层,用于实现更高层 AI 能力如对话管理、RAG | | `model-ability-service` | 可选扩展层,用于实现更高层 AI 能力如对话管理、RAG |
| `model-gateway`(门面服务) | 提供统一入口,转发请求到核心服务,并封装对外 API | | `model-gateway`(门面服务) | 提供统一入口,转发请求到核心服务,并封装对外 API |
| `model-admin`(后台) | 模型安装、服务绑定、状态监控、服务管理 | | `model-admin`(后台) | 模型安装、服务绑定、状态监控、服务管理 |
| `auth-center`(可选) | 提供租户、用户、权限、配额、访问日志等能力SaaS专属 | | `auth-center`(可选) | 提供租户、用户、权限、配额、访问日志等能力SaaS专属 |
------ ------