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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d72afb3a7cdbf76a2e23257f9a36d67bef31ee06376a65081d6605330402f48 |
|
MD5 | 7d14b854fb23b235b5fc464b4e4f09de |
|
BLAKE2b-256 | a158d465b006189800e10935c23069c2cbafda2413440cdd978e08d1e2d0b353 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa4fd566248fd90f1de420a12c717595a561382185c31cd53f9341593cd13010 |
|
MD5 | 63879d2052e6056df5a45d3bf5518f9e |
|
BLAKE2b-256 | 69b0624f6c87ec86703f37b527bffa64515d2effcac24dc6bc39f1a3d02c6eba |