Very interesting example in that link, can you please explain:
- Why similarity_top_k: 1 for the vector indices?
- Is the 1st query_configs still used once you composed the final one that contains the KW, Tree, and all Vector indices? Or was it overwritten?
- You said more general first, I see that in the final query_configs you go from KW, Tree to the single vector ones. But: to me it seems the most general one is the Tree Index (the abstraction layer), followed by the KW-Index root_node of graph#1 to compare, and then the single vector indices for straight questions.
- But why is the query_decompose then on the single simple_dict/Vector indices meant for straight simple questions and not on the root_index one that we built for more complex compare/contrast questions?
Great example to learn
BTW, this one part I could not find an explanation for in the references, what is happening here?
get root index
root_index = graph.get_index(graph.index_struct.root_id, GPTSimpleKeywordTableIndex)
set id of root index
root_index.index_struct.index_id = "compare_contrast"
root_summary = (
"This index contains Wikipedia articles about multiple cities. "
"Use this index if you want to compare multiple cities. "
)