多 LLM 后端适配
Multi-LLM Backend Adapter
通过策略模式统一适配多个 LLM/Embedding 提供商,支持按步骤配置不同模型
子问题
1.LLM 提供商协议统一
2.Embedding 后端抽象
3.客户端通信层选择
4.按工作流步骤分配模型 profile
5.多模态 Embedding 的提供商特有能力暴露(如 Doubao 视频/图片 embedding)
6.provider 默认值自动推导(切换 provider 时 base_url/api_key/model 联动变更)
各项目的解法1 solutions
Signals
横向对比
| 维度 | memU |
|---|---|
| 后端抽象 | LLMBackend 基类 + 4 子类策略模式,字典注册表工厂查找 |
| 通信层 | httpx / OpenAI SDK / LazyLLM 三种客户端按 config 选择 |
| Profile 机制 | LLMProfilesConfig 多命名 profile,工作流步骤按名引用 |
| Embedding 适配 | 独立 EmbeddingBackend 层 + Doubao 多模态 embedding 扩展 |
| 懒加载策略 | 客户端按 profile 首次使用时创建并缓存,可选依赖延迟 import |
| 协议兼容复用 | GrokBackend 继承 OpenAILLMBackend 零代码复用兼容协议 |
最佳实践
1.Backend 基类定义 payload 构建和响应解析接口
2.懒加载可选依赖避免安装全部 SDK
3.LLM Profile 配置与工作流步骤解耦
4.兼容协议的提供商通过继承复用零代码(如 Grok 继承 OpenAI Backend)
5.LLMProfilesConfig 用 model_validator 自动注入 default 和 embedding 两个必需 profile
6.HTTPLLMClient 内联轻量 Embedding Backend 避免跨模块循环依赖