Jake-seong commited on
Commit
97461ad
ยท
verified ยท
1 Parent(s): fd9c76e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +68 -6
app.py CHANGED
@@ -154,12 +154,43 @@ def search_similar_chat(query: str, max_results: int = 100) -> List[Dict]:
154
  "topic": get_text_value(metadata, "topic")
155
  }
156
 
157
- # ์‹œ๊ฐ„ ํ•„๋“œ ๋ณ€ํ™˜ ์—†์ด ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ
158
  if "startTime" in metadata and metadata["startTime"] is not None:
159
- result["startTime"] = metadata["startTime"]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
160
 
161
  if "endTime" in metadata and metadata["endTime"] is not None:
162
- result["endTime"] = metadata["endTime"]
 
 
 
 
 
 
 
 
 
 
 
 
 
163
 
164
  results.append(result)
165
  except Exception as e:
@@ -282,12 +313,43 @@ def search_similar_chat_by_date(
282
  "topic": get_text_value(metadata, "topic")
283
  }
284
 
285
- # ์‹œ๊ฐ„ ํ•„๋“œ ๋ณ€ํ™˜ ์—†์ด ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ (์ด๋ฏธ KST๋กœ ์ €์žฅ๋˜์–ด ์žˆ์Œ)
286
  if "startTime" in metadata and metadata["startTime"] is not None:
287
- result["startTime"] = metadata["startTime"]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
288
 
289
  if "endTime" in metadata and metadata["endTime"] is not None:
290
- result["endTime"] = metadata["endTime"]
 
 
 
 
 
 
 
 
 
 
 
 
 
291
 
292
  results.append(result)
293
  except Exception as e:
 
154
  "topic": get_text_value(metadata, "topic")
155
  }
156
 
157
+ # ์‹œ๊ฐ„ ํ•„๋“œ ์ฒ˜๋ฆฌ - ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ISO ํ˜•์‹ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜
158
  if "startTime" in metadata and metadata["startTime"] is not None:
159
+ # PostgreSQL ํƒ€์ž„์Šคํƒฌํ”„ ๋˜๋Š” ์ˆซ์ž์ผ ๊ฒฝ์šฐ ISO ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜
160
+ start_time = metadata["startTime"]
161
+ if isinstance(start_time, str):
162
+ # ์ด๋ฏธ ๋ฌธ์ž์—ด์ด๋ฉด ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ
163
+ result["startTime"] = start_time
164
+ else:
165
+ # ํƒ€์ž„์Šคํƒฌํ”„๋‚˜ ์ˆซ์ž์ธ ๊ฒฝ์šฐ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜
166
+ from datetime import datetime
167
+ try:
168
+ # ๋ฐ€๋ฆฌ์ดˆ ํƒ€์ž„์Šคํƒฌํ”„์ธ ๊ฒฝ์šฐ ์ฒ˜๋ฆฌ
169
+ if isinstance(start_time, int) or (isinstance(start_time, str) and start_time.isdigit()):
170
+ dt = datetime.fromtimestamp(int(start_time)/1000)
171
+ else:
172
+ # PostgreSQL ํƒ€์ž„์Šคํƒฌํ”„ ๊ฐ์ฒด ์ฒ˜๋ฆฌ
173
+ dt = datetime.fromisoformat(str(start_time).replace('Z', '+00:00'))
174
+ result["startTime"] = dt.strftime('%Y-%m-%dT%H:%M:%S')
175
+ except:
176
+ # ๋ณ€ํ™˜ ์‹คํŒจ์‹œ ์›๋ณธ ๊ฐ’ ์‚ฌ์šฉ
177
+ result["startTime"] = start_time
178
 
179
  if "endTime" in metadata and metadata["endTime"] is not None:
180
+ # startTime๊ณผ ๋™์ผํ•œ ๋กœ์ง ์ ์šฉ
181
+ end_time = metadata["endTime"]
182
+ if isinstance(end_time, str):
183
+ result["endTime"] = end_time
184
+ else:
185
+ from datetime import datetime
186
+ try:
187
+ if isinstance(end_time, int) or (isinstance(end_time, str) and end_time.isdigit()):
188
+ dt = datetime.fromtimestamp(int(end_time)/1000)
189
+ else:
190
+ dt = datetime.fromisoformat(str(end_time).replace('Z', '+00:00'))
191
+ result["endTime"] = dt.strftime('%Y-%m-%dT%H:%M:%S')
192
+ except:
193
+ result["endTime"] = end_time
194
 
195
  results.append(result)
196
  except Exception as e:
 
313
  "topic": get_text_value(metadata, "topic")
314
  }
315
 
316
+ # ์‹œ๊ฐ„ ํ•„๋“œ ์ฒ˜๋ฆฌ - ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ISO ํ˜•์‹ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜
317
  if "startTime" in metadata and metadata["startTime"] is not None:
318
+ # PostgreSQL ํƒ€์ž„์Šคํƒฌํ”„ ๋˜๋Š” ์ˆซ์ž์ผ ๊ฒฝ์šฐ ISO ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜
319
+ start_time = metadata["startTime"]
320
+ if isinstance(start_time, str):
321
+ # ์ด๋ฏธ ๋ฌธ์ž์—ด์ด๋ฉด ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ
322
+ result["startTime"] = start_time
323
+ else:
324
+ # ํƒ€์ž„์Šคํƒฌํ”„๋‚˜ ์ˆซ์ž์ธ ๊ฒฝ์šฐ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜
325
+ from datetime import datetime
326
+ try:
327
+ # ๋ฐ€๋ฆฌ์ดˆ ํƒ€์ž„์Šคํƒฌํ”„์ธ ๊ฒฝ์šฐ ์ฒ˜๋ฆฌ
328
+ if isinstance(start_time, int) or (isinstance(start_time, str) and start_time.isdigit()):
329
+ dt = datetime.fromtimestamp(int(start_time)/1000)
330
+ else:
331
+ # PostgreSQL ํƒ€์ž„์Šคํƒฌํ”„ ๊ฐ์ฒด ์ฒ˜๋ฆฌ
332
+ dt = datetime.fromisoformat(str(start_time).replace('Z', '+00:00'))
333
+ result["startTime"] = dt.strftime('%Y-%m-%dT%H:%M:%S')
334
+ except:
335
+ # ๋ณ€ํ™˜ ์‹คํŒจ์‹œ ์›๋ณธ ๊ฐ’ ์‚ฌ์šฉ
336
+ result["startTime"] = start_time
337
 
338
  if "endTime" in metadata and metadata["endTime"] is not None:
339
+ # startTime๊ณผ ๋™์ผํ•œ ๋กœ์ง ์ ๏ฟฝ๏ฟฝ
340
+ end_time = metadata["endTime"]
341
+ if isinstance(end_time, str):
342
+ result["endTime"] = end_time
343
+ else:
344
+ from datetime import datetime
345
+ try:
346
+ if isinstance(end_time, int) or (isinstance(end_time, str) and end_time.isdigit()):
347
+ dt = datetime.fromtimestamp(int(end_time)/1000)
348
+ else:
349
+ dt = datetime.fromisoformat(str(end_time).replace('Z', '+00:00'))
350
+ result["endTime"] = dt.strftime('%Y-%m-%dT%H:%M:%S')
351
+ except:
352
+ result["endTime"] = end_time
353
 
354
  results.append(result)
355
  except Exception as e: