Test and benchmark LLM-powered AI agents before deployment
Project description
AgenticAssure
Test and benchmark your AI agents before they go live.
AgenticAssure is an open-source SDK for testing, benchmarking, and validating LLM-powered AI agents. Define test scenarios in YAML, run them against your agent via a simple adapter, and get structured reports on quality and performance.
Quick Install
pip install agenticassure
For optional extras:
pip install agenticassure[similarity] # cosine similarity scorer
pip install agenticassure[openai] # OpenAI adapter
pip install agenticassure[langchain] # LangChain adapter
pip install agenticassure[all] # everything
Usage
1. Define scenarios in YAML
# scenarios/support_agent.yaml
suite:
name: support-agent-tests
description: Validate our customer support agent
config:
default_timeout: 30
retries: 1
scenarios:
- name: greeting
input: "Hello, who are you?"
expected_output: "hello"
scorers:
- passfail
- name: order_lookup
input: "Look up order ORD-123"
expected_tools:
- get_order
expected_tool_args:
get_order:
order_id: "ORD-123"
scorers:
- passfail
- name: email_in_response
input: "What is your contact email?"
scorers:
- regex
metadata:
regex_pattern: "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}"
2. Write an adapter for your agent
from agenticassure import AgentResult
class MyAgent:
"""Wrap your agent so AgenticAssure can call it."""
def run(self, input: str, context=None) -> AgentResult:
response = your_agent.invoke(input) # call your agent here
return AgentResult(
output=response.text,
tool_calls=[],
latency_ms=response.latency,
)
3. Run with Python
from agenticassure.loader import load_scenarios
from agenticassure.runner import Runner
from agenticassure.reports.cli_report import CLIReporter
suite = load_scenarios("scenarios/support_agent.yaml")
runner = Runner(adapter=MyAgent())
result = runner.run_suite(suite)
CLIReporter().report(result)
print(f"Pass rate: {result.pass_rate:.0%}")
print(f"Aggregate score: {result.aggregate_score:.2f}")
4. Or use the CLI
# Run scenarios with a custom adapter
agenticassure run scenarios/ --adapter mymodule.MyAgent
# Dry-run (validate without executing)
agenticassure run scenarios/ --dry-run
# Output as HTML or JSON
agenticassure run scenarios/ --adapter mymodule.MyAgent -o html
agenticassure run scenarios/ --adapter mymodule.MyAgent -o json
# Validate YAML without running
agenticassure validate scenarios/
# List all scenarios
agenticassure list scenarios/
Scorers
Scenarios can use one or more scorers. A scenario passes only if all scorers pass.
| Scorer | Key | What It Checks |
|---|---|---|
| Pass/Fail | passfail |
Output exists, expected tools called, tool args match, expected output found |
| Exact Match | exact |
Exact string match against expected_output |
| Regex | regex |
Pattern from metadata.regex_pattern matches output |
| Similarity | similarity |
Cosine similarity via sentence-transformers (requires [similarity] extra) |
Features
Core (open-source)
- YAML-based scenario definitions with JSON Schema validation
- Pluggable scorer system (passfail, exact, regex, similarity)
- Sequential test runner with retry logic and fail-fast support
- Tag-based scenario filtering
- Suite-level configuration (timeout, retries, default scorers)
- CLI and Python API
- Three report formats: Rich terminal, HTML, JSON
- OpenAI and LangChain agent adapters
- Extensible adapter and scorer protocols
Pro (commercial)
- LLM-as-judge scorer for nuanced evaluation
- Multi-model comparison engine
- Regression tracking and historical benchmarks
- PDF reports and trend visualizations
- Slack and email notifications
- CI/CD integration (GitHub Actions, GitLab CI)
Project Structure
agenticassure/
core/ # Open-source agenticassure package (MIT)
pro/ # Commercial agenticassure-pro package
examples/ # Example scenarios and adapters
Development
# Clone the repo
git clone https://github.com/agenticassure/agenticassure.git
cd agenticassure
# Install core in dev mode
pip install -e "core[dev]"
# Run tests
pytest core/tests/
# Lint and format
ruff check .
black --check .
Documentation
Full documentation is available at docs.agenticassure.com.
Contributing
Contributions are welcome! Please open an issue or submit a pull request on GitHub.
License
The core package is released under the MIT License.
The pro package is available under a commercial license -- see pro/ for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agenticassure-0.4.0a0.tar.gz.
File metadata
- Download URL: agenticassure-0.4.0a0.tar.gz
- Upload date:
- Size: 20.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65d1d35b04ec0d1abc96193bbe05489e1924eed870361a24e1e85bf5d3dcad21
|
|
| MD5 |
e44b5d6b989d08d0637e48d273fb0e5d
|
|
| BLAKE2b-256 |
5442ab433aae847c88c6d80895009d13c5cacd7478b2c244ecd9d0e2c737b4ee
|
File details
Details for the file agenticassure-0.4.0a0-py3-none-any.whl.
File metadata
- Download URL: agenticassure-0.4.0a0-py3-none-any.whl
- Upload date:
- Size: 25.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0f8f7b62a002b85f683857e97b332da77b8b7f649c0df64e84a619fda6291af
|
|
| MD5 |
561823433bd731361ca730cf7ce7cc8e
|
|
| BLAKE2b-256 |
f3aa74384c8678ddbd5157f04f1ac42c7cf581b9887d136d5f13642afbf5626d
|