Skip to main content

AfterAI Runner — AIS signal emission and agent evaluation on customer infrastructure

Project description

AfterAI Runner

Run AI agent evaluations and emit AIS signals — on your own infrastructure.

  • Eval: poll AfterAI for pending eval jobs, run prompts against your agent, submit responses for scoring
  • AIS emission: send pre-aggregated metric signals to the AfterAI API from local artifact files
  • No inference proxy: the runner runs on your infra; AfterAI never sees your agent's API keys or endpoints

Install

pip install afterai-runner

Or from source:

cd afterai-runner && pip install -e .

Config

Env Required Default
AFTERAI_API_KEY Yes
AFTERAI_BASE_URL No https://api.useafter.ai

Eval

Run evaluations against your agent. AfterAI generates a synthetic dataset, you approve it in the app, then the runner executes it locally and submits results for scoring.

Quick start

# 1. Create a starter agent config
afterai-runner eval-init

# 2. Edit afterai-agent.yaml with your agent details (see below)

# 3. Run — polls for pending eval jobs and processes them
afterai-runner eval

Agent config (afterai-agent.yaml)

Azure AI Foundry (v2 — recommended)

agent:
  type: foundry
  foundry_version: v2
  project_endpoint: https://YOUR_RESOURCE.services.ai.azure.com/api/projects/YOUR_PROJECT
  agent_name: your-agent-name
  # Auth: set AZURE_FOUNDRY_TOKEN env var, or run `az login`

Azure AI Foundry (v1 — legacy)

agent:
  type: foundry
  foundry_version: v1
  project_endpoint: https://YOUR_PROJECT.services.ai.azure.com
  agent_id: asst_YOUR_AGENT_ID
  api_key: ${AZURE_API_KEY}

Generic HTTP

agent:
  type: http
  url: https://your-agent.example.com/chat
  headers:
    Authorization: Bearer ${YOUR_API_KEY}
  body_template: '{"message": "{prompt}"}'
  response_path: response.text

Add afterai-agent.yaml to .gitignore — keep your credentials local.

Eval commands

# Poll continuously (default: every 10s)
afterai-runner eval

# Process pending jobs once and exit
afterai-runner eval --once

# Custom poll interval
afterai-runner eval --poll-interval 30

# Custom config path
afterai-runner eval --agent-config /path/to/my-agent.yaml

Generate a dataset from your Foundry agent (optional)

If your agent is on Foundry, the runner can fetch its definition and generate an eval dataset automatically:

afterai-runner dataset-generate

This calls the AfterAI API to generate a synthetic dataset based on your agent's instructions and tools. You then review and approve it in the app before any eval runs.


AIS Emission

Send pre-aggregated metric signals from local artifact files to the AfterAI API.

# Run ingestion from a manifest
afterai-runner run --manifest manifest.yaml

# Print payloads without sending
afterai-runner run --manifest manifest.yaml --dry-run

# ACE-from-AIS rule: read AIS signals, emit inferred ACE if threshold met
afterai-runner ace-from-ais --min-signals 2 --hours 24
afterai-runner ace-from-ais --min-signals 2 --severity high,critical --dry-run

Manifest example

version: "2026-02"
artifacts:
  - system: my-system-01
    path: /path/to/D1-2026-02-03.json
  - system: my-system-01
    path: /path/to/W1-2026-W05.json

Artifact example

One file = one signal. D1-2026-02-03.json:

{
  "signal_key": "D1",
  "cadence": "daily",
  "window": {
    "start": "2026-02-03T00:00:00Z",
    "end": "2026-02-03T23:59:59Z"
  },
  "metrics": {
    "score_mean": 0.87,
    "fail_rate": 0.03
  }
}

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

afterai_runner-0.1.3.tar.gz (21.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

afterai_runner-0.1.3-py3-none-any.whl (22.5 kB view details)

Uploaded Python 3

File details

Details for the file afterai_runner-0.1.3.tar.gz.

File metadata

  • Download URL: afterai_runner-0.1.3.tar.gz
  • Upload date:
  • Size: 21.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.7

File hashes

Hashes for afterai_runner-0.1.3.tar.gz
Algorithm Hash digest
SHA256 a4fcd3d1a3917f4bea474f3f96cf681ce2e8288a07ea7a0a6d2f0b68247e06d3
MD5 3757d02725062f0d406961f5e92d4713
BLAKE2b-256 dc89fb19a8bc6ca708da7874c0575ac8f8f6d2eb0a0eab781ba30a5d0bfc42c7

See more details on using hashes here.

File details

Details for the file afterai_runner-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: afterai_runner-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 22.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.7

File hashes

Hashes for afterai_runner-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 102263f0b81f74f05a426597a2f144910fb282ae00ba325caea05d8fc6d871d4
MD5 c21787fb12f714360b2324b166570d8c
BLAKE2b-256 3f650bf47ddece89c63a77214a7849e9f7466f33a6e55df27c71888311bb52fc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page