Transform complex AI applications into simple, composable agent systems using decorator-based APIs, secure messaging, and distributed deployment.
Just as coral reefs create complex, thriving ecosystems from simple organisms working together, Praval enables sophisticated AI systems through the collaboration of specialized agents.
Decorator-based @agent() API transforms functions into intelligent agents. Zero boilerplate, maximum clarity.
Agents coordinate without central control through the Reef communication protocol. True emergent intelligence.
ChromaDB-powered semantic memory with knowledge base support, including PDF indexing and cross-session learning.
End-to-end encryption (Secure Spores), multi-protocol messaging (AMQP, MQTT, STOMP), and production deployment.
Seamlessly work with OpenAI, Anthropic, Cohere, and more. Switch providers without code changes.
Declarative @tool decorator enables external API integrations, web searches, and custom capabilities.
Full-stack containerization with RabbitMQ, Mosquitto, Qdrant, and Redis. Production-ready infrastructure.
Knowledge-first messaging through Spores. Agents broadcast and subscribe to structured semantic data.
Build a retrieval-augmented generation system with specialized agents
from praval import agent, chat, broadcast, start_agents
# Knowledge base (use ChromaDB/Qdrant in production)
KNOWLEDGE = [
"Python is a high-level programming language...",
"Praval is a Pythonic multi-agent AI framework...",
]
@agent("retriever", responds_to=["query"])
def retriever(spore):
"""Retrieves relevant documents from knowledge base"""
question = spore.knowledge.get("question", "").lower()
# Find relevant documents
relevant = [doc for doc in KNOWLEDGE
if any(word in doc.lower()
for word in question.split())]
# Share context with responder
broadcast({
"type": "context",
"question": spore.knowledge.get("question"),
"docs": relevant
})
return {"retrieved": len(relevant)}
@agent("responder", responds_to=["context"])
def responder(spore):
"""Generates informed answer using retrieved context"""
question = spore.knowledge.get("question")
docs = spore.knowledge.get("docs", [])
context = "\n".join(docs)
prompt = f"Context:\n{context}\n\nQuestion: {question}"
answer = chat(prompt)
return {"answer": answer}
# Run the RAG system - agents coordinate automatically!
start_agents(retriever, responder,
initial_data={"type": "query",
"question": "What is Praval?"})
VentureLens: Multi-agent business analysis platform with dynamic questioning, viability scoring, and automated PDF report generation.
Knowledge Graph Miner: Automated concept discovery and relationship mapping with parallel LLM processing.
Multi-Agent RAG System: Retrieval-augmented generation with specialized agents for searching and responding.
ArXiv Paper Analyzer: Automated research paper discovery, download, and knowledge extraction.
pip install praval
# Add to .env file
OPENAI_API_KEY=your_openai_key
# Test your installation
python -c "from praval import agent; print('Ready!')"
# Full stack with RabbitMQ, Qdrant, Redis
docker-compose -f docker/docker-compose.secure.yml up -d
Praval was created by Rajesh Sampathkumar, a Data and AI leader with over 22 years of experience, including a decade spanning machine learning and AI. Rajesh has built AI and ML products and solutions in diverse domains such as automotive, aerospace, energy, telecommunications, and BFSI sectors.
His work focuses on architecting enterprise-scale generative AI applications, including agentic systems, RAG architectures, and compound AI systems. Praval emerged from the confluence of Rajesh's passion for self-organizing systems and complex adaptive systems on the one hand, and deep exploration of multi-agent frameworks on the other hand. Praval's vision is to make agentic AI development more Pythonic, composable, scalable and accessible.