|
from typing import List |
|
from pydantic import BaseModel, Field |
|
|
|
class NewsItem(BaseModel): |
|
title: str = Field(description="Title of the AI news article") |
|
url: str = Field(description="URL of the news article") |
|
source: str = Field(description="Source website of the news") |
|
description: str = Field(description="Brief description of the news article") |
|
|
|
class NewsResults(BaseModel): |
|
news_items: List[NewsItem] = Field(description="List of AI news articles found") |
|
|
|
class Subsection(BaseModel): |
|
title: str = Field(description="Title of the subsection (based on news item title)") |
|
source: str = Field(description="Source of the news item") |
|
url: str = Field(description="URL of the news item") |
|
content: str = Field(description="Content for this subsection") |
|
|
|
class Section(BaseModel): |
|
name: str = Field(description="Name for this section of the blog") |
|
description: str = Field(description="Description for this section of the blog") |
|
information: str = Field(description="Information which should be included in this section of the blog") |
|
subsections: List[Subsection] = Field(description="Subsections for each news item in this category", default=[]) |
|
|
|
class Sections(BaseModel): |
|
sections: List[Section] = Field(description="List of sections for this blog") |