langchain_core.indexing.api.index

langchain_core.indexing.api.index(docs_source: Union[BaseLoader, Iterable[Document]], record_manager: RecordManager, vector_store: VectorStore, *, batch_size: int = 100, cleanup: 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。

重要提示:

如果auto_cleanup设置为True,则加载器应返回整个数据集,而不仅仅是数据集的子集。 否则,auto_cleanup将删除不应删除的文档。

参数:

docs_source:要索引的数据加载器或文档的可迭代对象。 record_manager:时间戳集,用于跟踪哪些文档已更新。 vector_store:要将文档索引到的向量存储。 batch_size:索引时要使用的批量大小。 cleanup:如何处理文档的清理。

  • Incremental:清理所有未更新的文档和与索引期间看到的源ID相关联的文档。

    清理在索引过程中持续进行,有助于最小化用户看到重复内容的可能性。

  • Full:删除在此次索引运行期间未由加载器返回的所有文档。

    清理在所有文档被索引后运行。 这意味着用户在索引过程中可能会看到重复内容。

  • None:不删除任何文档。

source_id_key:帮助识别文档原始来源的可选键。 cleanup_batch_size:清理文档时要使用的批量大小。 force_update:即使文档已存在于记录管理器中,也强制更新文档。如果您正在重新索引具有更新嵌入的文档,则此选项很有用。

返回:

包含有关添加、更新、删除或跳过多少文档的索引结果。

Parameters
  • docs_source (Union[BaseLoader, Iterable[Document]]) –

  • record_manager (RecordManager) –

  • vector_store (VectorStore) –

  • batch_size (int) –

  • cleanup (Literal['incremental', 'full', None]) –

  • source_id_key (Optional[Union[str, Callable[[Document], str]]]) –

  • cleanup_batch_size (int) –

  • force_update (bool) –

Return type

IndexingResult

Examples using index