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.5.tar.gz (31.8 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.5-py3-none-any.whl (31.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: playgent-0.1.5.tar.gz
  • Upload date:
  • Size: 31.8 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.5.tar.gz
Algorithm Hash digest
SHA256 f1cab2b08087faf7c59b838236107ae614cf02b7a0b99e71be48cd6f58ca3070
MD5 1f6daecba085015c51a48b1dccf1792f
BLAKE2b-256 fc094d195e89d7a1a75082908218e9db1173abb475c912f50b6c38a250701258

See more details on using hashes here.

File details

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

File metadata

  • Download URL: playgent-0.1.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 c21285db6619cd3ff68dc6ecfb2f84a63fc27ba6c57beec47b3001b70a305f36
MD5 70e1f30ebd074442cd1c7b8190d031cf
BLAKE2b-256 274a80a54b829e037f3ac2e4664e40ae9baa6bdba93cccf7bfd4ee4cc4bbe746

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