OpenAI Agents SDK Integration
This guide demonstrates how to use Sequrity with the OpenAI Agents SDK framework.
Overview
The SequrityAsyncOpenAI client is a drop-in replacement for OpenAI's AsyncOpenAI client that automatically adds Sequrity's security features:
- Dual-LLM Architecture: Separate planning and quarantined execution
- Automatic Session Tracking: Maintains conversation context across requests
- Security Headers: Automatically injects features, policies, and configuration
- Full OpenAI Compatibility: Works seamlessly with OpenAI Agents SDK
Installation
# Install sequrity-api with OpenAI support (included by default)
pip install sequrity
# Optional: Install OpenAI Agents SDK for agent framework support
pip install openai-agents
Basic Setup
# Create Sequrity client
client = create_sequrity_openai_agents_sdk_client(
sequrity_api_key=os.environ["SEQURITY_API_KEY"],
features=FeaturesHeader.dual_llm(),
security_policy=SecurityPolicyHeader.dual_llm(),
service_provider="openrouter",
llm_api_key=os.environ["OPENROUTER_API_KEY"],
)
Basic Completion
async def basic_completion():
"""Simple chat completion example."""
response = await client.chat.completions.create(
model="gpt-5-mini",
messages=[{"role": "user", "content": "What is 2 + 2? Answer briefly."}],
)
print(f"Response: {response.choices[0].message.content}")
print(f"Session ID: {client.session_id}")
Session Management
async def session_management():
"""Demonstrate session management."""
# First request - establishes session
messages = [{"role": "user", "content": "My name is Alice."}]
response1 = await client.chat.completions.create(
model="gpt-5-mini",
messages=messages,
)
print(f"First response: {response1.choices[0].message.content}")
print(f"Session ID: {client.session_id}")
# Add assistant response to message history
messages.append({"role": "assistant", "content": response1.choices[0].message.content})
# Second request - uses same session with full message history
messages.append({"role": "user", "content": "What is my name?"})
response2 = await client.chat.completions.create(
model="gpt-5-mini",
messages=messages,
)
print(f"Second response: {response2.choices[0].message.content}")
# Reset session for new conversation
client.reset_session()
print(f"Session ID after reset: {client.session_id}")
Using with OpenAI Agents SDK
async def with_agents_sdk():
"""Use with OpenAI Agents SDK."""
try:
from agents import Agent, RunConfig, Runner
# Create an agent
agent = Agent(
name="ResearchAssistant",
instructions="You are a helpful research assistant. Keep responses concise.",
)
# Configure agent to use Sequrity
run_config = RunConfig(model="gpt-5-mini", model_provider=client)
# Run the agent
result = await Runner.run(
agent,
input="What are the main benefits of dual-LLM architecture?",
run_config=run_config,
)
print(f"Agent response: {result.final_output}")
except ImportError:
print("OpenAI Agents SDK not installed. Skipping agent example.")
Complete Example
See the complete working example at examples/control/integrations/openai_agents_sdk_basic.py.