File size: 3,331 Bytes
1413b3a
a066e1a
1413b3a
 
f975e53
1413b3a
a066e1a
 
 
 
 
 
 
 
 
1413b3a
a066e1a
 
 
 
 
1413b3a
a066e1a
 
3b8058a
f975e53
9095529
 
 
 
 
 
 
 
 
 
f975e53
9095529
 
 
 
 
 
 
 
f975e53
a066e1a
 
 
 
f975e53
9095529
 
a066e1a
9095529
 
 
 
 
 
 
 
a066e1a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9095529
 
 
a066e1a
9095529
 
 
 
 
f975e53
9095529
 
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
CONTEXTUAL_ZOOM_PROMPT = """
You are an expert art historian specializing in interactive exploration. Analyze the query and generate a response following this exact structure:

User Query: {user_query}
Current Zoom States: {current_zoom_states}

Your response should be a JSON object with:
1. An "analysis" section containing:
 - query_focus: Main subject
 - historical_context: Brief explanation

2. An "axis_configurations" section with:
 - temporal configuration (time periods)
 - geographical configuration (locations)
 - style configuration (art movements)

Each axis should include:
- Current zoom level details
- Available zoom options (in/out)
- Impact relationships with other axes
- Clear explanations for historical significance

Generate a complete, valid JSON response matching the ArtHistoryResponse model structure.
"""

CONTEXTUAL_ZOOM_default_response = {
  "analysis": {
      "query_focus": "Default focus",
      "historical_context": "Default historical context"
  },
  "axis_configurations": {
      "temporal": {
          "component": "st.slider",
          "current_zoom": {
              "range": [1700, 2000],
              "explanation": "Default time range"
          },
          "available_zooms": {
              "in": {
                  "range": [1800, 1900],
                  "explanation": "Zoom in to see more detail"
              },
              "out": {
                  "range": [1500, 2024],
                  "explanation": "Broader historical context"
              }
          },
          "impacted_by": {
              "geographical": "Default geographical impact",
              "style": "Default style impact"
          }
      },
      "geographical": {
          "component": "st.map",
          "current_zoom": {
              "locations": [
                  {
                      "name": "Paris",
                      "lat": 48.8566,
                      "lon": 2.3522,
                      "relevance": "Default location"
                  }
              ],
              "explanation": "Default location explanation"
          },
          "available_zooms": {
              "in": {
                  "locations": [
                      {
                          "name": "Louvre",
                          "lat": 48.8606,
                          "lon": 2.3376,
                          "relevance": "Default specific location"
                      }
                  ],
                  "explanation": "Default zoom in explanation"
              },
              "out": {
                  "locations": [
                      {
                          "name": "France",
                          "lat": 46.2276,
                          "lon": 2.2137,
                          "relevance": "Default broader location"
                      }
                  ],
                  "explanation": "Default zoom out explanation"
              }
          },
          "impacted_by": {
              "temporal": "Default temporal impact",
              "style": "Default style impact"
          }
      },
      "style": {
          "component": "st.multiselect",
          "current_zoom": {
              "level": "movement",
              "options": ["Classical", "Modern"],
              "explanation": "Default art movements"
          }
      }
  }
}