nijika


Namenijika JSON
Version 1.0.0 PyPI version JSON
download
home_pagehttps://github.com/nijika-ai/nijika
SummaryA dynamic, industry-agnostic AI agent framework for seamless multi-provider integration
upload_time2025-07-16 11:37:35
maintainerNone
docs_urlNone
authorNijika Team
requires_python>=3.8
licenseMIT
keywords ai agent framework automation workflow rag planning tools multi-provider llm openai anthropic google enterprise customer-service finance healthcare e-commerce education
VCS
bugtrack_url
requirements aiohttp aiosqlite numpy pydantic PyYAML python-dotenv fastapi uvicorn sqlalchemy asyncio-mqtt websockets structlog click rich jinja2 httpx pydantic-settings asyncpg redis python-multipart bcrypt python-jose passlib python-dateutil pytz markdown python-magic chardet requests
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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"
}
        
Elapsed time: 0.84467s