OpenAI Agent Provider

This module provides an adapter for using OpenAI Agents SDK with the Agentstr framework.

Overview

The main component is the openai_agent_callable function, which wraps an agents.Agent instance, making it compatible with the NostrAgent. This allows you to leverage OpenAI’s capabilities within the Agentstr ecosystem.

Typical usage:

from agentstr.agents.providers.openai import openai_agent_callable
from agentstr import NostrAgent, AgentCard
from agents import Agent
from agents.models import OpenAIChatCompletionsModel
from openai import AsyncOpenAI

# Note: To run this example, you need the Agentstr OpenAI extra
# pip install agentstr-sdk[openai]

# 1. Initialize an OpenAI client (requires OPENAI_API_KEY in env)
client = AsyncOpenAI()

# 2. Create an agent using the 'agents' library
my_openai_agent = Agent(
    model=OpenAIChatCompletionsModel(
        model="gpt-4-turbo",
        openai_client=client
    )
)

# 3. Wrap the agent to create a callable for Agentstr
agent_callable = openai_agent_callable(my_openai_agent)

# 4. Create the NostrAgent, providing the callable and an AgentCard
agent_card = AgentCard(name="OpenAIBot", description="An agent powered by OpenAI.")
nostr_agent = NostrAgent(
    agent_card=agent_card,
    agent_callable=agent_callable,
)

# This `nostr_agent` can now be used with a NostrAgentServer.

Reference

See Also