PydanticAI Agent Provider ========================= This module provides an adapter for using `PydanticAI `_ agents with the Agentstr framework. Overview -------- The main component is the ``pydantic_agent_callable`` function, which wraps a ``pydantic_ai.Agent`` instance, making it compatible with the ``NostrAgent``. This allows you to leverage PydanticAI's capabilities within the Agentstr ecosystem. **Typical usage:** .. code-block:: python from agentstr.agents.providers.pydantic import pydantic_agent_callable from agentstr import NostrAgent, AgentCard from pydantic_ai import Agent from pydantic_ai.llm.openai import OpenAI # Note: To run this example, you need the Agentstr Pydantic extra # pip install agentstr-sdk[pydantic] # 1. Initialize a PydanticAI agent with an LLM # This example uses the OpenAI LLM. llm = OpenAI() my_pydantic_agent = Agent(llm=llm) # 2. Wrap the agent to create a callable for Agentstr agent_callable = pydantic_agent_callable(my_pydantic_agent) # 3. Create the NostrAgent, providing the callable and an AgentCard agent_card = AgentCard(name="PydanticBot", description="An agent powered by PydanticAI.") nostr_agent = NostrAgent( agent_card=agent_card, agent_callable=agent_callable, ) # This `nostr_agent` can now be used with a NostrAgentServer. Reference --------- .. automodule:: agentstr.agents.providers.pydantic :members: :undoc-members: :show-inheritance: See Also -------- - :doc:`../../mcp/providers/pydantic` — For converting MCP tools to the PydanticAI format. - `PydanticAI Example `_ - A complete example of using PydanticAI with Agentstr.