Как я могу сохранить ObjectIndex в своей файловой системе, чтобы мне не приходилось каждый раз заново создавать его с помощью LlamaIndex?
Начну с того, что я совершенно новичок в этом, поэтому очень благодарен за любую помощь, которую могу получить!
У меня есть следующий код (из одного из примеров SQL с сайта LlamaIndex)
engine = create_engine('url')
sql_database = SQLDatabase(engine)
table_node_mapping = SQLTableNodeMapping(sql_database)
index_text = "Some text describing the table"
table_schema_objs = []
table_schema_objs.append(SQLTableSchema(table_name="table_name", context_str=index_text))
index = ObjectIndex.from_objects(
table_schema_objs,
table_node_mapping,
VectorStoreIndex,
)
Он работает отлично, и я могу использоватьSQLTableRetrieverQueryEngine
запросить базу данных и получить ответы. Но я хочу иметь возможность создать индекс один раз, чтобы можно было использовать его повторно, не создавая каждый раз заново.
В одном из других примеров с веб-сайта показано, как сохранить индекс в такой папке.
parser = SimpleNodeParser()
nodes = parser.get_nodes_from_documents(documents)
index = GPTVectorStoreIndex(nodes)
index.storage_context.persist(persist_dir="index")
Я хочу сделать то же самое, но с индексом, который я создал с помощьюObjectIndex.from_objects
, но я не могу понять, как это сделать.
Я, конечно, могу создать другой тип индекса, но из других примеров казалось, что для создания индекса для ввода использовался текст, а не объекты.