from praisonaiagents import Agent, Task, Agents, Session
from pydantic import BaseModel
# Structured output schema
class BlogPost(BaseModel):
title: str
content: str
tags: list[str]
# Create session for resumability
session = Session(session_id="blog-session-001", user_id="user-1")
# Agent with memory enabled
agent = Agent(
name="ContentWriter",
instructions="You are a content writer. Output structured JSON.",
memory=True
)
# Task with structured output
task = Task(
description="Write a short blog post about AI assistants",
expected_output="Structured blog post",
agent=agent,
output_pydantic=BlogPost
)
# Run with SQLite persistence
agents = Agents(
agents=[agent],
tasks=[task],
memory=True
)
result = agents.start()
print(result)
# Resume later with same session_id
session2 = Session(session_id="blog-session-001", user_id="user-1")
context = session2.get_context()