Skip to main content
Automatic Goggles Logo

Automatic Goggles

PyPI version Python 3.8+ License: MIT Downloads

Post-Call Analysis & Conversational Evaluation

Extract structured fields from transcripts with confidence scores and evaluate conversation quality using Assertive LLM-as-a-Judge

Automatic-Goggles? | Installation | Quick Start | Features | Use-Cases


🎯 What is Automatic Goggles?

Automatic Goggles is a lightweight, production-ready Python package for analyzing conversation transcripts. It provides two core capabilities:

1. 🔍 Field Extraction

Extract structured data (names, emails, dates, custom fields) from transcripts with confidence scores

Field Extraction

2. ⚖️ Conversation Evaluation

Assess conversation quality against custom assertions using LLM-as-a-Judge

Asserts Evaluation

Built for voice agent post-call analysis, customer support quality assurance, and conversational AI evaluation.


🚀 Installation

pip install automatic-goggles

Requires Python 3.8+

🚀 Examples

Field Extraction in 30 Seconds

from transtype import TranscriptProcessor

fields = [
    {
        "field_name": "agent_email",
        "field_type": "string",
        "format_example": "agent@company.com",
        "field_description": "The agent's email address for follow-up communication"
    },
    {
        "field_name": "agent_name",
        "field_type": "string",
        "format_example": "John Doe",
        "field_description": "Full name of the customer service agent"
    }
]

processor = TranscriptProcessor(
    api_key="your-openai-api-key",
    fields=fields,
    include_reasoning=True
)

conversation = {
    "messages": [
        {"role": "assistant", "content": "My name is Sarah Chen, you can reach me at sarah@example.com"},
        {"role": "user", "content": "Thanks, I'll email you"}
    ]
}

result = processor.process(conversation)

Output:

{
    "fields": [
        {
            "field_name": "agent_email",
            "field_value": "sarah@example.com",
            "field_confidence": 0.92,
            "field_reason": "Email explicitly mentioned by agent"
        },
        {
            "field_name": "agent_name",
            "field_value": "Sarah Chen",
            "field_confidence": 0.95,
            "field_reason": "Agent introduced herself by name"
        }
    ]
}

Conversation Evaluation in 30 Seconds

from transtype import AssertsEvaluator

evaluator = AssertsEvaluator(
    api_key="your-openai-api-key",
    evaluation_steps=[
        "Did the agent greet the customer politely?",
        "Did the agent ask clarifying questions?",
        "Did the agent resolve the customer's issue?",
        "Did the agent offer additional help?"
    ],
    threshold=0.7  # Pass threshold (0-1)
)

conversation = {
    "messages": [
        {"role": "user", "content": "My internet isn't working"},
        {"role": "assistant", "content": "Good morning! I'm sorry to hear that. When did this issue start?"},
        {"role": "user", "content": "This morning"},
        {"role": "assistant", "content": "Let me help you troubleshoot. Can you check if your router is powered on?"}
    ]
}

result = evaluator.evaluate(conversation)

Output:

{
    "result": {
        "score": 0.88,
        "success": true,
        "reason": "Agent demonstrated professionalism, asked clarifying questions, and initiated troubleshooting"
    }
}

🔥 Features

Field Extraction

  • ✅ Confidence-Weighted Scoring - Log probability-based confidence scores (0-1)
  • ✅ Contextual Descriptions - Improve accuracy with detailed field descriptions
  • ✅ Flexible Reasoning - Toggle explanations on/off for performance/cost optimization
  • ✅ Multi-Field Support - Extract multiple fields in one pass
  • ✅ Format Examples - Guide extraction with format examples

Conversation Evaluation

  • ✅ LLM-as-a-Judge - Research-backed evaluation using GPT models
  • ✅ Custom Assertions - Define your own quality criteria
  • ✅ Weighted Scoring - Confidence-weighted scores
  • ✅ Pass/Fail Thresholds - Configurable success criteria
  • ✅ Multi-Turn Support - Evaluate entire conversations

Technical Highlights

  • ⚡ Fast & Cost-Effective - Optional reasoning for performance tuning
  • 🧪 Production-Ready - Confidence scores for reliability filtering
  • 📊 Transparent - Get reasoning explanations for every extraction/evaluation

💡 Use Cases

Use Case Description
Voice Agent Post-Call Analysis Extract key information (phone numbers, appointment dates, action items) after customer calls
Quality Assurance Evaluate if agents followed scripts, were polite, and resolved issues
Compliance Monitoring Verify agents disclosed required information (privacy policies, terms)
Training & Coaching Identify coaching opportunities by evaluating agent performance against best practices
Customer Insights Extract sentiment, pain points, and feature requests from support transcripts

🛠️ Field Definition Schema

Each field requires:

Property Required Description
field_name ✅ Yes Unique identifier for the field
field_type ✅ Yes Data type (currently supports "string")
format_example ✅ Yes Example of expected format (e.g., "(555) 123-4567")
field_description ✅ Yes Detailed context to guide extraction accuracy

Example:

{
    "field_name": "customer_phone",
    "field_type": "string",
    "format_example": "(555) 123-4567",
    "field_description": "The customer's primary phone number for callbacks. Look for 10-digit numbers in various formats."
}

🤝 Contributing

We welcome contributions! Here's how you can help:

  1. Report Bugs - Open an issue on GitHub
  2. Feature Requests - Suggest new features via issues
  3. Pull Requests - Submit PRs for bug fixes or features
  4. Documentation - Improve docs or add examples

📝 License

MIT License - see LICENSE for details


🙏 Acknowledgments


📬 Contact & Support


Built with ❤️ by developers, for developers

⭐ Star on GitHub | 📦 Install Now

Metadata

Release files for automatic-goggles 0.8.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 automatic-goggles 0.8.0
File Size Uploaded Provenance
automatic_goggles-0.8.0.tar.gz 11.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for automatic-goggles 0.8.0
File Interpreter ABI Platform
automatic_goggles-0.8.0-py3-none-any.whl Python 3 none any Details

Total release size: 22.1 kB

Release files / automatic_goggles-0.8.0.tar.gz

Download URL automatic_goggles-0.8.0.tar.gz
Size 11.2 kB
Tags Source
SHA-256 checksum
How to use checksums
672899ddfcf8967e92c2e1598952f6c31af8bac258b239d95f25a5020ef0c5ad
BLAKE2b-256 checksum
How to use checksums
24b84876f63e082cc515fe0c5d11477d0f0d383b8cc96507d13f09060a7d7cbd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.12

Release files / automatic_goggles-0.8.0-py3-none-any.whl

Download URL automatic_goggles-0.8.0-py3-none-any.whl
Size 11.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
54998e1900f44f3d067ceca695be34b4e3f326a1e2f5636ed23eb18667014f5c
BLAKE2b-256 checksum
How to use checksums
2e5fbfadb8d202fdb147862b92f4896da275ed486aa39faf4c6e1be7b7ad35ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.12

Security for automatic-goggles 0.8.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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