问题域/PD-72

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转换保持框架无感知