Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions .github/config_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Configuration Update PR Template

## Configuration Change

### What configuration is being updated?
<!-- Specify: tasks, models, guardrails, policies, or metrics -->

### Configuration Type
- [ ] **Tasks** - Task definitions and metadata
- [ ] **Models** - Model information and capabilities
- [ ] **Guardrails** - Operational constraints and policies
- [ ] **Policies** - Policy definitions with embedded thresholds
- [ ] **Metrics** - Metric definitions and types

---

## Change Details

### What was changed?
<!-- Brief description of the configuration update -->

### Why was this change needed?
<!-- One sentence explaining the motivation -->

---

## Validation

### Configuration Validation
- [ ] All modified files pass `evalguard config validate`
- [ ] Schema compliance verified against `schemas/v1/`
- [ ] Configuration follows project structure guidelines

---

## Additional Notes

<!-- Any other relevant information -->
26 changes: 26 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Pull Request Template

## Type of Change

Please select the type of change this PR represents and use the appropriate template:

- [ ] **Report Contribution** - Use [Report Contribution PR Template](.github/report_template.md)
- [ ] **Configuration Update** - Use [Configuration Template](.github/config_template.md)
- [ ] **Specification change** - Use [Specification PR Template](.github/spec_template.md)
- [ ] **Other** - Please describe below

---

## Quick Description

<!-- Provide a brief description of your changes -->

---

## Type-Specific Template

Please copy the content from the appropriate template above and paste it below, then fill it out completely:

```markdown
<!-- Paste the appropriate template content here -->
```
26 changes: 26 additions & 0 deletions .github/report_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Report Contribution PR Template

## Report Information

### Model Details
- **Model Organization**: <!-- e.g., meta-llama, RedHatAI, microsoft -->
- **Model Name**: <!-- e.g., Llama-3.1-8B-Instruct, phi-2 -->
- **Model Version**: <!-- if applicable -->
- **Report Format**: <!-- e.g., lm-eval, custom format -->

## Checklist

- [ ] I have read and followed the [Contributing Guidelines](README.md#contributing)
- [ ] Report follows the required directory structure
- [ ] Report format is supported or discussed in an issue
- [ ] I have used `evalguard lm-eval gen` to generate missing configuration files
- [ ] All generated configuration files have been reviewed and enhanced
- [ ] Configuration files pass validation: `evalguard config validate`
- [ ] No placeholder text remains in configurations
- [ ] I have enhanced configurations with meaningful descriptions

---

## Additional Notes

<!-- Any additional information about the evaluation or model -->
24 changes: 24 additions & 0 deletions .github/spec_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Specification Change PR Template

## Change Summary

### What specification change is being proposed?
<!-- Brief description of the change to schemas, validation rules, or API spec -->

### Why is this change needed?
<!-- One sentence explaining the motivation -->

---

## Technical Details

### Change Type
- [ ] **API Schema** - REST API schema modification
- [ ] **Config Schema** - Configuration schema

---

## Additional Notes

<!-- Any other relevant information -->

31 changes: 23 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,17 +102,18 @@ EvalGuard thrives on community contributions! We welcome contributions of evalua
#### Report Format
Reports must follow the directory structure:
```
reports/<model_org>/<model_name>/lm-eval/report.json
reports/<model_org>/<model_name>/<report_format>/report.json
```

**Example**: `reports/meta-llama/Llama-3.1-8B-Instruct/lm-eval/report.json`

#### Supported Formats
- **lm-evaluation-harness**: Currently supported with full CLI integration
- **lm-evaluation-harness** (`lm-eval`): Currently supported with full CLI integration
- **Other formats**: If you have evaluation reports in other formats, please create an issue to discuss integration

#### Adding Missing Data
When adding a new report, you can use the CLI to automatically generate missing tasks, models, and metrics:
When adding a new report, you can use the CLI to automatically generate missing tasks, models, and metrics but bear
in mind that some fields will not be filled like friendly name or description so take some time to review what is missing:

```bash
# Generate missing configuration from a single report
Expand All @@ -124,6 +125,17 @@ evalguard lm-eval gen -d reports/

This will create the necessary configuration files in the appropriate `config/` subdirectories.

#### Ready to Contribute?
**🚀 Create a Pull Request** using our [Report Contribution Template](.github/report_template.md) to submit your evaluation reports!

The template will guide you through:
- Proper report structure and format
- Configuration generation and validation
- Quality assurance steps
- Required checklist items

Simply copy the template content when creating your PR to ensure all requirements are met.

### Contributing Configuration Files

#### Adding New Configurations
Expand Down Expand Up @@ -151,13 +163,16 @@ evalguard config validate -t guardrails
#### Schema Compliance
All configuration files must follow the schemas defined in `schemas/v1/`. See [SPECIFICATION.md](SPECIFICATION.md) for detailed schema definitions and examples.

### Contribution Guidelines

1. **Evaluation Reports**: Submit reports following the directory structure `reports/<model_org>/<model_name>/lm-eval/report.json`. Currently, only [lm-evaluation-harness](https://github.com/EleutherAI/lm-evaluation-harness) reports are supported. For other evaluation formats, please create an issue to discuss integration.
#### Ready to Contribute Configurations?
**⚙️ Create a Pull Request** using our [Configuration Update Template](.github/config_template.md) to submit your configuration changes!

2. **Configuration Generation**: When contributing new reports, utilize the CLI tool to automatically generate missing tasks, models, and metrics: `evalguard lm-eval gen`
The template will guide you through:
- Proper configuration file structure
- Validation and schema compliance
- Quality assurance for configuration updates
- Required checklist items

3. **Configuration Validation**: Ensure all configuration files adhere to the API specification and validate them using: `evalguard config validate`
Simply copy the template content when creating your PR to ensure all requirements are met.

---

Expand Down