document_stores.implementations.memory_vector_store

内存向量存储实现

基于Haystack InMemoryDocumentStore的向量存储适配器, 提供与现有系统的向后兼容性。

Classes

InMemoryVectorStore(config)

基于Haystack InMemoryDocumentStore的内存向量存储。

class document_stores.implementations.memory_vector_store.InMemoryVectorStore(config)[source]

Bases: BaseVectorStore

基于Haystack InMemoryDocumentStore的内存向量存储。

提供与现有系统的完全兼容性,适用于开发、测试和小规模场景。

__init__(config)[source]

初始化内存向量存储。

Parameters:

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

initialize()[source]

初始化内存存储(无需特殊初始化)。

Returns:

总是返回True

Return type:

bool

add_documents(documents, embeddings=None)[source]

添加文档到内存存储。

Parameters:
  • documents (List[Document]) – Haystack文档列表

  • embeddings (List[List[float]] | None) – 对应的向量嵌入列表

Returns:

添加成功返回True,失败返回False

Return type:

bool

search(query_embedding, top_k=5, filters=None)[source]

在内存存储中进行向量搜索。

Parameters:
  • query_embedding (List[float]) – 查询向量

  • top_k (int) – 返回的最相似文档数量

  • filters (Dict[str, Any] | None) – 元数据过滤条件

Returns:

包含(文档, 相似度得分)的元组列表

Return type:

List[Tuple[Document, float]]

get_document_by_id(doc_id)[source]

根据文档ID获取文档。

Parameters:

doc_id (str) – 文档ID

Returns:

文档对象,不存在则返回None

Return type:

Document | None

update_document(doc_id, document, embedding=None)[source]

更新文档。

Parameters:
  • doc_id (str) – 文档ID

  • document (Document) – 新的文档对象

  • embedding (List[float] | None) – 新的向量嵌入

Returns:

更新成功返回True,失败返回False

Return type:

bool

delete_document(doc_id)[source]

删除文档。

Parameters:

doc_id (str) – 文档ID

Returns:

删除成功返回True,失败返回False

Return type:

bool

delete_all_documents()[source]

删除所有文档。

Returns:

删除成功返回True,失败返回False

Return type:

bool

get_document_count()[source]

获取文档总数。

Returns:

文档总数

Return type:

int

save_index(path)[source]

保存索引(内存存储不支持持久化)。

Parameters:

path (str) – 保存路径

Returns:

总是返回False(不支持持久化)

Return type:

bool

load_index(path)[source]

加载索引(内存存储不支持持久化)。

Parameters:

path (str) – 索引文件路径

Returns:

总是返回False(不支持持久化)

Return type:

bool

get_haystack_store()[source]

获取底层Haystack存储对象(用于兼容性)。

Returns:

InMemoryDocumentStore对象

Return type:

InMemoryDocumentStore