Gen AI Evaluation Toolkit on AWS is a flexible, cloud-native accelerator built on AWS serverless architecture that enables comprehensive evaluation of generative AI applications — a foundation you deploy into your own AWS account, own in full source, and extend. It provides end-to-end capabilities including test case generation and version management, both metrics- and LLM-based quality assessments, and visualization of experiment results. It uses a plugin-based extensible architecture to support multiple evaluation frameworks and methods throughout the application lifecycle.
- Pluggable evaluation. Run LLM-as-Judge, RAGAS, DeepEval, and Amazon Bedrock AgentCore scorers through the built-in evaluators, or FMEval, PyRIT red-teaming, and Agent-as-Judge evaluations for model and agent assessment.
- Evaluator SDK. Build custom evaluators in Python with the Evaluator SDK
(
packages/evaluator-sdk/) and run them through the toolkit. - Test-case generation. Generate ground-truth test cases, with LLM-as-Judge filtering.
- Flexible compute. Run plugins on AWS Lambda for fast, scalable workloads, or on Amazon ECS for high-memory, long-running jobs.
- Custom plugins. Add your own generation plugins through factory functions.
- API and clients. Call a REST API, or use the generated TypeScript and Python clients.
- Command-line interface. Manage evaluations and deployments from the command line.
- Infrastructure as code. Deploy the toolkit with AWS CDK or Terraform.
- Assess model quality across accuracy, toxicity, robustness, or custom metrics.
- Evaluate retrieval-augmented generation (RAG) pipelines and agentic systems.
- Run experiments to compare models or configurations.
- Add evaluations to a CI/CD pipeline.
ETK deploys into your AWS account as a serverless application. A REST API (Amazon API Gateway) fronts AWS Lambda functions that orchestrate evaluation and generation plugins. Plugins run on AWS Lambda or Amazon ECS. For a full description of the components and design, see the Solution Guide.
- An AWS account, with credentials available in your shell.
- Permissions to deploy and run the toolkit's resources.
- Docker.
- mise, which installs the remaining tools (Node.js, nx, and hatch).
Two infrastructure-as-code paths are supported — use whichever fits your environment.
AWS CDK
# Install tooling and dependencies
mise run install-all
# Deploy into your AWS account
mise run deployTerraform — see
packages/terraform-deployment/README.md for
prerequisites, plan/apply targets, and the bootstrap runbook. The Terraform module
itself lives in packages/terraform/ and mirrors the CDK constructs in
packages/cdk/.
To build from source, work in the monorepo, or troubleshoot the build, see DEVELOPMENT.md.
Use the CLI or the generated TypeScript and Python clients to submit and manage evaluations. See the User Guide for end-to-end examples.
- Solution Guide — architecture, design, and deployment.
- User Guide — configuration and usage.
- SDK references — the Evaluator SDK and generated client references under
docs/sdk/. - API reference — generated from the Smithy models in
packages/models/. Runningmise run codegenproduces an OpenAPI specification and the clients.
This project is distributed as source. It does not bundle or redistribute its dependencies; they are resolved and installed by you through npm and pip. The notes below cover dependencies whose licences differ from this project's Apache-2.0 licence.
NVIDIA CUDA runtime libraries. Although this repository is released under the
Apache-2.0 licence, the GPU code path of its fmeval evaluator
(packages/evaluator-fmeval) transitively installs the third-party NVIDIA CUDA
runtime libraries (the nvidia-*-cu12 packages). The NVIDIA CUDA project's
licensing includes the NVIDIA CUDA Toolkit End User License Agreement
(https://docs.nvidia.com/cuda/eula/), which is not an open-source licence. These
libraries are installed only for GPU usage; CPU-only installations do not pull
them.
Mozilla Public License 2.0 (MPL-2.0) components. Although this repository is
released under the Apache-2.0 licence, some of its Python dependencies are
licensed under the Mozilla Public License 2.0 (MPL-2.0), a file-level copyleft
licence — for example certifi, pathspec, and tqdm (tqdm is MPL-2.0 AND MIT). These components are used unmodified.
This repository is published as a read-only mirror. We are not accepting pull requests at this time. You are welcome to report bugs and share feedback through GitHub Issues. See CONTRIBUTING.md for details including direction for Amazon employees.
See SECURITY.md for more information.
This project is licensed under the Apache-2.0 License.