索引

本文档展示了用于表示索引的总体类。这些类允许创建、插入和查询索引。我们首先展示不同的索引子类。然后,我们展示所有索引继承的基类,其中包含所有索引共有的参数和方法。

基础索引类

Base index classes.

class llama_index.indices.base.BaseGPTIndex(nodes: Optional[Sequence[Node]] = None, index_struct: Optional[IS] = None, storage_context: Optional[StorageContext] = None, service_context: Optional[ServiceContext] = None, **kwargs: Any)

Base LlamaIndex.

参数
  • nodes (List[Node]) -- List of nodes to index

  • service_context (ServiceContext) -- Service context container (contains components like LLMPredictor, PromptHelper, etc.).

delete(doc_id: str, **delete_kwargs: Any) None

Delete a document from the index. All nodes in the index related to the index will be deleted.

参数

doc_id (str) -- A doc_id of the ingested document

delete_nodes(doc_ids: List[str], delete_from_docstore: bool = False, **delete_kwargs: Any) None

Delete a list of nodes from the index.

参数

doc_ids (List[str]) -- A list of doc_ids from the nodes to delete

delete_ref_doc(ref_doc_id: str, delete_from_docstore: bool = False, **delete_kwargs: Any) None

Delete a document and it's nodes by using ref_doc_id.

property docstore: BaseDocumentStore

Get the docstore corresponding to the index.

classmethod from_documents(documents: Sequence[Document], storage_context: Optional[StorageContext] = None, service_context: Optional[ServiceContext] = None, **kwargs: Any) IndexType

Create index from documents.

参数

documents (Optional[Sequence[BaseDocument]]) -- List of documents to build the index from.

property index_id: str

Get the index struct.

property index_struct: IS

Get the index struct.

insert(document: Document, **insert_kwargs: Any) None

Insert a document.

abstract property ref_doc_info: Dict[str, RefDocInfo]

Retrieve a dict mapping of ingested documents and their nodes+metadata.

refresh(documents: Sequence[Document], **update_kwargs: Any) List[bool]

Refresh an index with documents that have changed.

This allows users to save LLM and Embedding model calls, while only updating documents that have any changes in text or extra_info. It will also insert any documents that previously were not stored.

refresh_ref_docs(documents: Sequence[Document], **update_kwargs: Any) List[bool]

Refresh an index with documents that have changed.

This allows users to save LLM and Embedding model calls, while only updating documents that have any changes in text or extra_info. It will also insert any documents that previously were not stored.

set_index_id(index_id: str) None

Set the index id.

NOTE: if you decide to set the index_id on the index_struct manually, you will need to explicitly call add_index_struct on the index_store to update the index store.

参数

index_id (str) -- Index id to set.

update(document: Document, **update_kwargs: Any) None

Update a document and it's corresponding nodes.

This is equivalent to deleting the document and then inserting it again.

参数
  • document (Union[BaseDocument, BaseGPTIndex]) -- document to update

  • insert_kwargs (Dict) -- kwargs to pass to insert

  • delete_kwargs (Dict) -- kwargs to pass to delete

update_ref_doc(document: Document, **update_kwargs: Any) None

Update a document and it's corresponding nodes.

This is equivalent to deleting the document and then inserting it again.

参数
  • document (Union[BaseDocument, BaseGPTIndex]) -- document to update

  • insert_kwargs (Dict) -- kwargs to pass to insert

  • delete_kwargs (Dict) -- kwargs to pass to delete