| title | OpenAI Agent SDK guardrails examples |
|---|---|
| sidebarTitle | OpenAI Agent SDK guardrails |
| description | This example project demonstrates how to implement different types of guardrails using the OpenAI Agent SDK with Trigger.dev for AI safety and control. |
import RealtimeLearnMore from "/snippets/realtime-learn-more.mdx";
The OpenAI Agent SDK is a Python library.
This demo is a practical guide that demonstrates:
- Three types of AI guardrails: Input validation, output checking, and real-time streaming monitoring
- Integration of the OpenAI Agent SDK with Trigger.dev for production AI workflows
- Educational examples of implementing guardrails for AI safety and control mechanisms
- Real-world scenarios like math tutoring agents with content validation and complexity monitoring
Guardrails are safety mechanisms that run alongside AI agents to validate input, check output, monitor streaming content in real-time, and prevent unwanted or harmful behavior.
<Card title="View the OpenAI Agent SDK Guardrails repo" icon="GitHub" href="https://github.com/triggerdotdev/examples/tree/main/openai-agent-sdk-guardrails-examples"
Click here to view the full code for this project in our examples repository on GitHub. You can fork it and use it as a starting point for your own project.
<video controls className="w-full aspect-video" src="https://github.com/user-attachments/assets/9b1e55c7-467d-4aca-8b4a-a018014c0827"
- inputGuardrails.ts - Passes user prompts to Python script and handles
InputGuardrailTripwireTriggeredexceptions - outputGuardrails.ts - Runs agent generation and catches
OutputGuardrailTripwireTriggeredexceptions with detailed error info - streamingGuardrails.ts - Executes streaming Python script and parses JSON output containing guardrail metrics
- input-guardrails.py - Agent with
@input_guardraildecorator that validates user input before processing (example: math tutor that only responds to math questions) - output-guardrails.py - Agent with
@output_guardraildecorator that validates generated responses using a separate guardrail agent - streaming-guardrails.py - Processes
ResponseTextDeltaEventstreams with async guardrail checks at configurable intervals (example: stops streaming if language is too complex for a 10-year-old)
- trigger.config.ts - Uses the Trigger.dev Python extension