The community members are discussing the use of embeddings in different types of indexes in the LlamaIndex library. The key points are:
- Vector index uses embeddings and vector store for semantic retrieval based on similarity. It can be used with the "tree_summarize" response mode.
- List index can also use embedding-based queries, where the embeddings of nodes are created when querying the data.
- Keyword index is a basic keyword search, and can be combined with vector index for a hybrid search.
- Tree index is not very useful and is mostly deprecated.
- The community members are unsure about the best practices for using the different index types (list, vector, tree, keyword) and when to use each one.
Can you correct me if I am wrong: only the vector store index uses embeddings and vector store when creating an indexs. But when querying a list Index, we can also use an embedding-based query, and in this case the embeddings of nodes are created when querying data? Where else does LlamaIndex use embeddings? Not in a tree index or keyword Table Index? And also, when is best to use List Index (when creating synthesized answer?), when the Vector index, when the tree (summaries?) and when the keyword Index...I'm not sure I understand what are best practicies? I'm sorry for basic questions, I want to understand ...
vector index == semantic retrieval based on similarity. Can be used with response_mode="tree_summarize" if you want
list index == good for queries that might need to read every node in an index. This is most useful for genrating summaries with response_mode="tree_summarize"
keyword index == just a basic keyword search. Sometimes people will combine this with the vector store index + reranking to create a hybrid search
tree index == not really useful tbh, is mostly deprecated at the moment