Skip to main content

PersonaForge

"How do we know our voice agent won't fail in production?"

PersonaForge answers that question before your first customer call.

PersonaForge is a synthetic customer generation and reliability testing platform for conversational voice agents. It acts as the "GitHub Actions for Voice Agents," allowing developers to autonomously validate behavior, reliability, and compliance through thousands of simulated customer interactions.


The Vision

Traditional testing for voice agents is broken. It's manual, slow, and ignores voice-native failures like interruptions and latency.

The PersonaForge Way:

Build Agent -> 1,000 Synthetic Customers -> Failure Detection -> Deploy Safely

Key Features

  • Forge (Persona Engine): Goal-driven, emotionally consistent synthetic customers. They don't just generate text; they maintain memory, pursue subgoals, and react to agent behavior.
  • Runner (Execution Engine): High-concurrency voice-native conversation runner. Supports ElevenLabs Conversational AI with real-time audio streaming.
  • Judge (Evaluation Engine): Multi-stage LLM evaluation that detects:
    • Hallucinations: Agent inventing policies or facts.
    • Escalation Failures: Agent failing to hand off to a human when required.
    • Compliance: Violations of safety or business rules.
    • Voice Metrics: Interruption recovery and response latency.
  • CI/CD Integration: Built-in quality gates for your deployment pipeline.
  • Studio (Dashboard): Visualize regressions, explore failure clusters, and replay conversations turn-by-turn.

Documentation

Comprehensive user guides are available in the docs/ directory:

Quick Start

1. Installation

You can install the CLI tool directly from PyPI:

pip install personaforge

Or install from source for development and web studio access:

git clone https://github.com/arjun-vegeta/personaforge.git
cd personaforge
pip install -r requirements.txt

2. Configure API Keys

Create a .env file in your project directory:

ELEVENLABS_API_KEY=your_key_here
GOOGLE_API_KEY=your_gemini_key_here

3. Initialize Project

personaforge init

4. Run a Scenario

personaforge run scenarios/telecom_refund.yaml

5. Check for Regressions (CI Mode)

personaforge ci --scenario scenarios/telecom_refund.yaml

Dashboard

The PersonaForge Studio provides a deep dive into your agent's health.

# Start the backend
uvicorn personaforge.backend.app.main:app --reload

# Start the frontend
cd personaforge/web
npm install
npm run dev

Visit http://localhost:3000 to view pass rates, failure clusters, and conversation replays.

Docker Support

You can run the entire PersonaForge stack (PostgreSQL, Redis, Backend, Frontend, and Worker) using Docker Compose:

# Create a .env file with your API keys
cp .env.example .env

# Start the services
docker-compose up --build

CI/CD Integration

PersonaForge is designed to be part of your development workflow. The repository includes a GitHub Action template in .github/workflows/ci.yml that:

  1. Runs unit tests.
  2. Initializes the PersonaForge environment.
  3. Executes a CI quality gate check against your scenarios.

To use this, add GOOGLE_API_KEY and ELEVENLABS_API_KEY to your GitHub repository secrets.

Architecture

PersonaForge is built with a modular, provider-first architecture:

  • FastAPI / SQLModel: High-performance backend with PostgreSQL.
  • Gemini 3.1 Flash Lite: Ultra-low latency LLM reasoning for customer actions and judging.
  • ElevenLabs ConvAI: Direct WebSocket integration for voice interaction.
  • Redis / RQ: Asynchronous task processing for large-scale test suites.

License

This project is licensed under the MIT License - see the LICENSE file for details.


Built for the future of Conversational AI.

Metadata

Release files for personaforge 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for personaforge 1.1.0
File Size Uploaded
personaforge-1.1.0.tar.gz 35.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for personaforge 1.1.0
File Interpreter ABI Platform
personaforge-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 67.3 kB

Release files / personaforge-1.1.0.tar.gz

Download URL personaforge-1.1.0.tar.gz
Size 35.9 kB
Tags Source
SHA-256 checksum
How to use checksums
f47f76055b90fe6257b4623a9b88141418b962e3e3ef9c860ac26dcb01b91da0
BLAKE2b-256 checksum
How to use checksums
bb78a060aac2f6eaa0970a21183aecfe144208d9a030bf607cbafb921ece8d01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / personaforge-1.1.0-py3-none-any.whl

Download URL personaforge-1.1.0-py3-none-any.whl
Size 31.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
549be8571572b1140004f3e763ca128e2155bea15fad0707e7c3e95ffc920732
BLAKE2b-256 checksum
How to use checksums
bee2e0c58933c2db55e1c66834e7bcc331bfcbb078ca029c576ad3fbedaf6027
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page