from praisonaiagents import Agent, Task, AgentTeam, Session
from pydantic import BaseModel
# Structured output schema
class Document(BaseModel):
title: str
sections: list[str]
content: str
# Create session for document tracking
session = Session(session_id="docs-001", user_id="user-1")
# Agent with memory
agent = Agent(
name="MarkdownWriter",
instructions="Generate structured Markdown documents.",
memory=True
)
# Task with structured output
task = Task(
description="Write a README for a Python web scraping project",
expected_output="Structured document",
agent=agent,
output_pydantic=Document
)
# Run with SQLite persistence
agents = AgentTeam(
agents=[agent],
tasks=[task],
memory=True
)
result = agents.start()
print(result)
# Resume later
session2 = Session(session_id="docs-001", user_id="user-1")
history = session2.search_memory("README")