suwankim commited on
Commit
bb5b68c
Β·
1 Parent(s): 1c1e7bc

Deploy n8n workflow evaluator

Browse files
Files changed (1) hide show
  1. main_evaluator.py +30 -11
main_evaluator.py CHANGED
@@ -435,34 +435,53 @@ class WorkflowEvaluator:
435
  print(f" - {len(workflow_list)}개 μ›Œν¬ν”Œλ‘œμš° μ’…ν•© 평가 쀑...")
436
  print(f" (μ’…ν•© 평가: 기술적 완성도 + μ—…μŠ€ν…Œμ΄μ§€ μ œν’ˆ ν™œμš©λ„)")
437
 
438
- # λͺ¨λ“  μ›Œν¬ν”Œλ‘œμš° JSON을 ν•˜λ‚˜λ‘œ ν•©μ³μ„œ μ’…ν•© 평가
439
- all_workflows_json = json.dumps(
440
- [item['data'] for item in workflow_list],
441
- ensure_ascii=False,
442
- indent=2
443
- )
 
 
 
 
 
 
444
 
445
- # μ’…ν•© 평가 ν”„λ‘¬ν”„νŠΈμ— κ°œλ³„ 평가 κ²°κ³Ό 포함
446
- synthesis_input = f"""
447
  ν”„λ‘œμ νŠΈ λ‚΄ μ›Œν¬ν”Œλ‘œμš°λ³„ κ°œλ³„ 평가 κ²°κ³Ό (기술적 완성도):
448
 
449
  {json.dumps(workflow_details, ensure_ascii=False, indent=2)}
450
 
451
  전체 μ›Œν¬ν”Œλ‘œμš° JSON 데이터:
452
  {all_workflows_json}
 
 
 
 
 
 
 
 
 
 
 
 
453
  """
454
 
455
  # 닀쀑 μ›Œν¬ν”Œλ‘œμš° 기술적 완성도 μ’…ν•© 평가
456
  print(f" - 기술적 완성도 μ’…ν•© 평가 쀑...")
457
  technical_synthesis = self.evaluator.evaluate(
458
- synthesis_input,
459
  MULTI_WORKFLOW_TECHNICAL_CRITERIA
460
  )
461
 
462
- # 닀쀑 μ›Œν¬ν”Œλ‘œμš° μ—…μŠ€ν…Œμ΄μ§€ ν™œμš©λ„ μ’…ν•© 평가 (μ’…ν•© ν‰κ°€μ—μ„œλ§Œ 1번)
463
  print(f" - μ—…μŠ€ν…Œμ΄μ§€ μ œν’ˆ ν™œμš©λ„ μ’…ν•© 평가 쀑...")
 
464
  upstage_synthesis = self.evaluator.evaluate(
465
- synthesis_input,
466
  MULTI_WORKFLOW_UPSTAGE_CRITERIA
467
  )
468
 
 
435
  print(f" - {len(workflow_list)}개 μ›Œν¬ν”Œλ‘œμš° μ’…ν•© 평가 쀑...")
436
  print(f" (μ’…ν•© 평가: 기술적 완성도 + μ—…μŠ€ν…Œμ΄μ§€ μ œν’ˆ ν™œμš©λ„)")
437
 
438
+ # λͺ¨λ“  μ›Œν¬ν”Œλ‘œμš° JSON을 κ°œλ³„μ μœΌλ‘œ κ΅¬μ‘°ν™”ν•˜μ—¬ 톡합
439
+ all_workflows_data = []
440
+ for idx, workflow_item in enumerate(workflow_list, 1):
441
+ file_name = os.path.basename(workflow_item['path'])
442
+ workflow_data = workflow_item['data']
443
+ all_workflows_data.append({
444
+ 'μ›Œν¬ν”Œλ‘œμš°_번호': idx,
445
+ '파일λͺ…': file_name,
446
+ 'μ›Œν¬ν”Œλ‘œμš°_JSON': workflow_data
447
+ })
448
+
449
+ all_workflows_json = json.dumps(all_workflows_data, ensure_ascii=False, indent=2)
450
 
451
+ # 기술적 완성도 μ’…ν•© ν‰κ°€μš© μž…λ ₯
452
+ technical_synthesis_input = f"""
453
  ν”„λ‘œμ νŠΈ λ‚΄ μ›Œν¬ν”Œλ‘œμš°λ³„ κ°œλ³„ 평가 κ²°κ³Ό (기술적 완성도):
454
 
455
  {json.dumps(workflow_details, ensure_ascii=False, indent=2)}
456
 
457
  전체 μ›Œν¬ν”Œλ‘œμš° JSON 데이터:
458
  {all_workflows_json}
459
+ """
460
+
461
+ # μ—…μŠ€ν…Œμ΄μ§€ μ œν’ˆ ν™œμš©λ„ μ’…ν•© ν‰κ°€μš© μž…λ ₯ (λͺ¨λ“  JSON 파일 톡합)
462
+ upstage_synthesis_input = f"""
463
+ ν”„λ‘œμ νŠΈ 전체 μ›Œν¬ν”Œλ‘œμš° JSON 데이터 (λͺ¨λ“  μ›Œν¬ν”Œλ‘œμš° 톡합):
464
+
465
+ 총 {len(workflow_list)}개의 μ›Œν¬ν”Œλ‘œμš°κ°€ ν¬ν•¨λœ ν”„λ‘œμ νŠΈμž…λ‹ˆλ‹€.
466
+
467
+ 각 μ›Œν¬ν”Œλ‘œμš°μ˜ 전체 JSON 데이터:
468
+ {all_workflows_json}
469
+
470
+ μœ„μ˜ λͺ¨λ“  μ›Œν¬ν”Œλ‘œμš° JSON 데이터λ₯Ό μ’…ν•©μ μœΌλ‘œ λΆ„μ„ν•˜μ—¬, ν”„λ‘œμ νŠΈ μ „μ²΄μ—μ„œ μ—…μŠ€ν…Œμ΄μ§€ μ œν’ˆμ΄ μ–΄λ–»κ²Œ ν™œμš©λ˜μ—ˆλŠ”μ§€ ν‰κ°€ν•˜μ„Έμš”.
471
  """
472
 
473
  # 닀쀑 μ›Œν¬ν”Œλ‘œμš° 기술적 완성도 μ’…ν•© 평가
474
  print(f" - 기술적 완성도 μ’…ν•© 평가 쀑...")
475
  technical_synthesis = self.evaluator.evaluate(
476
+ technical_synthesis_input,
477
  MULTI_WORKFLOW_TECHNICAL_CRITERIA
478
  )
479
 
480
+ # 닀쀑 μ›Œν¬ν”Œλ‘œμš° μ—…μŠ€ν…Œμ΄μ§€ ν™œμš©λ„ μ’…ν•© 평가 (λͺ¨λ“  JSON 파일 ν†΅ν•©ν•˜μ—¬ 평가)
481
  print(f" - μ—…μŠ€ν…Œμ΄μ§€ μ œν’ˆ ν™œμš©λ„ μ’…ν•© 평가 쀑...")
482
+ print(f" (μž…λ ₯: λͺ¨λ“  μ›Œν¬ν”Œλ‘œμš° JSON 파일 톡합)")
483
  upstage_synthesis = self.evaluator.evaluate(
484
+ upstage_synthesis_input,
485
  MULTI_WORKFLOW_UPSTAGE_CRITERIA
486
  )
487