Embedding多提供商适配
Embedding Provider Adaptation
统一Embedding接口、适配器模式管理多提供商、兼容多RAG框架
子问题
1.多Embedding提供商统一接口
2.适配器模式隔离提供商差异
3.与LightRAG等框架的兼容适配
4.Embedding配置集中管理
5.Embedding API版本兼容(如Cohere v1/v2)
6.本地Embedding服务可用性检测与容错
7.同步/异步双模式调用适配
各项目的解法1 solutions
Signals
横向对比
| 维度 | DeepTutor |
|---|---|
| 适配器架构 | ABC基类 + 4个子类覆盖8种提供商,OpenAI兼容协议复用5种 |
| 请求标准化 | 超集EmbeddingRequest dataclass,各适配器按需取用字段 |
| 提供商注册 | ADAPTER_MAPPING字典静态注册,binding名→适配器类映射 |
| 框架兼容 | get_embedding_func()桥接LightRAG,numpy数组转换 |
| 本地支持 | Ollama适配器含三层容错:模型检测、连接检测、超时保护 |
| 配置管理 | 双源优先级:统一配置服务 > .env环境变量 |
| API版本兼容 | Cohere适配器按模型名自动选择v1/v2 API |
最佳实践
1.BaseEmbeddingAdapter定义统一接口
2.ADAPTER_MAPPING集中注册提供商
3.单例EmbeddingClient避免重复初始化
4.超集请求结构覆盖所有提供商能力,各适配器按需取用
5.OpenAI兼容协议复用减少适配器数量
6.模型元数据内嵌API版本自动选择调用路径
7.LightRAG桥接层做List→numpy转换保持框架无感知