326 lines
8.7 KiB
Markdown
326 lines
8.7 KiB
Markdown
|
||
---
|
||
#领域/未知
|
||
|
||
#复盘/0 #临时/备忘 #状态/待处理
|
||
|
||
20260509-备忘-主题名-文件内容
|
||
|
||
## 一句话描述
|
||
|
||
[________]
|
||
|
||
---
|
||
~~高质量个人极客开发者终极自托管架构方案(全局定稿版)~~
|
||
|
||
# ~~高质量・个人极客开发者 终极自托管架构方案(全局定稿版)~~
|
||
|
||
## ~~核心定位~~
|
||
|
||
~~面向**个人极客 / 开发者**,满足:**私有不泄密、全自托管、分层解耦、可复用资产、长期 3–5 年不重构、易维护易扩展、RAG/Agent/ 多模型 / 知识库全覆盖**。 原则:**各司其职、不功能重叠、不重复造轮子、能复用绝不重复部署、架构标准化可平滑迭代**。~~
|
||
|
||
# ~~一、整体架构分层(从上到下 5 层,固定不变)~~
|
||
|
||
```Plain
|
||
1. 前端入口层(人机交互)
|
||
2. 模型网关层(统一调度、路由、鉴权)
|
||
3. 应用/智能体编排层(RAG、工作流、Agent、知识库应用)
|
||
4. 推理引擎层(LLM对话、Embedding、Rerank 分工部署)
|
||
5. 知识底座层(文档管理、向量库、纯知识库存储)
|
||
```
|
||
|
||
~~**无冗余、无重复、每一层只干自己该干的事**,后续只在层内迭代,不改动整体架构。~~
|
||
|
||
---
|
||
|
||
# 二、每一层最终选定组件 & 职责定义(全局固定)
|
||
|
||
## 1. 前端入口层:只留「LibreChat」
|
||
|
||
**选定:LibreChat** 淘汰:OpenWebUI、LobeChat、ChatGPT-Next-Web 等(功能重叠,二选一锁定不再换)
|
||
|
||
### 职责
|
||
|
||
- 统一聊天 UI、多会话、文件夹、模型切换
|
||
|
||
- 唯一对外人机入口,日常对话、调试所有智能体 / RAG 应用
|
||
|
||
- 只做**展示 + 会话管理**,不做 RAG、不做编排、不做模型管理
|
||
|
||
|
||
### 为什么不换
|
||
|
||
UI 成熟、插件生态强、适配所有 OpenAI 格式、可接入网关 / 任意模型,**可替换但没必要换,长期固定做主入口**。
|
||
|
||
---
|
||
|
||
## 2. 模型网关层:只留「NewAPI」
|
||
|
||
**选定:NewAPI** 淘汰:OneAPI、LocalAI 网关、自建转发脚本
|
||
|
||
### 职责(极客必备价值)
|
||
|
||
- 统一所有模型为 **标准 OpenAI 接口**
|
||
|
||
- 多渠道聚合:Ollama、vLLM、第三方云模型一键接入
|
||
|
||
- 密钥管理、访问鉴权、负载均衡、自动降级、用量统计
|
||
|
||
- 给 LibreChat / MaxKB / Dify 提供**唯一统一调用地址**
|
||
|
||
|
||
### 核心意义
|
||
|
||
后续新增任何模型、任何推理服务,**只在 NewAPI 加一条渠道**,上层所有应用不用改配置。
|
||
|
||
---
|
||
|
||
## 3. 应用 / 智能体编排层:双核心「MaxKB + Dify」
|
||
|
||
不选 Langflow、n8n 做主力(偏重度工作流,个人极客日常用不上,留作备选即可)
|
||
|
||
### 3.1 MaxKB(主力企业级 RAG / 智能体)
|
||
|
||
职责:
|
||
|
||
- 私有知识库应用、外部知识库接入、Agent 智能体、工具调用
|
||
|
||
- 中文生态完善、部署极简、后台管理友好
|
||
|
||
- 对接底层 AnythingLLM 做外部知识复用
|
||
|
||
|
||
### 3.2 Dify(轻量快速应用 / 工作流)
|
||
|
||
职责:
|
||
|
||
- 快速搭建对话应用、简单工作流、API 服务输出
|
||
|
||
- 外部知识库适配层基于 Dify 协议打通 AnythingLLM
|
||
|
||
- 轻量化原型、快速落地小应用
|
||
|
||
|
||
### 分工
|
||
|
||
- 正式知识库 / 智能体 → **MaxKB**
|
||
|
||
- 快速原型、简单工作流、对外 API → **Dify** 两者互补,不冲突、不冗余。
|
||
|
||
|
||
---
|
||
|
||
## 4. 推理引擎层:Ollama + vLLM 永久并存(固定分工,不二选一)
|
||
|
||
### 4.1 Ollama(定位:轻量化日常推理 + Embedding)
|
||
|
||
职责固定:
|
||
|
||
- 日常对话 LLM:Qwen/GLM/DeepSeek 等 7B–14B
|
||
|
||
- **专属承载 Embedding 模型**:bge-large-zh
|
||
|
||
- 优势:模型管理极简、一键拉取、运维零负担、常驻稳定
|
||
|
||
|
||
### 4.2 vLLM(定位:高性能推理 + 专属 Rerank)
|
||
|
||
职责固定:
|
||
|
||
- 专门跑 **bge-reranker-v2-m3 重排模型**(Ollama 无标准 rerank 接口)
|
||
|
||
- 后续跑 14B + 大模型、高并发、长文本批量推理
|
||
|
||
- 不绑定 HuggingFace 也能用,可本地离线模型挂载
|
||
|
||
|
||
### 为什么必须并存
|
||
|
||
- Ollama 赢**易用性**,vLLM 赢**性能 + 特殊任务(Rerank)**
|
||
|
||
- 不用把所有模型迁到一个服务,各司其职,长期最省心
|
||
|
||
|
||
---
|
||
|
||
## 5. 知识底座层:唯一固定「AnythingLLM」
|
||
|
||
**只把 AnythingLLM 当做纯知识库 / 向量底座,禁用它的对话能力**
|
||
|
||
职责:
|
||
|
||
- 全格式文档解析、自动分块、向量入库、文件夹管理
|
||
|
||
- 唯一知识资产沉淀:**一次上传,LibreChat/MaxKB/Dify 全复用**
|
||
|
||
- 提供标准 Developer API:向量检索、文档管理、工作区管理
|
||
|
||
|
||
### 核心价值
|
||
|
||
整个架构**只有一个知识库真相源**,不再重复上传、重复向量化,资产永久可复用。
|
||
|
||
---
|
||
|
||
# 三、完整全局调用链路(固定死,以后永远按这个走)
|
||
|
||
## 1. 日常对话链路
|
||
|
||
`用户 → LibreChat → NewAPI → Ollama / vLLM / 第三方模型`
|
||
|
||
## 2. RAG 知识库问答链路
|
||
|
||
```Plain
|
||
用户 → LibreChat
|
||
↓
|
||
MaxKB / Dify
|
||
↓
|
||
适配层(你写的 Dify 外部知识库转接服务)
|
||
↓
|
||
AnythingLLM(向量粗排召回)
|
||
↓
|
||
vLLM(Rerank 精排重排序)
|
||
↓
|
||
NewAPI → Ollama/大模型 生成回答
|
||
```
|
||
|
||
## 3. 新增模型 / 新服务链路
|
||
|
||
`新模型部署 → 仅在 NewAPI 添加渠道 → 上层所有应用自动可用`
|
||
|
||
---
|
||
|
||
# 四、其他一堆工具统一取舍规则(不用再纠结)
|
||
|
||
## ✅ 永久保留、纳入生态
|
||
|
||
- LibreChat、NewAPI、MaxKB、Dify、Ollama、vLLM、AnythingLLM
|
||
|
||
|
||
## ❌ 直接放弃 / 不部署 / 不深耕(功能重叠或场景不匹配)
|
||
|
||
Hermes Agent、OpenClaw、ClawSwarm、QwenPaw、SQLBot、UPage、BettaFish、DBHub、AstrBot、LangBot、Kirara AI、Vane、OpenWebUI、LobeChat、OneAPI、LocalAI、Langflow、n8n
|
||
|
||
理由: 要么功能和现有栈重复,要么生态小众、要么垂直场景用不上、要么可替换性极强,没必要纳入长期架构。
|
||
|
||
---
|
||
|
||
# 五、这套方案的核心优势(匹配你高质量可持续需求)
|
||
|
||
1. **全分层解耦** 每一层独立,后续换前端、换推理、换网关,底层不动,不用重构整个系统。
|
||
|
||
2. **知识资产唯一沉淀** 所有文档只进 AnythingLLM 一次,全平台复用,无重复劳动。
|
||
|
||
3. **模型统一治理** NewAPI 做唯一网关,不用每个应用单独配置模型地址密钥。
|
||
|
||
4. **推理分工极致合理** Ollama 管日常 + 嵌入,vLLM 管重排 + 高性能,互不干扰。
|
||
|
||
5. **可长期发展 3–5 年** 所有组件都是开源主流、社区活跃、迭代稳定,不是小众短命项目。
|
||
|
||
6. **极客自由度拉满** 可自定义适配层、可扩展 API、可加工作流、可私有部署不依赖外网、可随时扩容模型和知识库。
|
||
|
||
7. **运维极简** 全 Docker 部署、开机自启、无复杂依赖、层内迭代不影响全局。
|
||
|
||
|
||
---
|
||
|
||
# 六、后续长期维护规则(定规矩,以后不瞎折腾)
|
||
|
||
1. 不再随意新增小众 AI 应用,只在现有 7 个核心组件内迭代;
|
||
|
||
2. 永远只把 AnythingLLM 当唯一知识库,不再建新向量库;
|
||
|
||
3. 模型只在 Ollama/vLLM 部署,统一由 NewAPI 分发;
|
||
|
||
4. 前端固定 LibreChat,不再频繁换 UI;
|
||
|
||
5. RAG/Agent 优先 MaxKB,轻量应用走 Dify,不碰其他小众智能体框架。
|
||
|
||
|
||
---
|
||
|
||
如果你需要,我可以下一步给你整理: **1. 统一 docker-compose 全集配置(所有服务一键启停)** **2. 每服务固定端口、固定配置、固定访问地址清单** **3. 适配层最终完整版(自带 vLLM rerank、完美对接整套架构)**
|
||
|
||
|
||
|
||
|
||
---
|
||
#领域/未知
|
||
|
||
#复盘/0 #临时/备忘 #状态/待处理
|
||
|
||
20260509-备忘-主题名-文件内容
|
||
## 一句话描述
|
||
|
||
[____自托管大模型架构____]
|
||
|
||
---
|
||
|
||
## 核心规范
|
||
|
||
>空想不如行动,积累胜于苛求。
|
||
>实践 > 沉淀 > 完美主义
|
||
|
||
实践不是盲目行动,而是带着“小目标、可验证“的方向试错,实践后必须沉淀(比如记录问题、总结规律),否则就是低水平重复。
|
||
|
||
实践大于沉淀,沉淀大于完美;完美是沉淀的终局方向,沉淀是实践的复盘产物;分域施策,避坑落地,始于行动,终于迭代。
|
||
|
||
---
|
||
|
||
## 三省沉淀法
|
||
|
||
- 达成了[________]目标
|
||
- 遇到了[________]问题
|
||
- 下次改进[________]
|
||
|
||
## 个人理解
|
||
|
||
[________]
|
||
|
||
## 实践计划
|
||
|
||
#状态/待实践
|
||
|
||
1. [________]
|
||
2. [________]
|
||
3. [________]
|
||
|
||
---
|
||
|
||
## 核心定义
|
||
|
||
个人极客/开发者,
|
||
满足:私有不泄密、全自托管、分层解耦、可复用资产、长期3~5年不重构、易维护易扩展、RAG/Agent/多模型/知识库全覆盖
|
||
原则:各司其职、不功能重叠、不重复造轮子、能复用绝不重新部署、架构标准可平滑迭代
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
### 示例
|
||
|
||
#### ✅ 示例一:
|
||
|
||
```markdown
|
||
|
||
```
|
||
|
||
#### ✅ 示例二:
|
||
|
||
```markdown
|
||
|
||
```
|
||
|
||
### 避坑点
|
||
|
||
⚠️ 避坑点1:
|
||
解决方案:
|
||
|
||
⚠️ 避坑点1:
|
||
核心问题:
|
||
解决方案:✅
|
||
|