An open API service indexing awesome lists of open source software.

https://github.com/lambda-feedback/evaluation-function-api

OpenAPI Specification and Validation Schemas for the Evaluation Function API
https://github.com/lambda-feedback/evaluation-function-api

evaluation-function-api openapi swagger

Last synced: 3 months ago
JSON representation

OpenAPI Specification and Validation Schemas for the Evaluation Function API

Awesome Lists containing this project

README

          

# Evaluation Function API






This repository contains the specification and validation schemas for the Lambda Feedback Evaluation Function API. The API is expected to be implemented by evaluation functions that are used in the Lambda Feedback platform.

## Overview

The Evaluation Function API provides a comprehensive solution for educational assessment systems, using an RPC-like approach via HTTP with commands specified in request headers. It enables automated grading and validation of student responses against educator-defined answers, with support for custom evaluation parameters and real-time preview functionality.

## Core Features

### Evaluation (`eval` command)
The primary endpoint for grading student responses. It compares a student's submission against the correct answer and returns:
- Boolean correctness indicator (`is_correct`)
- Optional feedback (string, array, or object format)
- Support for custom evaluation parameters (e.g., case sensitivity, tolerance levels)

### Preview (`preview` command)
A lightweight validation endpoint that normalizes and validates student responses without performing full evaluation. Useful for:
- Real-time input validation as students type
- Formatting and normalization checks
- Pre-submission validation

Returns a normalized version of the student's response.

### Health Check (`healthcheck` command)
Monitors the operational status of the evaluation function by running internal tests. Returns detailed diagnostics including:
- Overall test status (`tests_passed`)
- Lists of successful tests, failures, and errors
- Useful for monitoring and debugging evaluation functions

## Command Header

The `command` header specifies the action to be performed by the evaluation function. The API currently supports three commands:
- `eval` - Evaluate student responses against correct answers
- `preview` - Validate and normalize responses without evaluation
- `healthcheck` - Verify operational status of the evaluation function

## Documentation

The full OpenAPI documentation is available [here](https://lambda-feedback.github.io/evaluation-function-api/).

## Repository Structure

This repository contains:
- OpenAPI specification (YAML format)
- JSON Schema validation files for:
- Evaluation requests (`request-eval.json`)
- Preview requests (`request-preview.json`)
- Evaluation responses (`response-eval.json`)
- Preview responses (`response-preview.json`)
- Health check responses (`response-health.json`)

## Contributing

Contributions to improve the API specification or documentation are welcome. Please ensure all changes maintain backward compatibility and update both the OpenAPI spec and JSON schemas accordingly.