Find answers from the community

Updated 4 months ago

Small question when storing multiple

At a glance
Small question when storing multiple VectorIndecies. I create my indexes like this:

Plain Text
print("Creating index for filter 'procedures'...")
index_procedure = create_index_procedure()
index_procedure.set_index_id('procedure')
index_procedure.storage_context.persist()

print("Creating index for filter 'taxonomy'...")
index_taxonomy = create_index_taxonomy()
index_taxonomy.set_index_id('taxonomy')
index_taxonomy.storage_context.persist()

print("Creating index for filter 'state'...")
index_state = create_index_state()
index_state.set_index_id('state')
index_state.storage_context.persist()


The functions create_index_** all call an internal function that does:

Plain Text
    # Create index
    index = VectorStoreIndex.from_documents(
        documents=documents,
        storage_context=get_storage_context() # common storage context I resuse all over the app
    )


Unfortunately, something seems to be wrong with the indeces, because when I try to load the data as such:

Plain Text
# Get storage context
storage_context = get_storage_context()

# Create indexes
index_procedure = load_index_from_storage(storage_context, 'procedure')
index_taxonomy = load_index_from_storage(storage_context, 'taxonomy')
index_state = load_index_from_storage(storage_context, 'state')


I get the reply ValueError: Failed to load index with ID procedure
L
1 comment
This worked for me

Plain Text
from llama_index.core import VectorStoreIndex, StorageContext, Document

storage_context = StorageContext.from_defaults()

index1 = VectorStoreIndex.from_documents([Document.example()], storage_context=storage_context)
index1.set_index_id("index1")

index2 = VectorStoreIndex.from_documents([Document.example()], storage_context=storage_context)
index2.set_index_id("index2")

storage_context.persist()

# load
from llama_index.core import load_index_from_storage

storage_context = StorageContext.from_defaults(persist_dir="./storage")

index1 = load_index_from_storage(storage_context, index_id="index1")

index2 = load_index_from_storage(storage_context, index_id="index2")
Add a reply
Sign up and join the conversation on Discord