ワンクリックで
structured-output
Force orxhestra agents to return typed Pydantic objects instead of free-form text using output_schema.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Force orxhestra agents to return typed Pydantic objects instead of free-form text using output_schema.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Build orxhestra agent trees from declarative YAML orx files. Covers full schema, models, tools, agents, runner, and server.
Expose orxhestra agents as A2A protocol endpoints or connect to remote A2A agents.
Add callbacks to orxhestra agents for logging, monitoring, and error handling. Covers model and tool callbacks.
Add planners to orxhestra agents for structured reasoning. Covers BasePlanner, PlanReActPlanner, and TaskPlanner.
Add dynamic skills to orxhestra agents. Covers Skill, InMemorySkillStore, and skill discovery/loading tools.
Stream events from orxhestra agents including token-by-token output, sub-agent events via AgentTool, and Runner streaming.
| name | structured-output |
| description | Force orxhestra agents to return typed Pydantic objects instead of free-form text using output_schema. |
Pass output_schema to LlmAgent to get a typed Pydantic object back.
from pydantic import BaseModel, Field
from orxhestra import LlmAgent
from orxhestra.events.event import Event, EventType
class CompanyAnalysis(BaseModel):
name: str = Field(description="Company name")
industry: str = Field(description="Primary industry")
strengths: list[str] = Field(description="Key strengths")
risks: list[str] = Field(description="Key risks")
recommendation: str = Field(description="Buy, Hold, or Sell")
confidence: float = Field(description="Confidence score 0-1")
agent = LlmAgent(
name="AnalystAgent",
model=model,
tools=[get_financials, get_news_sentiment],
output_schema=CompanyAnalysis,
instructions="You are a financial analyst.",
)
async for event in agent.astream("Analyze Apple", ctx=ctx):
if event.is_final_response():
analysis = event.data # CompanyAnalysis instance
print(f"{analysis.name}: {analysis.recommendation} ({analysis.confidence:.0%})")
PydanticOutputParser.get_format_instructions() is appended to the system prompt.PydanticOutputParser.parse() extracts and validates JSON from the response.with_structured_output() is used as a fallback.