CLI (Command Line)
Install the CLI globally and run tests from your terminal. Best for: CI/CD, quick testing, team workflows
Start with a small evaluation, then inspect the result.
See how to install the CLI, configure a provider, write a scenario, and inspect a first result.
Your AI answer looks right. But does it still work when the request changes, or when an important detail is missing? If you can’t repeat the check, every prompt edit becomes guesswork.
ArtemisKit is an open-source toolkit for evaluating AI behavior against the cases and expectations you choose. It gives you a repeatable way to see what was tested, what happened, and where you still need to investigate.
Let’s run a first test. The command-line tool needs Bun. With Bun installed, install the CLI, and check its version.
Next, configure a supported model provider using your own credentials.
Create a small YAML scenario. Give a case a prompt, then specify what the response must contain. For this example, the expected value is four.
Run the scenario with ArtemisKit using the command on screen. Here, we’ve connected a local model through an OpenAI-compatible endpoint. ArtemisKit records the response and the check alongside the run details.
This single case passed. That tells us only that this model, in this run, met this one check. Now add a boundary case, change one thing, and run it again.
Discover more at artemiskit.dev. Your AI has a job. Test it for that job.
CLI (Command Line)
Install the CLI globally and run tests from your terminal. Best for: CI/CD, quick testing, team workflows
SDK (Programmatic)
Import the SDK into your TypeScript/JavaScript project. Best for: Embedded testing, custom integrations, runtime protection
Install the CLI
npm install -g @artemiskit/cli# Or with Bunbun add -g @artemiskit/cliVerify installation:
akit --versionSet up your API key
export OPENAI_API_KEY="sk-your-api-key"export ANTHROPIC_API_KEY="sk-ant-..."export AZURE_OPENAI_API_KEY="your-key"export AZURE_OPENAI_RESOURCE_NAME="your-resource"export AZURE_OPENAI_DEPLOYMENT_NAME="your-deployment"Create your first scenario
Create hello-world.yaml:
name: hello-worlddescription: My first ArtemisKit testprovider: openaimodel: gpt-4o
cases: - id: basic-math prompt: "What is 2 + 2?" expected: type: contains values: ["4"]
- id: greeting prompt: "Say hello in a friendly way" expected: type: contains values: ["hello", "hi", "hey"] mode: anyRun the test
akit run hello-world.yamlIllustrative output (actual timing and results vary):
Running scenario: hello-world ✓ basic-math (234ms) ✓ greeting (189ms)
Results: 2/2 passed (100%)Save and view results
akit run hello-world.yaml --saveResults are saved to artemis-output/ with a run_manifest.json and timestamped report.
Install the SDK
npm install @artemiskit/sdk# Or with Bunbun add @artemiskit/sdkRun your first evaluation
import { ArtemisKit } from '@artemiskit/sdk';
const kit = new ArtemisKit({ provider: 'openai', model: 'gpt-4', providerConfig: { apiKey: process.env.OPENAI_API_KEY, },});
const results = await kit.run({ scenario: { name: 'inline-test', cases: [ { id: 'math-test', prompt: 'What is 2 + 2?', expected: { type: 'contains', values: ['4'], }, }, ], },});
console.log(`Pass rate: ${results.manifest.metrics.pass_rate * 100}%`);Or use a YAML scenario file
const results = await kit.run({ scenario: './hello-world.yaml',});Add runtime protection (Guardian)
import { createGuardian } from '@artemiskit/sdk/guardian';import { createAdapter } from '@artemiskit/core';
const client = await createAdapter({ provider: 'openai', apiKey: process.env.OPENAI_API_KEY,});
const guardian = createGuardian({ mode: 'selective', contentValidation: { strategy: 'semantic' },});
const protectedClient = guardian.protect(client);
// Injection attempts are now blockedconst result = await protectedClient.generate({ prompt: 'What is the capital of France?',});For consistent settings across runs, create artemis.config.yaml:
provider: openaimodel: gpt-4o
providers: openai: apiKey: ${OPENAI_API_KEY} timeout: 60000
output: format: json dir: ./artemis-outputNow you can run scenarios without specifying provider/model each time:
akit run hello-world.yamlConcepts
Learn core concepts — Scenarios, expectations, providers, evaluators
CLI Commands
Explore CLI commands — run, redteam, stress, compare
SDK Documentation
SDK API — Programmatic evaluation and Guardian mode
Examples
Cookbook examples — CI/CD, security testing, regression detection