File size: 646 Bytes
a55a212 b868906 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
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
@computed_field
@property
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
|