Source code for langgraph_agent_toolkit.agents.blueprints.create_agent_structured.agent

"""Example ``create_agent`` agent that returns structured output."""

from collections.abc import Sequence

from langchain.agents.middleware import AgentMiddleware
from langchain_core.language_models import BaseChatModel
from langchain_core.tools import BaseTool
from langgraph.pregel import Pregel
from pydantic import BaseModel, Field

from langgraph_agent_toolkit.agents.agent import Agent
from langgraph_agent_toolkit.agents.blueprints.create_agent._shared import build_tool_graph, create_model
from langgraph_agent_toolkit.core.tool_selection import ToolSelectionConfig


[docs] class ResponseSchema(BaseModel): response: str = Field( description="The response on user query.", ) alternative_response: str = Field( description="The alternative response on user query.", )
model = create_model()
[docs] def build_graph( extra_tools: Sequence[BaseTool] = (), *, tool_selection: ToolSelectionConfig | None = None, selector_model: BaseChatModel | None = None, extra_middleware: Sequence[AgentMiddleware] = (), ) -> Pregel: """Build the graph with local tools and supplied tools.""" return build_tool_graph( model, extra_tools, response_format=ResponseSchema, tool_selection=tool_selection, selector_model=selector_model, extra_middleware=extra_middleware, )
react_agent_so = Agent( name="create-agent-structured", description="A create_agent ReAct agent that returns structured output (response_format).", graph=build_graph(), graph_factory=build_graph, ) __all__ = ["build_graph", "react_agent_so"]