Skip to main content

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

Project description

Grami AI Framework

Overview

Grami is a dynamic and flexible AI agent framework designed to create powerful, customizable AI agents with ease. The framework provides a comprehensive set of abstractions for building AI-powered applications across various domains.

Key Features

  • Dynamic Agent Creation: Define AI agents with specific roles and capabilities
  • Multi-LLM Support: Compatible with multiple Language Models (OpenAI, Gemini, Anthropic, etc.)
  • Flexible Communication: Supports various communication interfaces (WebSocket, REST, Kafka)
  • Extensible Memory Management: Pluggable memory providers (In-Memory, Redis, DynamoDB)
  • Tool Customization: Easily add and manage tools for agent functionality
  • Streaming Responses: Support for streaming token-by-token responses
  • Asynchronous Design: Built with modern Python async/await paradigms

Quick Start

Installation

pip install grami-ai

Basic Usage

from grami.agent import Agent
from grami.providers import GeminiProvider
from grami.tools import CalculatorTool

async def main():
    # Create an AI agent with a specific role and tool
    math_agent = Agent(
        name="MathAssistant",
        role="Mathematical Problem Solver",
        llm_provider=GeminiProvider(api_key="your_api_key"),
        tools=[CalculatorTool()],
        initial_context=[
            {
                "role": "system", 
                "content": "You are a helpful math assistant."
            }
        ]
    )

    # Send a message and get a response
    response = await math_agent.send_message("Calculate the area of a circle with radius 5")
    print(response)

    # Stream a detailed explanation
    async for token in math_agent.stream_message("Explain circle area calculation"):
        print(token, end='', flush=True)

Supported Language Models

  • Google Gemini
  • OpenAI GPT
  • Anthropic Claude (Coming Soon)

Tools and Extensibility

Grami supports custom tools that agents can use to enhance their capabilities:

  • Calculator Tool
  • Web Search Tool
  • Weather Information Tool
  • Custom Tool Development Support

Contributing

We welcome contributions! Please see our CONTRIBUTING.md for details on how to get started.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Roadmap

  • Add more LLM providers
  • Enhance tool ecosystem
  • Improve documentation
  • Add comprehensive test suite

Contact

For questions, support, or collaboration, please open an issue on our GitHub repository.

.. image:: https://img.shields.io/badge/version-0.3.107-blue.svg :target: https://github.com/your-username/grami-ai :alt: Version

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.107.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

grami_ai-0.3.107-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: grami_ai-0.3.107.tar.gz
  • Upload date:
  • Size: 9.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.107.tar.gz
Algorithm Hash digest
SHA256 0d72afb3a7cdbf76a2e23257f9a36d67bef31ee06376a65081d6605330402f48
MD5 7d14b854fb23b235b5fc464b4e4f09de
BLAKE2b-256 a158d465b006189800e10935c23069c2cbafda2413440cdd978e08d1e2d0b353

See more details on using hashes here.

File details

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

File metadata

  • Download URL: grami_ai-0.3.107-py3-none-any.whl
  • Upload date:
  • Size: 11.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.107-py3-none-any.whl
Algorithm Hash digest
SHA256 aa4fd566248fd90f1de420a12c717595a561382185c31cd53f9341593cd13010
MD5 63879d2052e6056df5a45d3bf5518f9e
BLAKE2b-256 69b0624f6c87ec86703f37b527bffa64515d2effcac24dc6bc39f1a3d02c6eba

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