langchain_core.indexing.api
.aindex¶
- async langchain_core.indexing.api.aindex(docs_source: Union[BaseLoader, Iterable[Document], AsyncIterator[Document]], record_manager: RecordManager, vector_store: VectorStore, *, batch_size: int = 100, cleanup: Optional[Literal['incremental', 'full', None]] = None, source_id_key: Optional[Union[str, Callable[[Document], str]]] = None, cleanup_batch_size: int = 1000, force_update: bool = False) IndexingResult [source]¶
将加载器中的数据异步索引到向量存储中。
索引功能使用管理器来跟踪哪些文档在向量存储中。
这允许我们跟踪哪些文档已被更新,哪些文档被删除,哪些文档应该跳过。
- 目前,文档使用它们的哈希进行索引,用户
无法指定文档的uid。
重要
如果自动清理设置为True,加载器应该返回整个数据集,而不仅仅是数据集的子集。否则,自动清理将删除它不应该删除的文档。
- 参数
docs_source (联合[BaseLoader, 可迭代对象[文档], 异步迭代器[文档]]) – 数据加载器或可迭代的文档索引。
record_manager (记录管理器) – 标记时间戳的集合,用于跟踪哪些文档已更新。
vector_store (向量存储库) – 将文档索引到的向量存储库。
batch_size (整型) – 索引时的批次大小。默认为100。
cleanup (可选[文字['incremental', 'full', None]]) –
如何处理文档清理。默认为None。 - Incremental: 清理所有未更新的文档以及
与索引过程中遇到的源ID关联的文档。清理在整个索引过程中持续进行,有助于最大限度地减少用户看到重复内容的可能性。
- Full: 删除所有必须由加载器返回的文档。
清理在所有文档都已索引后运行。这意味着用户在索引过程中可能会看到重复内容。
None: 不删除任何文档。
source_id_key (可选[联合[字符串, 可调用[[文档], 字符串]]]) – 可选的键,有助于识别文档的原始来源。默认为None。
cleanup_batch_size (整型) – 清理文档时使用的批大小。默认为1,000。
force_update (布尔型) – 即使文档已存在于记录管理器中,也强制更新文档。如果有使用更新的嵌入重新索引,则非常有用。默认为False。
- 返回
索引结果,其中包含有关已添加、更新、删除或跳过的文档数量的信息。
- 引发
ValueError – 如果清理模式不是'incremental'、'full'或None之一
ValueError – 如果清理模式是incremental且source_id_key为None。
ValueError – 如果向量存储库未具有所需的“adelete”和“aadd_documents”方法。
ValueError – 如果source_id_key不为空,但不是字符串或可调用。
- 返回类型