File size: 801 Bytes
b8e705b
 
d31d865
 
b8e705b
 
 
 
d31d865
b8e705b
 
 
 
 
5339928
b8e705b
 
 
 
 
 
 
 
 
 
 
 
 
d31d865
eed158d
b8e705b
 
 
 
 
 
 
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
30
31
32
33
34
35
36
37
from typing import List, Optional
from pydantic import BaseModel

class Location(BaseModel):
  latitude: float
  longitude: float
  place_name: str
  historical_significance: str

class ArtPeriod(BaseModel):
  name: str
  start_year: int
  end_year: int
  key_characteristics: List[str]

class Artist(BaseModel):
  name: str
  birth_year: Optional[int]
  death_year: Optional[int]
  nationality: str
  primary_medium: List[str]

class Artwork(BaseModel):
  title: str
  year: Optional[int]
  medium: str
  current_location: Optional[Location]
  significance: str

class ArtHistoryResponse(BaseModel):
  time_period: ArtPeriod
  locations: List[Location]
  key_artists: List[Artist]
  notable_works: List[Artwork]
  cultural_context: str
  historical_events: List[str]
  influence_on_later_periods: str