# 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
```python
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
```bash
pip install nijika
```
## 📚 Documentation
- [Getting Started Guide](docs/getting-started.md)
- [API Reference](docs/api-reference.md)
- [Workflow Designer](docs/workflow-designer.md)
- [Tool Development](docs/tool-development.md)
- [Examples](examples/)
## 🤝 Contributing
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
## 📄 License
MIT License - see [LICENSE](LICENSE) file for details.
Raw data
{
"_id": null,
"home_page": "https://github.com/nijika-ai/nijika",
"name": "nijika",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "Nijika Team <support@nijika.ai>",
"keywords": "ai, agent, framework, automation, workflow, rag, planning, tools, multi-provider, llm, openai, anthropic, google, enterprise, customer-service, finance, healthcare, e-commerce, education",
"author": "Nijika Team",
"author_email": "Nijika Team <support@nijika.ai>",
"download_url": "https://files.pythonhosted.org/packages/ca/7e/063087574d0e3645308134b4f8df35530b4b4ad41d6a99e6ddd6786ddf41/nijika-1.0.0.tar.gz",
"platform": null,
"description": "# Nijika AI Agent Framework\r\n\r\nA dynamic, industry-agnostic AI agent framework designed for seamless integration across multiple AI providers and models.\r\n\r\n## \ud83d\ude80 Overview\r\n\r\nNijika is a comprehensive Python-based AI agent framework that provides:\r\n- **Multi-Provider Support**: Seamless integration with OpenAI, Anthropic, Google, Azure, and more\r\n- **Workflow Management**: Visual workflow designer and execution engine\r\n- **Tools Integration**: Extensible tool system for various functionalities\r\n- **RAG Capabilities**: Built-in Retrieval-Augmented Generation support\r\n- **Planning & Execution**: Advanced planning algorithms with execution monitoring\r\n- **Industry Agnostic**: Adaptable to finance, healthcare, e-commerce, education, and more\r\n\r\n## \ud83c\udfd7\ufe0f Architecture\r\n\r\n```\r\nnijika/\r\n\u251c\u2500\u2500 core/ # Core framework components\r\n\u2502 \u251c\u2500\u2500 agent/ # Agent management and lifecycle\r\n\u2502 \u251c\u2500\u2500 providers/ # AI provider abstractions\r\n\u2502 \u251c\u2500\u2500 memory/ # Memory management system\r\n\u2502 \u2514\u2500\u2500 config/ # Configuration management\r\n\u251c\u2500\u2500 workflows/ # Workflow management system\r\n\u2502 \u251c\u2500\u2500 engine/ # Workflow execution engine\r\n\u2502 \u251c\u2500\u2500 designer/ # Visual workflow designer\r\n\u2502 \u2514\u2500\u2500 templates/ # Pre-built workflow templates\r\n\u251c\u2500\u2500 tools/ # Tool integration system\r\n\u2502 \u251c\u2500\u2500 registry/ # Tool registry and discovery\r\n\u2502 \u251c\u2500\u2500 builtin/ # Built-in tools\r\n\u2502 \u2514\u2500\u2500 custom/ # Custom tool development\r\n\u251c\u2500\u2500 rag/ # RAG implementation\r\n\u2502 \u251c\u2500\u2500 retrievers/ # Document retrieval systems\r\n\u2502 \u251c\u2500\u2500 embeddings/ # Embedding management\r\n\u2502 \u2514\u2500\u2500 storage/ # Vector storage backends\r\n\u251c\u2500\u2500 planning/ # Planning and reasoning\r\n\u2502 \u251c\u2500\u2500 strategies/ # Planning strategies\r\n\u2502 \u251c\u2500\u2500 executors/ # Execution engines\r\n\u2502 \u2514\u2500\u2500 monitors/ # Execution monitoring\r\n\u251c\u2500\u2500 ui/ # User interface components\r\n\u2502 \u251c\u2500\u2500 dashboard/ # Management dashboard\r\n\u2502 \u251c\u2500\u2500 chat/ # Chat interface\r\n\u2502 \u2514\u2500\u2500 api/ # REST API\r\n\u2514\u2500\u2500 examples/ # Example implementations\r\n```\r\n\r\n## \ud83d\udce6 Key Features\r\n\r\n### 1. Multi-Provider AI Integration\r\n- Unified interface for various AI providers\r\n- Dynamic model switching and load balancing\r\n- Cost optimization and rate limiting\r\n- Provider-specific optimizations\r\n\r\n### 2. Workflow Management\r\n- Visual drag-and-drop workflow designer\r\n- Conditional logic and branching\r\n- Parallel execution and synchronization\r\n- Workflow templates for common use cases\r\n\r\n### 3. Tools & Extensions\r\n- Plugin architecture for custom tools\r\n- Built-in tools for common operations\r\n- Tool composition and chaining\r\n- Security and sandboxing\r\n\r\n### 4. RAG System\r\n- Multiple vector database support\r\n- Hybrid search capabilities\r\n- Document chunking and preprocessing\r\n- Context-aware retrieval\r\n\r\n### 5. Planning & Execution\r\n- Multi-step planning algorithms\r\n- Self-correcting execution\r\n- Progress monitoring and logging\r\n- Rollback and error handling\r\n\r\n## \ud83d\ude80 Quick Start\r\n\r\n```python\r\nfrom nijika import Agent, WorkflowEngine, RAGSystem\r\n\r\n# Create an agent with multiple providers\r\nagent = Agent(\r\n name=\"customer_service_agent\",\r\n providers=[\"openai\", \"anthropic\"],\r\n tools=[\"email\", \"database\", \"knowledge_base\"]\r\n)\r\n\r\n# Setup RAG system\r\nrag = RAGSystem(\r\n documents_path=\"./knowledge_base\",\r\n embeddings_provider=\"openai\",\r\n vector_store=\"faiss\"\r\n)\r\n\r\n# Create workflow\r\nworkflow = WorkflowEngine().create_workflow([\r\n {\"step\": \"understand_query\", \"tool\": \"nlp_processor\"},\r\n {\"step\": \"retrieve_context\", \"tool\": \"rag_retriever\"},\r\n {\"step\": \"generate_response\", \"tool\": \"llm_generator\"},\r\n {\"step\": \"validate_response\", \"tool\": \"quality_checker\"}\r\n])\r\n\r\n# Execute\r\nresult = agent.execute(\r\n query=\"How can I return a product?\",\r\n workflow=workflow,\r\n context=rag.get_context()\r\n)\r\n```\r\n\r\n## \ud83c\udfed Industry Applications\r\n\r\n### Finance\r\n- Fraud detection and risk assessment\r\n- Automated trading strategies\r\n- Customer service and support\r\n- Regulatory compliance monitoring\r\n\r\n### Healthcare\r\n- Medical diagnosis assistance\r\n- Patient care coordination\r\n- Drug discovery research\r\n- Clinical trial management\r\n\r\n### E-commerce\r\n- Product recommendations\r\n- Customer support automation\r\n- Inventory management\r\n- Price optimization\r\n\r\n### Education\r\n- Personalized learning paths\r\n- Automated grading and feedback\r\n- Content generation\r\n- Student support systems\r\n\r\n## \ud83d\udd27 Installation\r\n\r\n```bash\r\npip install nijika\r\n```\r\n\r\n## \ud83d\udcda Documentation\r\n\r\n- [Getting Started Guide](docs/getting-started.md)\r\n- [API Reference](docs/api-reference.md)\r\n- [Workflow Designer](docs/workflow-designer.md)\r\n- [Tool Development](docs/tool-development.md)\r\n- [Examples](examples/)\r\n\r\n## \ud83e\udd1d Contributing\r\n\r\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.\r\n\r\n## \ud83d\udcc4 License\r\n\r\nMIT License - see [LICENSE](LICENSE) file for details. \r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A dynamic, industry-agnostic AI agent framework for seamless multi-provider integration",
"version": "1.0.0",
"project_urls": {
"Bug Reports": "https://github.com/nijika-ai/nijika/issues",
"Changelog": "https://github.com/nijika-ai/nijika/blob/main/CHANGELOG.md",
"Documentation": "https://docs.nijika.ai",
"Homepage": "https://github.com/nijika-ai/nijika",
"Repository": "https://github.com/nijika-ai/nijika"
},
"split_keywords": [
"ai",
" agent",
" framework",
" automation",
" workflow",
" rag",
" planning",
" tools",
" multi-provider",
" llm",
" openai",
" anthropic",
" google",
" enterprise",
" customer-service",
" finance",
" healthcare",
" e-commerce",
" education"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "31a5c1b4ea83987973cf8be6f23bcc027fe3b63a15b7f4e434ab8b9dbdb3dea8",
"md5": "d20fc8e4ea46d0f07ad580c1c0a75ed9",
"sha256": "d51ca6835826c5d79ba744130e78e8fa2b209f414631c52e6a17a0b318691e02"
},
"downloads": -1,
"filename": "nijika-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d20fc8e4ea46d0f07ad580c1c0a75ed9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 40446,
"upload_time": "2025-07-16T11:37:33",
"upload_time_iso_8601": "2025-07-16T11:37:33.148813Z",
"url": "https://files.pythonhosted.org/packages/31/a5/c1b4ea83987973cf8be6f23bcc027fe3b63a15b7f4e434ab8b9dbdb3dea8/nijika-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ca7e063087574d0e3645308134b4f8df35530b4b4ad41d6a99e6ddd6786ddf41",
"md5": "3275fdf8a4e0ab398a05e2a044dd0202",
"sha256": "26d9596016e3192cef4d1a3d0245a4cd81298ce6d5975651b7660a7ee20d0c6b"
},
"downloads": -1,
"filename": "nijika-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "3275fdf8a4e0ab398a05e2a044dd0202",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 67634,
"upload_time": "2025-07-16T11:37:35",
"upload_time_iso_8601": "2025-07-16T11:37:35.525517Z",
"url": "https://files.pythonhosted.org/packages/ca/7e/063087574d0e3645308134b4f8df35530b4b4ad41d6a99e6ddd6786ddf41/nijika-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-16 11:37:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "nijika-ai",
"github_project": "nijika",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "aiohttp",
"specs": [
[
">=",
"3.8.0"
]
]
},
{
"name": "aiosqlite",
"specs": [
[
">=",
"0.17.0"
]
]
},
{
"name": "numpy",
"specs": [
[
">=",
"1.21.0"
]
]
},
{
"name": "pydantic",
"specs": [
[
">=",
"1.10.0"
]
]
},
{
"name": "PyYAML",
"specs": [
[
">=",
"6.0"
]
]
},
{
"name": "python-dotenv",
"specs": [
[
">=",
"0.19.0"
]
]
},
{
"name": "fastapi",
"specs": [
[
">=",
"0.68.0"
]
]
},
{
"name": "uvicorn",
"specs": [
[
">=",
"0.15.0"
]
]
},
{
"name": "sqlalchemy",
"specs": [
[
">=",
"1.4.0"
]
]
},
{
"name": "asyncio-mqtt",
"specs": [
[
">=",
"0.11.0"
]
]
},
{
"name": "websockets",
"specs": [
[
">=",
"10.0"
]
]
},
{
"name": "structlog",
"specs": [
[
">=",
"21.0.0"
]
]
},
{
"name": "click",
"specs": [
[
">=",
"8.0.0"
]
]
},
{
"name": "rich",
"specs": [
[
">=",
"12.0.0"
]
]
},
{
"name": "jinja2",
"specs": [
[
">=",
"3.0.0"
]
]
},
{
"name": "httpx",
"specs": [
[
">=",
"0.23.0"
]
]
},
{
"name": "pydantic-settings",
"specs": [
[
">=",
"2.0.0"
]
]
},
{
"name": "asyncpg",
"specs": [
[
">=",
"0.25.0"
]
]
},
{
"name": "redis",
"specs": [
[
">=",
"4.0.0"
]
]
},
{
"name": "python-multipart",
"specs": [
[
">=",
"0.0.5"
]
]
},
{
"name": "bcrypt",
"specs": [
[
">=",
"3.2.0"
]
]
},
{
"name": "python-jose",
"specs": [
[
">=",
"3.3.0"
]
]
},
{
"name": "passlib",
"specs": [
[
">=",
"1.7.4"
]
]
},
{
"name": "python-dateutil",
"specs": [
[
">=",
"2.8.0"
]
]
},
{
"name": "pytz",
"specs": [
[
">=",
"2021.3"
]
]
},
{
"name": "markdown",
"specs": [
[
">=",
"3.3.0"
]
]
},
{
"name": "python-magic",
"specs": [
[
">=",
"0.4.27"
]
]
},
{
"name": "chardet",
"specs": [
[
">=",
"4.0.0"
]
]
},
{
"name": "requests",
"specs": [
[
">=",
"2.25.0"
]
]
}
],
"lcname": "nijika"
}