1from kern.agent import Agent
2from kern.models.google import GeminiInteractions
3from pydantic import BaseModel, Field
4
5
6class MovieReview(BaseModel):
7 title: str = Field(description="The movie title")
8 year: int = Field(description="Release year")
9 genre: str = Field(description="Primary genre")
10 rating: float = Field(description="Rating out of 10")
11 summary: str = Field(description="Brief review summary")
12
13
14agent = Agent(
15 model=GeminiInteractions(id="gemini-3-flash-preview"),
16 output_schema=MovieReview,
17 markdown=True,
18)
19
20if __name__ == "__main__":
21 response = agent.run("Write a review of The Matrix (1999)")
22
23 if response.content:
24 review = response.content
25 if isinstance(review, MovieReview):
26 print(f"Title: {review.title}")
27 print(f"Year: {review.year}")
28 print(f"Genre: {review.genre}")
29 print(f"Rating: {review.rating}/10")
30 print(f"Summary: {review.summary}")
31 else:
32 print(f"Raw response: {review}")