Spaces:
Paused
Paused
Update app.py
Browse files
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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 160 |
|
| 161 |
if "endTime" in metadata and metadata["endTime"] is not None:
|
| 162 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 |
-
# ์๊ฐ ํ๋
|
| 286 |
if "startTime" in metadata and metadata["startTime"] is not None:
|
| 287 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 288 |
|
| 289 |
if "endTime" in metadata and metadata["endTime"] is not None:
|
| 290 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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:
|