A reference implementation of the Moya AI framework.
Project description
MOYA - Meta Orchestration framework for Your Agents
MOYA is a reference implementation of our research paper titled "Engineering LLM Powered Multi-agent Framework for Autonomous CloudOps". The framework provides a flexible and extensible architecture for creating, managing, and orchestrating multiple AI agents to handle various tasks autonomously.
Preprint of the paper can be accessed at arXiv.
Features
- Agent Management: Create, register, and manage multiple AI agents.
- Orchestration: Orchestrate conversations and tasks across multiple agents.
- Memory Tools: Integrate memory tools to maintain conversation context and history.
- Streaming Responses: Support for streaming responses from agents.
- Extensibility: Easily extend the framework with new agents, tools, and orchestrators.
Getting Started
pip install moya # Only core framework
pip install moya[all] # All the supported services such as OpenAI, Bedrock, Ollama, Crewai
# or install specific ones - for example openai and ollama
pip install moya[openai, ollama]
Contributing to MOYA
We accept contributions exclusively through forked repositories. Please follow these steps:
- Fork this repository to your GitHub account
- Create a new branch in your fork for your changes
- Make your changes and commit them to your branch
- Submit a pull request from your fork's branch to our main repository
Prerequisites
- Python 3.10+
- Install required dependencies:
pip install .
Quick Start Examples
OpenAI Agent
Interactive chat example using OpenAI agent with conversation memory.
# filepath: ~/github/moya/examples/quick_start_openai.py
python -m examples.quick_start_openai
Bedrock Agent
Interactive chat example using BedrockAgent with conversation memory.
# filepath: ~/github/moya/examples/quick_start_bedrock.py
AWS_PROFILE=my_profile_name python -m examples.quick_start_bedrock
Multi-Agent Orchestration
Example demonstrating multi-agent orchestration with language and task classification.
# filepath: ~/github/moya/examples/quick_start_multiagent.py
python -m examples.quick_start_multiagent
Dynamic Agent Creation
Example demonstrating dynamic agent creation and registration during runtime.
# filepath: ~/github/moya/examples/dynamic_agents.py
python -m examples.dynamic_agents
Directory Structure
moya/
├── agents/ # Agent implementations (OpenAI, Bedrock, Ollama, Remote)
├── classifiers/ # Classifier implementations for agent selection
├── memory/ # Memory repository implementations
├── orchestrators/ # Orchestrator implementations for managing agent interactions
├── registry/ # Agent registry and repository implementations
├── tools/ # Tool implementations (e.g., MemoryTool)
├── examples/ # Example scripts demonstrating various use cases
└── README.md # This README file
Contributing
We welcome contributions to the MOYA framework. Please follow these steps to contribute:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Make your changes and commit them with descriptive messages.
- Push your changes to your fork.
- Create a pull request to the main repository.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contact
For any questions or inquiries, please contact the authors of the research paper or open an issue on the GitHub repository.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file moya_ai-0.1.5.tar.gz.
File metadata
- Download URL: moya_ai-0.1.5.tar.gz
- Upload date:
- Size: 27.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58c40dec8e14639a455be642ccfa49bb95ff1856105b5700a68ba1d1ef9ac762
|
|
| MD5 |
caed13b9cde32ea137ab93d499772217
|
|
| BLAKE2b-256 |
cd5010750b93c72a2d2939565cfe4c196d4d92789b4def962ff3de485a034818
|
File details
Details for the file moya_ai-0.1.5-py3-none-any.whl.
File metadata
- Download URL: moya_ai-0.1.5-py3-none-any.whl
- Upload date:
- Size: 37.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
002c6023cb0820ee0d81ee819fd30ef0021de093fda8ae5c9c7990c1cfa2c5be
|
|
| MD5 |
8decefa954431791aa00bcbcbfd4bb17
|
|
| BLAKE2b-256 |
beb7f69c442b30430336211f69e87604791c5ba9e27ce03712d7a3153025cc27
|