atropos/environments/community/README.md
Shannon Sands 28fb9c750f linting
2025-05-23 14:31:02 +10:00

4.4 KiB

Community Environments

This directory is home to community-contributed training environments for Atropos. Environments submitted by the community will be placed here after an initial code review.

Note: Environments in this directory are pending full testing and integration. While they have passed a basic code check, they may not yet have been rigorously validated on our compute cluster.

Contributing Your Environment

We encourage you to contribute your own RL environments! When developing a new environment, please follow these guidelines:

  1. Create your environment in this environments/community/ subdirectory. This helps us keep new submissions organized.
  2. Preferred Import Style: We prefer that you treat your environment's directory as the package root for imports within your environment code. For example, if you need to import SomeClass, you can do so directly:
    from some_file_in_my_env import SomeClass
    
    This helps maintain consistency and makes it easier to integrate your environment.

Environment Standards

Community environments should:

  • Include clear documentation and setup instructions
  • Specify all dependencies in requirements files
  • Provide example configurations and usage
  • Follow the AtroposBaseEnv pattern for consistency
  • Include appropriate error handling and validation

Submission Process

To contribute a new environment to the community collection:

  1. Fork the repository and create a new branch
  2. Add your environment to this community/ directory
  3. Include comprehensive documentation:
    • README with setup instructions
    • Requirements file for dependencies
    • Example usage and configuration
  4. Follow naming conventions:
    • Use descriptive directory names for complex environments
    • Single file environments should have descriptive names
  5. Test thoroughly before submitting
  6. Submit a pull request with a clear description

Once your environment is ready, please follow the guidelines in our main CONTRIBUTING.md to submit your contribution.


Available Environments

1. Lean Proof Environment (lean_proof_env/)

Author: GabinFay Purpose: Testing Language Learning Models (LLMs) on Lean theorem proving tasks

A comprehensive environment for evaluating LLMs on formal mathematical reasoning using the Lean theorem prover. Features include:

  • Support for custom problem datasets or MiniF2F benchmark
  • Integration with Lean 4 theorem prover
  • Configurable difficulty levels and problem sets
  • Automated proof validation

Requirements: Lean 4 installation, OpenAI API key

2. Router Environment (router_env/)

Author: GabinFay Purpose: Multi-agent routing and coordination system

A sophisticated environment for testing agent routing and coordination capabilities. Includes:

  • Multiple specialized agents (calendar, contact, Gmail, telephony, etc.)
  • Model Contextualized Protocol (MCP) tools integration
  • Spotify, Google Maps, and Perplexity integrations
  • Complex multi-turn conversation handling

Features:

  • Telephony agent with inbound/outbound call handling
  • Calendar and contact management
  • Memory and calculation agents
  • Router agent for intelligent task delegation

3. Philosophical RLAIF Environment (philosophical_rlaif_env.py)

Author: GabinFay Purpose: Reinforcement Learning from AI Feedback (RLAIF) for philosophical reasoning

An environment focused on training models for deep philosophical inquiry and reasoning. Features:

  • Deep thinking prompts with systematic reasoning processes
  • Preference learning for philosophical depth and nuance
  • Multi-perspective analysis and assumption questioning
  • Evaluation of response quality for philosophical discussions

Capabilities:

  • Generates paired responses for preference comparison
  • Uses judge models to evaluate philosophical depth
  • Tracks preference consistency and reasoning quality
  • Supports WandB logging for training insights

Support

For questions or issues with community environments:

  • Check the individual environment's README first
  • Open an issue in the main repository
  • Tag the environment author if possible

These environments are community contributions and may have different maintenance levels and support compared to core Atropos environments.