How to Start Testing LLM and Agentic Apps in 10 Minutes with Rhesis AI
Testing LLM and agentic apps is challenging: outputs are non-deterministic, edge cases are unpredictable, and manual testing doesn’t scale. This guide gets a complete, automated testing pipeline running with Rhesis in under 10 minutes — self-hosted via Docker, driven from the UI or the Python SDK.
Prerequisites
- Docker running, and ports 3000, 8080, 8081, 5432, and 6379 free
- An AI provider API key (Rhesis API, OpenAI, Azure OpenAI, or Google Gemini)
Step 1: Clone and Start (5 minutes)
./rh start generates local configuration, starts all services, runs migrations, seeds an admin user with auto-login, and loads example data. First run takes a few minutes while images download.
Step 2: Access the Platform (1 minute)
Once services are running:
- Frontend Dashboard: http://localhost:3000 (auto-login enabled)
- Backend API Docs: http://localhost:8080/docs
- Worker Health: http://localhost:8081/health/basic
Step 3: Configure AI Provider (1 minute)
Configure an AI provider to enable test generation:
Option 1: Use Rhesis API (Recommended)
- Get your API key from https://app.rhesis.ai/
- Edit
.env.docker.localand add:
Option 2: Use Your Own AI Provider
Add your provider’s credentials and set the default models to use that provider in .env.docker.local:
After updating, restart services:
Step 4: Start Testing Your LLM/Agentic App (3 minutes)
Via Web UI
- Open http://localhost:3000
- Create an Endpoint: Add your LLM/agentic app’s API endpoint
- Define Requirements: Specify what your app should and shouldn’t do
- Generate Tests: Automatically generate hundreds of test scenarios
- Run Tests: Execute tests against your endpoint
- Review Results: View which outputs violate requirements
Via Python SDK
Installation
Obtain an API key
- Visit http://localhost:3000
- Navigate to API Tokens
- Generate a new API key
Your API key will be in the format rh-XXXXXXXXXXXXXXXXXXXX.
Keep this key secure and never share it publicly.
Configure the SDK
Point the SDK at your local instance with environment variables:
Set up your REST endpoint
Set up your REST endpoint in the UI, or use the Rhesis connector. Then retrieve the endpoint by ID:
Create a test set
Using the SDK, synthesizer, and then the push method:
Run tests
Retrieve endpoint by ID, start a test run on the test set and endpoint:
For complex conversations, use Penelope to simulate multi-turn interactions.
What’s Running
Your local infrastructure includes:
| Service | Port | Description |
|---|---|---|
| Backend API | 8080 | FastAPI application handling test execution and evaluation |
| Frontend | 3000 | Next.js dashboard for managing tests and reviewing results |
| Worker | 8081 | Celery worker processing test runs and AI evaluations |
| PostgreSQL | 5432 | Database storing tests, results, and configurations |
| Redis | 6379 | Message broker for worker tasks |
Architecture Overview
Quick Commands
Next Steps
- Simulate multi-turn conversations with Penelope.
- Wire test runs into your pipeline with CI/CD Integration.
- Write evaluation criteria for your use case with Custom Metrics.
Troubleshooting
- Port already in use:
lsof -i :3000to find the process, thenkill -9 <PID>. - Services not starting: check
./rh logs, or./rh delete && ./rh startfor a clean slate. - AI provider not working: verify the key in
.env.docker.local, then./rh restart.
For self-hosting details beyond this quickstart, see the Docker Compose deployment guide.