from typing import Listfrom agno.agent import Agentfrom agno.models.llama_cpp import LlamaCppfrom agno.run.agent import RunOutputfrom pydantic import BaseModel, Fieldfrom rich.pretty import pprint # noqaclass MovieScript(BaseModel): name: str = Field(..., description="Give a name to this movie") setting: str = Field( ..., description="Provide a nice setting for a blockbuster movie." ) ending: str = Field( ..., description="Ending of the movie. If not available, provide a happy ending.", ) genre: str = Field( ..., description="Genre of the movie. If not available, select action, thriller or romantic comedy.", ) characters: List[str] = Field(..., description="Name of characters for this movie.") storyline: str = Field( ..., description="3 sentence storyline for the movie. Make it exciting!" )# Agent that returns a structured outputstructured_output_agent = Agent( model=LlamaCpp(id="ggml-org/gpt-oss-20b-GGUF"), description="You write movie scripts.", output_schema=MovieScript,)# Run the agent synchronouslystructured_output_response: RunOutput = structured_output_agent.run("New York")pprint(structured_output_response.content)