Spaces:
Paused
Paused
Update app.py
Browse files
app.py
CHANGED
|
@@ -260,22 +260,22 @@ def search_similar_chat_by_date(
|
|
| 260 |
CASE WHEN customer_embedding IS NOT NULL THEN 1 - (customer_embedding <=> '%s'::vector) ELSE 0 END * %f as customer_sim,
|
| 261 |
CASE WHEN agent_embedding IS NOT NULL THEN 1 - (agent_embedding <=> '%s'::vector) ELSE 0 END * %f as agent_sim
|
| 262 |
FROM vector_store_multi_embeddings
|
| 263 |
-
WHERE full_embedding IS NOT NULL
|
| 264 |
OR topic_embedding IS NOT NULL
|
| 265 |
OR customer_embedding IS NOT NULL
|
| 266 |
-
OR agent_embedding IS NOT NULL
|
| 267 |
""" % (query_vector, full_w, query_vector, topic_w, query_vector, customer_w, query_vector, agent_w)
|
| 268 |
|
| 269 |
# λ μ§ νν° μΆκ°
|
| 270 |
if start_date and start_date.strip():
|
| 271 |
-
# μμ μκ° μΆκ°νμ¬ ISO νμμΌλ‘ λΉκ΅
|
| 272 |
iso_start_date = start_date + "T00:00:00"
|
| 273 |
-
sql += f" AND (metadata->>'startTime')
|
| 274 |
|
| 275 |
if end_date and end_date.strip():
|
| 276 |
-
# μ’
λ£ μκ° μΆκ°νμ¬ ISO νμμΌλ‘ λΉκ΅
|
| 277 |
iso_end_date = end_date + "T23:59:59"
|
| 278 |
-
sql += f" AND (metadata->>'startTime')
|
| 279 |
|
| 280 |
sql += """
|
| 281 |
)
|
|
@@ -313,43 +313,12 @@ def search_similar_chat_by_date(
|
|
| 313 |
"topic": get_text_value(metadata, "topic")
|
| 314 |
}
|
| 315 |
|
| 316 |
-
# μκ° νλ
|
| 317 |
if "startTime" in metadata and metadata["startTime"] is not None:
|
| 318 |
-
|
| 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 |
-
|
| 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:
|
|
|
|
| 260 |
CASE WHEN customer_embedding IS NOT NULL THEN 1 - (customer_embedding <=> '%s'::vector) ELSE 0 END * %f as customer_sim,
|
| 261 |
CASE WHEN agent_embedding IS NOT NULL THEN 1 - (agent_embedding <=> '%s'::vector) ELSE 0 END * %f as agent_sim
|
| 262 |
FROM vector_store_multi_embeddings
|
| 263 |
+
WHERE (full_embedding IS NOT NULL
|
| 264 |
OR topic_embedding IS NOT NULL
|
| 265 |
OR customer_embedding IS NOT NULL
|
| 266 |
+
OR agent_embedding IS NOT NULL)
|
| 267 |
""" % (query_vector, full_w, query_vector, topic_w, query_vector, customer_w, query_vector, agent_w)
|
| 268 |
|
| 269 |
# λ μ§ νν° μΆκ°
|
| 270 |
if start_date and start_date.strip():
|
| 271 |
+
# μμ μκ° μΆκ°νμ¬ ISO νμμΌλ‘ λΉκ΅
|
| 272 |
iso_start_date = start_date + "T00:00:00"
|
| 273 |
+
sql += f" AND (metadata->>'startTime') >= '{iso_start_date}'"
|
| 274 |
|
| 275 |
if end_date and end_date.strip():
|
| 276 |
+
# μ’
λ£ μκ° μΆκ°νμ¬ ISO νμμΌλ‘ λΉκ΅
|
| 277 |
iso_end_date = end_date + "T23:59:59"
|
| 278 |
+
sql += f" AND (metadata->>'startTime') <= '{iso_end_date}'"
|
| 279 |
|
| 280 |
sql += """
|
| 281 |
)
|
|
|
|
| 313 |
"topic": get_text_value(metadata, "topic")
|
| 314 |
}
|
| 315 |
|
| 316 |
+
# μκ° νλ λ³ν μμ΄ κ·Έλλ‘ μ¬μ© (μ΄λ―Έ KSTλ‘ μ μ₯λμ΄ μμ)
|
| 317 |
if "startTime" in metadata and metadata["startTime"] is not None:
|
| 318 |
+
result["startTime"] = metadata["startTime"]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 319 |
|
| 320 |
if "endTime" in metadata and metadata["endTime"] is not None:
|
| 321 |
+
result["endTime"] = metadata["endTime"]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 322 |
|
| 323 |
results.append(result)
|
| 324 |
except Exception as e:
|