from pydantic import BaseModel, Field
from opper_agents import Agent
class AnalysisResult(BaseModel):
summary: str = Field(description="Brief summary of the analysis")
sentiment: str = Field(description="Overall sentiment: positive, negative, or neutral")
confidence: float = Field(description="Confidence score from 0 to 1")
key_points: list[str] = Field(description="Main points identified")
agent = Agent(
name="AnalysisAgent",
output_schema=AnalysisResult
)
result = await agent.process("Analyze this review: Great product, fast shipping!")
print(result.sentiment) # "positive"
print(result.confidence) # 0.95
print(result.key_points) # ["Product quality praised", "Shipping speed noted"]