pip install llama-index
pip install llama-index-llms-ollama
pip install llama-index-embeddings-??
pip install llama-index-vector-stores-qdrant
# could use colbert to rerank
pip install llama-index-postprocessors-colbert-rerank
# or sentence-transformers
pip install llama-index-postprocessor-sbert-rerank
llm = ...
embed_model = ...
from llama_index.core import VectorStoreIndex, StorageContext
from llama_index.vector_stores.qdrant import QdrantVectorStore
storage_context = StorageContext.from_defaults(vector_store=QdrantVectorStore(...))
index = VectorStoreIndex.from_documents(documents, storage_context=storage_context, embed_model=embed_model)
from llama_index.core.chat_engine import CondensePlusContextChatEngine
from llama_index.postprocessor.sbert_rerank import SentenceTransformerRerank
chat_engine = CondensePlusContextChatEngine.from_defaults(
index.as_retriever(similarity_top_k=8),
node_postprocessors=[SentenceTransformerRerank(model="BAAI/bge-reranker-base", top_n=2)],
llm=llm,
)
chat_engine.chat("Hello")