from praisonai.adapters import (
AutoReader,
ChromaVectorStore,
FusionRetriever,
LLMReranker
)
from praisonaiagents import Agent
# 1. Load documents
reader = AutoReader()
docs = reader.load("./knowledge_base/")
# 2. Store with embeddings
store = ChromaVectorStore(namespace="kb")
store.add(
texts=[d.content for d in docs],
embeddings=get_embeddings([d.content for d in docs])
)
# 3. Create retriever with fusion
agent = Agent(instructions="Query assistant")
retriever = FusionRetriever(
vector_store=store,
embedding_fn=get_embedding,
llm=agent,
num_queries=3
)
# 4. Create reranker
reranker = LLMReranker(model="gpt-4o-mini")
# 5. Query pipeline
query = "How to deploy Python apps?"
results = retriever.retrieve(query, top_k=20)
reranked = reranker.rerank(query, [r.text for r in results], top_k=5)
for r in reranked:
print(f"Score: {r.score:.3f} - {r.text[:100]}...")