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 | |