Skip to main content

SDK for tracking and testing OpenAI API calls

Project description

Playgent

PyPI Version Python Versions

Record and test your OpenAI agent traces.

Installation

pip install playgent

Quick Start

Step 1: Instrument your agent to record traces

import json
from typing import List
import dotenv
import os

dotenv.load_dotenv()

from playgent.openai import OpenAI  # Drop-in replacement for OpenAI
from playgent import record, trace

client = OpenAI()  # Automatically tracks all OpenAI calls

# Your agent functions here
def add_to_todo_list(task: str) -> str:
    # ... your implementation
    pass

@record  # This decorator records the entire trace
def infer(input_text: str, model: str = "gpt-4", tools_list: List = None):
    messages = [{"role": "user", "content": input_text}]

    # Your agent logic with OpenAI calls
    response = client.chat.completions.create(
        model=model,
        messages=messages,
        tools=tools_list
    )

    # Process response and handle tool calls...
    return response

# Use trace context manager to auto-create traces
with trace() as sess:
    result = infer("Add 'buy milk' to my todo list")

Step 2: Run tests via replay

After annotating traces with expected outcomes on the Playgent dashboard:

from playgent import replay_test, evaluate
from example_agent import infer

# Test using a recorded trace ID
test_case_id = "6996b53a-1ebf-403a-8770-10ed001391c3"

with replay_test(test_case_id) as (trace_id, endpoint_events):
    for event in endpoint_events:
        infer(**event.arguments)
    result = evaluate(test_case_id, trace_id)

That's it! Two steps:

  1. Instrument - Add @record decorator and use playgent.openai.OpenAI
  2. Test - Replay annotated traces and evaluate results

Environment Setup

Create a .env file:

PLAYGENT_API_KEY=your-playgent-api-key
OPENAI_API_KEY=your-openai-api-key

Full Examples

See example_agent.py and example_agent_test.py for complete working examples.

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

playgent-0.1.4.tar.gz (31.9 kB view details)

Uploaded Source

Built Distribution

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

playgent-0.1.4-py3-none-any.whl (31.9 kB view details)

Uploaded Python 3

File details

Details for the file playgent-0.1.4.tar.gz.

File metadata

  • Download URL: playgent-0.1.4.tar.gz
  • Upload date:
  • Size: 31.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for playgent-0.1.4.tar.gz
Algorithm Hash digest
SHA256 7c0cd58c2baa61e4cfadd39a50b354eb93988d349826f2c052b37311884fe333
MD5 af73c92cd8168086a6dda69a0159a7a7
BLAKE2b-256 0259b5e9de68ad1615c2d9a8f09241f1887ae987ffff11c57444ab3961ceffcc

See more details on using hashes here.

File details

Details for the file playgent-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: playgent-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 31.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for playgent-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8cbb32fc6b2471e38a9b2aff0f2a45e564fd6a66bf2cba211c61c48a6a2125ca
MD5 eed8b90f6f49da02762b1040eec797f8
BLAKE2b-256 1f81cc0c5ee2383b95c14382e8b672eb089051d90307dc51548f440007697c31

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