| from pydantic import BaseModel, computed_field | |
| class Source(BaseModel): | |
| title: str | |
| url: str | |
| summary: str | None = None | |
| abstract: str | None = None | |
| doi: str | None = None | |
| venue: str | None = None | |
| year: int | None = None | |
| citations: int | None = None | |
| influential_citations: int | None = None | |
| def citation(self) -> str: | |
| return f"[{self.title}]({self.url}). *{self.venue}* {self.year}." | |
| class Statement(BaseModel): | |
| text: str | |
| sources: list[Source] | None = None | |
| class Statements(BaseModel): | |
| statements: list[Statement] | |
| thoughts: str | None = None | |