Jake-seong commited on
Commit
6e42c8c
Β·
verified Β·
1 Parent(s): 97461ad

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -40
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')::timestamp >= '{iso_start_date}'::timestamp"
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')::timestamp <= '{iso_end_date}'::timestamp"
279
 
280
  sql += """
281
  )
@@ -313,43 +313,12 @@ def search_similar_chat_by_date(
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:
 
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: