Skip to main content

TestBench AI Service

PyPI version Python versions License

An asynchronous REST API service that connects imbus TestBench to external LLM providers to support AI-driven Agents during test design and execution.

Features

  • Multiple Agents: test case set reviews, description generation, and defect explanations, each configurable independently
  • Pluggable LLM providers: ships with OpenAI, Azure OpenAI, and Anthropic support; implement a custom LLMClient to bring your own
  • Automatic provider routing: model names starting with gpt-* and o-series (o1, o3, o4-mini, …) are routed to OpenAI, claude-* to Anthropic — regardless of the global provider setting
  • Configurable prompts: YAML-based templates with Jinja2 variables and per-project overrides
  • Per-project configuration: language, LLM provider, prompt variant, and enabled agents can be overridden per TestBench project
  • Localization: built-in English and German translations for AI-generated output
  • JWT authentication: every request is validated against the TestBench REST API using a JWT token; no separate credential management
  • Async processing: Agents run as background tasks so the API responds immediately
  • Swagger UI: interactive API docs at /docs
  • SSL/TLS & reverse proxy support: optional HTTPS with mTLS and trusted-proxy headers

Installation

With pip (Python 3.10–3.14 required):

pip install testbench-ai-service

Standalone executable (no Python required): download the pre-built binary from the GitHub releases page.

Quick Start

1. Set your LLM API key

Create a .env file in the installation directory with the key for your chosen provider:

# .env
# OpenAI
OPENAI_API_KEY=your_openai_api_key

# Azure OpenAI
# AZURE_OPENAI_API_KEY=your_azure_openai_api_key

# Anthropic
# ANTHROPIC_API_KEY=your_anthropic_api_key

2. Initialize configuration

testbench-ai-service init

Open config.toml and point tb_server_url at your TestBench REST API:

[testbench-ai-service]
tb_server_url = "https://localhost:9443/api/"

[testbench-ai-service.llm_config]
# openai (default), azure_openai, anthropic, or custom
provider = "openai"

3. Start the service

testbench-ai-service start

The service runs at http://127.0.0.1:8010 by default. Open /docs for the interactive Swagger UI.

Documentation

Full documentation is available in the docs/ folder of the repository:

Contributing

Contributions are welcome. See CONTRIBUTING.md for setup instructions and guidelines.

Changelog

See CHANGELOG.md for release history.

License

Apache 2.0. See LICENSE for details.

Download files

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

Source Distribution

testbench_ai_service-1.1.0.tar.gz (222.8 kB view details)

Uploaded Source

Built Distribution

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

testbench_ai_service-1.1.0-py3-none-any.whl (119.2 kB view details)

Uploaded Python 3

File details

Details for the file testbench_ai_service-1.1.0.tar.gz.

File metadata

  • Download URL: testbench_ai_service-1.1.0.tar.gz
  • Upload date:
  • Size: 222.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.34.2

File hashes

Hashes for testbench_ai_service-1.1.0.tar.gz
Algorithm Hash digest
SHA256 e115ea71f636f2ddabbffa1ccfa2593de4141b1b148fe935fbf9c1a42b7ea433
MD5 2f1b9cb9b25d6bcbbeb2887950980834
BLAKE2b-256 5530a4f43a1dd10a0e0ff74dbebe05d14d7a7c69b0cca3c12863f1138411f6f9

See more details on using hashes here.

File details

Details for the file testbench_ai_service-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for testbench_ai_service-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c621ab1618ffa5b123f5611500911d58d459296f71f3bf35619db6f8fe643297
MD5 b68c1ad83af55a126d98fa57da052247
BLAKE2b-256 8cdecffa0895de296469c4041792cde03b07a8644388473ca54c28c7c8eff351

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