Nijika AI Agent Framework
A dynamic, industry-agnostic AI agent framework designed for seamless integration across multiple AI providers and models.
🚀 Overview
Nijika is a comprehensive Python-based AI agent framework that provides:
- Multi-Provider Support: Seamless integration with OpenAI, Anthropic, Google, Azure, and more
- Workflow Management: Visual workflow designer and execution engine
- Tools Integration: Extensible tool system for various functionalities
- RAG Capabilities: Built-in Retrieval-Augmented Generation support
- Planning & Execution: Advanced planning algorithms with execution monitoring
- Industry Agnostic: Adaptable to finance, healthcare, e-commerce, education, and more
🏗️ Architecture
nijika/
├── core/ # Core framework components
│ ├── agent/ # Agent management and lifecycle
│ ├── providers/ # AI provider abstractions
│ ├── memory/ # Memory management system
│ └── config/ # Configuration management
├── workflows/ # Workflow management system
│ ├── engine/ # Workflow execution engine
│ ├── designer/ # Visual workflow designer
│ └── templates/ # Pre-built workflow templates
├── tools/ # Tool integration system
│ ├── registry/ # Tool registry and discovery
│ ├── builtin/ # Built-in tools
│ └── custom/ # Custom tool development
├── rag/ # RAG implementation
│ ├── retrievers/ # Document retrieval systems
│ ├── embeddings/ # Embedding management
│ └── storage/ # Vector storage backends
├── planning/ # Planning and reasoning
│ ├── strategies/ # Planning strategies
│ ├── executors/ # Execution engines
│ └── monitors/ # Execution monitoring
├── ui/ # User interface components
│ ├── dashboard/ # Management dashboard
│ ├── chat/ # Chat interface
│ └── api/ # REST API
└── examples/ # Example implementations
📦 Key Features
1. Multi-Provider AI Integration
- Unified interface for various AI providers
- Dynamic model switching and load balancing
- Cost optimization and rate limiting
- Provider-specific optimizations
2. Workflow Management
- Visual drag-and-drop workflow designer
- Conditional logic and branching
- Parallel execution and synchronization
- Workflow templates for common use cases
3. Tools & Extensions
- Plugin architecture for custom tools
- Built-in tools for common operations
- Tool composition and chaining
- Security and sandboxing
4. RAG System
- Multiple vector database support
- Hybrid search capabilities
- Document chunking and preprocessing
- Context-aware retrieval
5. Planning & Execution
- Multi-step planning algorithms
- Self-correcting execution
- Progress monitoring and logging
- Rollback and error handling
🚀 Quick Start
from nijika import Agent, WorkflowEngine, RAGSystem
# Create an agent with multiple providers
agent = Agent(
name="customer_service_agent",
providers=["openai", "anthropic"],
tools=["email", "database", "knowledge_base"]
)
# Setup RAG system
rag = RAGSystem(
documents_path="./knowledge_base",
embeddings_provider="openai",
vector_store="faiss"
)
# Create workflow
workflow = WorkflowEngine().create_workflow([
{"step": "understand_query", "tool": "nlp_processor"},
{"step": "retrieve_context", "tool": "rag_retriever"},
{"step": "generate_response", "tool": "llm_generator"},
{"step": "validate_response", "tool": "quality_checker"}
])
# Execute
result = agent.execute(
query="How can I return a product?",
workflow=workflow,
context=rag.get_context()
)
🏭 Industry Applications
Finance
- Fraud detection and risk assessment
- Automated trading strategies
- Customer service and support
- Regulatory compliance monitoring
Healthcare
- Medical diagnosis assistance
- Patient care coordination
- Drug discovery research
- Clinical trial management
E-commerce
- Product recommendations
- Customer support automation
- Inventory management
- Price optimization
Education
- Personalized learning paths
- Automated grading and feedback
- Content generation
- Student support systems
🔧 Installation
pip install nijika
📚 Documentation
🤝 Contributing
We welcome contributions! Please see our Contributing Guide for details.
📄 License
MIT License - see LICENSE file for details.
Metadata
Release files for nijika 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| nijika-1.0.0.tar.gz | 67.6 kB | Without provenance | Details for nijika-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| nijika-1.0.0-py3-none-any.whl | Python 3 | none | any | Details for nijika-1.0.0-py3-none-any.whl |
Total release size: 108.1 kB
Release files / nijika-1.0.0.tar.gz
| Download URL | nijika-1.0.0.tar.gz |
|---|---|
| Size | 67.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
26d9596016e3192cef4d1a3d0245a4cd81298ce6d5975651b7660a7ee20d0c6b
|
|
BLAKE2b-256 checksum How to use checksums |
ca7e063087574d0e3645308134b4f8df35530b4b4ad41d6a99e6ddd6786ddf41
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.6
|
Release files / nijika-1.0.0-py3-none-any.whl
| Download URL | nijika-1.0.0-py3-none-any.whl |
|---|---|
| Size | 40.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d51ca6835826c5d79ba744130e78e8fa2b209f414631c52e6a17a0b318691e02
|
|
BLAKE2b-256 checksum How to use checksums |
31a5c1b4ea83987973cf8be6f23bcc027fe3b63a15b7f4e434ab8b9dbdb3dea8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.6
|
Security for nijika 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.