Skip to main content

A dynamic and flexible AI agent framework for building intelligent, multi-modal AI agents

Project description

GRAMI-AI: Dynamic AI Agent Framework

Version Python Versions License GitHub Stars

Vision and Purpose

GRAMI-AI is a revolutionary, async-first AI agent framework designed to solve complex computational challenges through intelligent, collaborative agent interactions. Our mission is to create a highly flexible, extensible platform that empowers developers to build sophisticated, context-aware AI systems capable of adapting and collaborating across diverse domains.

Framework Philosophy

The core philosophy of GRAMI-AI is to provide an abstraction layer that:

  • Enables dynamic creation of AI agents with specific roles and capabilities
  • Supports multiple Language Models (LLMs) with their unique interfaces
  • Allows seamless integration of communication protocols
  • Provides flexible memory management
  • Supports extensible tool ecosystems

Key Architectural Goals

1. Dynamic Agent Creation

  • Define agents with precise roles (e.g., Growth Manager, Content Creator)
  • Customize system instructions and behavior
  • Support multi-modal capabilities (text, image, video generation)

2. LLM Abstraction

  • Unified interface for different LLMs (Gemini, OpenAI, Anthropic, Ollama)
  • Handle provider-specific nuances (prompt building, chat interfaces)
  • Flexible function/tool integration

3. Communication Interfaces

  • Support multiple protocols (WebSocket, REST, Kafka)
  • Enable inter-agent communication
  • Implement global state management

4. Memory Management

  • Pluggable memory providers (In-Memory, Redis, DynamoDB)
  • Persistent conversation and task history
  • Scalable state storage

5. Tool Ecosystem

  • Default utility tools (Kafka publisher, web search)
  • Easy custom tool development
  • Provider-specific function handling

Roadmap and TODO List

Short-term Goals

  • Complete core agent abstraction
  • Implement multi-LLM support
  • Develop comprehensive documentation
  • Create robust testing framework
  • Implement basic memory providers

Mid-term Goals

  • Advanced inter-agent communication
  • Kafka integration for agent crews
  • WebSocket chat interfaces
  • S3 and cloud storage integrations
  • Payment solution abstractions

Long-term Vision

  • Machine learning-driven agent optimization
  • Advanced context and memory management
  • Multi-language support
  • Enterprise-grade security features
  • Community-driven tool marketplace

Development Checklist

Core Framework Development

  • Implement base Agent abstract class
  • Create LLM provider abstraction layer
  • Develop async communication interfaces
  • Implement memory management system
  • Design tool integration mechanism

LLM Provider Support

  • Google Gemini integration
  • OpenAI GPT integration
  • Anthropic Claude integration
  • Ollama local LLM support
  • Add provider-specific function calling

Communication Protocols

  • WebSocket implementation
  • REST API endpoint design
  • Kafka message broker integration
  • gRPC support
  • Inter-agent communication protocol

Memory Management

  • In-memory state storage
  • Redis persistent storage
  • DynamoDB scalable storage
  • Conversation history tracking
  • State serialization/deserialization

Tool Ecosystem

  • Web search utility tool
  • Data analysis tool
  • Image generation tool
  • Code generation tool
  • Custom tool development framework

Testing and Quality

  • Unit tests for core components
  • Integration tests for agent interactions
  • Performance benchmarking
  • Security vulnerability scanning
  • Continuous integration setup

Documentation

  • Comprehensive API documentation
  • Detailed usage examples
  • Developer guides
  • Architecture overview
  • Contribution guidelines

Community and Extensibility

  • Open-source contribution model
  • Plugin architecture
  • Community tool repository
  • Regular maintenance and updates
  • Feedback and feature request system

Conceptual Agent Example

agent = AsyncAgent(
    llm=GeminiProvider(),            # LLM Provider
    memory=RedisMemoryProvider(),    # Memory Management
    tools=[                          # Extensible Tools
        KafkaPublisher(),
        WebSearchTool(),
        ContentAnalysisTool()
    ],
    system_instructions="You are a Growth Manager...",  # Role Definition
    communication_interface=WebSocketInterface(),
    storage=S3StorageProvider(),     # Optional Storage
    crew_config={                    # Optional Crew Configuration
        'team_members': ['ContentCreator', 'Researcher'],
        'communication_protocol': 'kafka'
    }
)

Community Contribution

We envision GRAMI-AI as a collaborative ecosystem where developers can:

  • Create and share custom tools
  • Develop new LLM integrations
  • Build memory providers
  • Implement communication interfaces
  • Contribute to core framework development

Current Capabilities

  • Async-first architecture
  • Basic agent creation
  • Gemini LLM integration
  • Simple tool support
  • Advanced inter-agent communication
  • Multiple memory providers
  • Comprehensive LLM support

Getting Started

pip install grami-ai

License

MIT License - Empowering open-source innovation

About YAFATEK Solutions

Pioneering AI innovation through flexible, powerful frameworks.

Contact & Support


Star ⭐ the project if you believe in collaborative AI innovation!

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

grami_ai-0.3.110.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

grami_ai-0.3.110-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file grami_ai-0.3.110.tar.gz.

File metadata

  • Download URL: grami_ai-0.3.110.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for grami_ai-0.3.110.tar.gz
Algorithm Hash digest
SHA256 48b42a9dc7687d650f27c6d5885e10a46bf9502c4422bd3c52a5b642564420ec
MD5 5db78845bb447bce3aca195a11476a54
BLAKE2b-256 24896706467bd23aeacd454d61f35c01bb8e0f0d251a985aca28988e626a5d5f

See more details on using hashes here.

File details

Details for the file grami_ai-0.3.110-py3-none-any.whl.

File metadata

  • Download URL: grami_ai-0.3.110-py3-none-any.whl
  • Upload date:
  • Size: 12.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for grami_ai-0.3.110-py3-none-any.whl
Algorithm Hash digest
SHA256 ebf4b4e146c9a835ba5829fde9eae403a59ccd9259e15d3f6592fc81fbd62a9b
MD5 7f405ceb1bf89c2eaad11e45ddf2eb98
BLAKE2b-256 dd113a95aafac1dfbbbdd597dd2f0cd0103fc86e516ad134a1376bf213d8cdc1

See more details on using hashes here.

Supported by

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