document_stores.vector_store_factory

向量存储工厂模式实现

提供统一的向量存储创建接口,支持自动后端选择、配置验证、 错误回退和存储迁移功能。

Functions

create_vector_store(config[, auto_fallback])

创建向量存储的便捷函数。

get_available_backends()

获取可用存储后端的便捷函数。

recommend_backend([requirements])

推荐存储后端的便捷函数。

Classes

BackendInfo

VectorStoreFactory()

向量存储工厂类。

class document_stores.vector_store_factory.BackendInfo[source]

Bases: TypedDict

class_name: str
module: str
dependencies: List[str]
description: str
class document_stores.vector_store_factory.VectorStoreFactory[source]

Bases: object

向量存储工厂类。

负责根据配置创建合适的向量存储后端,提供自动回退、 配置验证和存储迁移功能。

__init__()[source]

初始化工厂类

classmethod create(config, auto_fallback=True, validate_config=True)[source]

创建向量存储实例。

Parameters:
  • config (Dict[str, Any]) – 存储配置字典

  • auto_fallback (bool) – 是否启用自动回退机制

  • validate_config (bool) – 是否验证配置

Returns:

向量存储实例

Raises:

VectorStoreError – 创建失败时抛出

Return type:

BaseVectorStore

classmethod get_available_backends()[source]

获取可用的存储后端信息。

Returns:

后端信息字典

Return type:

Dict[str, Dict[str, Any]]

根据需求推荐最佳存储后端。

Parameters:

requirements (Dict[str, Any] | None) – 需求字典,包含document_count, performance_level等

Returns:

推荐的存储类型

Return type:

str

classmethod migrate_storage(source_config, target_config, batch_size=1000)[source]

存储迁移功能。

Parameters:
  • source_config (Dict[str, Any]) – 源存储配置

  • target_config (Dict[str, Any]) – 目标存储配置

  • batch_size (int) – 批量迁移大小

Returns:

迁移成功返回True

Return type:

bool

document_stores.vector_store_factory.create_vector_store(config, auto_fallback=True)[source]

创建向量存储的便捷函数。

Parameters:
  • config (Dict[str, Any]) – 存储配置

  • auto_fallback (bool) – 启用自动回退

Returns:

向量存储实例

Return type:

BaseVectorStore

document_stores.vector_store_factory.get_available_backends()[source]

获取可用存储后端的便捷函数。

Returns:

后端信息字典

Return type:

Dict[str, Dict[str, Any]]

document_stores.vector_store_factory.recommend_backend(requirements=None)[source]

推荐存储后端的便捷函数。

Parameters:

requirements (Dict[str, Any] | None) – 需求字典

Returns:

推荐的存储类型

Return type:

str