Skip to content

Latest commit

 

History

History
75 lines (44 loc) · 3.76 KB

File metadata and controls

75 lines (44 loc) · 3.76 KB

Adala Project Contribution Guide: Agent and Skill Development

Thank you for your interest in contributing to the Adala Project's agent development! The robustness and versatility of our system primarily stem from the diverse agents and skills we deploy. This guide focuses on agent-related contributions, highlighting the importance of domain and task specificity.

Areas of Contribution:

Diverse Skills Contributions:

Adala welcomes agents equipped with a wide range of skills, each offering unique capabilities. From tasks such as classification, anomaly detection, and regression to specialized roles like sentiment analysis or recommendation systems, there's endless potential to broaden our agent spectrum. Skills designed for specific domains (like medical, finance, or nature) or tailored tasks within these areas can considerably amplify the system's efficacy.

Extending Skills:

Start with the foundational Skill class and extend it to facilitate Adala in acquiring new skills. To understand better, examine how the Classification skills were implemented.

Example:

class 

Domain-Specific Skills

Customize skills to particular domains, providing more profound insights and actionable feedback.

Example:

Guidelines for New Skills:

  • Uniqueness: Focus on specificity. What unique problem does your skill resolve?
  • Integration: Ensure your skill aligns well with the existing Adala framework.
  • Documentation: Offer comprehensive documentation, usage instances for your agent, and a testing environment (with a ground truth dataset).
  • Testing: Incorporate both unit and integration tests to guarantee a seamless integration with the Adala system.

New Runtimes

Introduce runtimes utilizing varying language models or even distinct model types for labeling tasks. Enhancing current implementations through performance optimization or new feature introduction is also encouraged.

Adding a New Runtime:

To introduce a new runtime, adhere to the structure delineated by the Runtime abstract class. Below is a rudimentary example:

Environments

The environment offers a unique method for collecting user feedback, which assists Adala agents in learning. For instance, you can create a setting where it attempts to call your phone using Twilio integration, seeking your oversight.

Roadmap Driven

Contributions that align with the items detailed in our roadmap, found in the main README, are not only welcome but are greatly encouraged. Adhering to this roadmap ensures that all efforts are in synergy with project's vision.

How to Contribute:

  • Fork the Repository: Create a fork of the Adala repository on your GitHub account.
  • Clone, Branch, and Develop: Clone your fork, spawn a new branch for your contribution, and commence development.
  • Test and Commit: After modifications, conduct comprehensive testing. Once content, commit with an informative message.
  • Push and Pull Request: Push your amendments and formulate a pull request detailing your contribution's value.

Development Environment

Adala uses PDM to manage dependencies. To create an environment, install PDM and run pdm install --dev from the root of the repository. To activate the environment, run eval $(pdm venv activate) from the root of the repo after creating the environment.

Code of Conduct:

While diverse contributions invigorate our project, it's paramount to sustain a harmonious and cooperative environment. Please adhere to our code of conduct.

Questions or Discussions:

For inquiries or discussions concerning particular features, agents, or modifications, please initiate an issue. Your feedback propels the project's advancement.