Skip to main content

A dynamic, industry-agnostic AI agent framework for seamless multi-provider integration

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nijika-1.0.0.tar.gz (67.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nijika-1.0.0-py3-none-any.whl (40.4 kB view details)

Uploaded Python 3

File details

Details for the file nijika-1.0.0.tar.gz.

File metadata

  • Download URL: nijika-1.0.0.tar.gz
  • Upload date:
  • Size: 67.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.6

File hashes

Hashes for nijika-1.0.0.tar.gz
Algorithm Hash digest
SHA256 26d9596016e3192cef4d1a3d0245a4cd81298ce6d5975651b7660a7ee20d0c6b
MD5 3275fdf8a4e0ab398a05e2a044dd0202
BLAKE2b-256 ca7e063087574d0e3645308134b4f8df35530b4b4ad41d6a99e6ddd6786ddf41

See more details on using hashes here.

File details

Details for the file nijika-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: nijika-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 40.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.6

File hashes

Hashes for nijika-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d51ca6835826c5d79ba744130e78e8fa2b209f414631c52e6a17a0b318691e02
MD5 d20fc8e4ea46d0f07ad580c1c0a75ed9
BLAKE2b-256 31a5c1b4ea83987973cf8be6f23bcc027fe3b63a15b7f4e434ab8b9dbdb3dea8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page