Skip to main content

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

Prerequisites

  • Python 3.10+
  • Install required dependencies:
    pip install .
    

Quick Start Examples

OpenAI Agent

Interactive chat example using OpenAI agent with conversation memory.

# filepath: /Users/kannan/src/github/moya/examples/quick_start_openai.py

python -m examples.quick_start_openai

Bedrock Agent

Interactive chat example using BedrockAgent with conversation memory.

# filepath: /Users/kannan/src/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: /Users/kannan/src/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. moya

# filepath: /Users/kannan/src/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:

  1. Fork the repository.
  2. Create a new branch for your feature or bugfix.
  3. Make your changes and commit them with descriptive messages.
  4. Push your changes to your fork.
  5. 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


Download files

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

Source Distribution

mcmoya-0.1.2.tar.gz (19.6 kB view details)

Uploaded Source

Built Distribution

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

mcmoya-0.1.2-py3-none-any.whl (30.2 kB view details)

Uploaded Python 3

File details

Details for the file mcmoya-0.1.2.tar.gz.

File metadata

  • Download URL: mcmoya-0.1.2.tar.gz
  • Upload date:
  • Size: 19.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.0

File hashes

Hashes for mcmoya-0.1.2.tar.gz
Algorithm Hash digest
SHA256 a1c7cdf4f7009135947e5e5432e5713284e72c715bfbddb111e168882617091c
MD5 c551d604ffae1d6bcf4d8d3b869cfd15
BLAKE2b-256 9621808caafc6e1848be97e1954f67625efe77da5a9e49be9b2dbfa23092ffdc

See more details on using hashes here.

File details

Details for the file mcmoya-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: mcmoya-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 30.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.0

File hashes

Hashes for mcmoya-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fc2b46730c9898c45c0d7e0275bfd36ce4212d7551d930f3703c44d83d1b4e7f
MD5 822791b39148d0c8ae2a9fa04b2422df
BLAKE2b-256 c8a72c75c1a21f8f33c6b3a592d2f748d91c6533ecfff653ba51a0f2d24b828b

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