openfree commited on
Commit
1c836be
Β·
verified Β·
1 Parent(s): 96d5203

Update app-backup.py

Browse files
Files changed (1) hide show
  1. app-backup.py +69 -11
app-backup.py CHANGED
@@ -186,7 +186,7 @@ class ProgressiveNarrativeTracker:
186
  issues.append(f"μ˜λ―Έκ°€ λ°œμ „ν•˜μ§€ μ•Šμ€ 상징: {', '.join(static_symbols)}")
187
 
188
  return len(issues) == 0, issues
189
-
190
  def generate_phase_requirements(self, phase: int) -> str:
191
  """각 단계별 ν•„μˆ˜ μš”κ΅¬μ‚¬ν•­ 생성"""
192
  requirements = []
@@ -222,6 +222,11 @@ class ProgressiveNarrativeTracker:
222
  requirements.append("- λ³€ν™”λœ μΌμƒμ˜ λͺ¨μŠ΅")
223
  requirements.append("- ν•΄κ²°λ˜μ§€ μ•Šμ€ μ§ˆλ¬Έλ“€")
224
  requirements.append("- μ—¬μš΄κ³Ό μ„±μ°°μ˜ μ—¬μ§€")
 
 
 
 
 
225
 
226
  # 반볡 λ°©μ§€ μš”κ΅¬μ‚¬ν•­
227
  requirements.append("\n⚠️ μ ˆλŒ€ κΈˆμ§€μ‚¬ν•­:")
@@ -230,6 +235,8 @@ class ProgressiveNarrativeTracker:
230
  requirements.append("- ν”Œλ‘―μ΄ μ œμžλ¦¬κ±ΈμŒν•˜κΈ°")
231
 
232
  return "\n".join(requirements)
 
 
233
 
234
 
235
  class NovelDatabase:
@@ -516,12 +523,18 @@ class ProgressiveLiterarySystem:
516
  """κ°λ…μž 초기 기획 - ν†΅ν•©λœ μ„œμ‚¬ ꡬ쑰"""
517
  search_results_str = ""
518
  if self.web_search.enabled:
519
- queries = [f"{user_query} μ‚¬νšŒ 문제", f"{user_query} ν˜„λŒ€ ν•œκ΅­"]
520
- for q in queries[:1]:
 
 
 
 
 
 
521
  results = self.web_search.search(q, count=2, language=language)
522
  if results:
523
  search_results_str += self.web_search.extract_relevant_info(results) + "\n"
524
-
525
  lang_prompts = {
526
  "Korean": f"""당신은 ν˜„λŒ€ ν•œκ΅­ λ¬Έν•™μ˜ κ±°μž₯μž…λ‹ˆλ‹€.
527
  λ‹¨νŽΈμ΄ μ•„λ‹Œ μ€‘νŽΈ μ†Œμ„€(8,000단어 이상)을 μœ„ν•œ ν†΅ν•©λœ μ„œμ‚¬ ꡬ쑰λ₯Ό κΈ°νšν•˜μ„Έμš”. μ ˆλŒ€ 'μˆ˜λ™νƒœ'λ₯Ό μ‚¬μš©ν•˜μ§€ λ§ˆμ„Έμš”.
@@ -580,7 +593,7 @@ class ProgressiveLiterarySystem:
580
 
581
  ν•˜λ‚˜μ˜ κ°•λ ₯ν•œ μ„œμ‚¬κ°€ μ‹œμž‘λΆ€ν„° λκΉŒμ§€ κ΄€ν†΅ν•˜λŠ” μž‘ν’ˆμ„ κΈ°νšν•˜μ„Έμš”.""",
582
 
583
- "English": f"""You are a master of contemporary literary fiction.
584
  Plan an integrated narrative structure for a novella (8,000+ words), not a collection of short stories.
585
 
586
  **Theme:** {user_query}
@@ -637,9 +650,12 @@ Plan an integrated narrative structure for a novella (8,000+ words), not a colle
637
 
638
  Create a work with one powerful narrative from beginning to end."""
639
  }
640
-
641
  return lang_prompts.get(language, lang_prompts["Korean"])
642
 
 
 
 
643
  def create_critic_director_prompt(self, director_plan: str, user_query: str, language: str) -> str:
644
  """λΉ„ν‰κ°€μ˜ κ°λ…μž 기획 κ²€ν†  - μ„œμ‚¬ 톡합성 쀑심"""
645
  lang_prompts = {
@@ -933,7 +949,9 @@ Specific progression directions for each writer."""
933
 
934
  def create_critic_final_prompt(self, complete_novel: str, word_count: int, language: str) -> str:
935
  """μ΅œμ’… 비평 - AGI 평가 κΈ°μ€€"""
936
- return f"""μ™„μ„±λœ μ†Œμ„€μ„ AGI νŠœλ§ν…ŒμŠ€νŠΈ κΈ°μ€€μœΌλ‘œ ν‰κ°€ν•˜μ„Έμš”.
 
 
937
 
938
  **μž‘ν’ˆ 정보:**
939
  - 총 λΆ„λŸ‰: {word_count}단어
@@ -944,19 +962,19 @@ Specific progression directions for each writer."""
944
 
945
  **평가 κΈ°μ€€ (AGI νŠœλ§ν…ŒμŠ€νŠΈ):**
946
 
947
- 1. **μž₯νŽΈμ†Œμ„€λ‘œμ„œμ˜ 완성도 (40점)**
948
  - ν†΅ν•©λœ μ„œμ‚¬ ꡬ쑰 (반볡 μ—†μŒ)
949
  - 인물의 λͺ…ν™•ν•œ λ³€ν™” arc
950
  - ν”Œλ‘―μ˜ 좕적과 ν•΄κ²°
951
  - 8,000단어 이상 λΆ„λŸ‰
952
 
953
- 2. **문학적 μ„±μ·¨ (30점)**
954
  - 주제 μ˜μ‹μ˜ 깊이
955
  - 인물 μ‹¬λ¦¬μ˜ 섀득λ ₯
956
  - 문체의 일관성과 아름닀움
957
  - 상징과 μ€μœ μ˜ 효과
958
 
959
- 3. **μ‚¬νšŒμ  톡찰 (20점)**
960
  - ν˜„λŒ€ μ‚¬νšŒ 문제 포착
961
  - 개인과 ꡬ쑰의 μ—°κ²°
962
  - λ³΄νŽΈμ„±κ³Ό νŠΉμˆ˜μ„± κ· ν˜•
@@ -968,7 +986,47 @@ Specific progression directions for each writer."""
968
 
969
  **총점: /100점**
970
 
971
- 특히 '반볡 ꡬ쑰' λ¬Έμ œκ°€ μžˆμ—ˆλŠ”μ§€ μ—„κ²©νžˆ ν‰κ°€ν•˜μ„Έμš”."""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
972
 
973
  # --- LLM 호좜 ν•¨μˆ˜λ“€ ---
974
  def call_llm_sync(self, messages: List[Dict[str, str]], role: str, language: str) -> str:
 
186
  issues.append(f"μ˜λ―Έκ°€ λ°œμ „ν•˜μ§€ μ•Šμ€ 상징: {', '.join(static_symbols)}")
187
 
188
  return len(issues) == 0, issues
189
+
190
  def generate_phase_requirements(self, phase: int) -> str:
191
  """각 단계별 ν•„μˆ˜ μš”κ΅¬μ‚¬ν•­ 생성"""
192
  requirements = []
 
222
  requirements.append("- λ³€ν™”λœ μΌμƒμ˜ λͺ¨μŠ΅")
223
  requirements.append("- ν•΄κ²°λ˜μ§€ μ•Šμ€ μ§ˆλ¬Έλ“€")
224
  requirements.append("- μ—¬μš΄κ³Ό μ„±μ°°μ˜ μ—¬μ§€")
225
+
226
+ # βž• 철학·인간애 κ°•ν™” 체크리슀트 (μƒˆλ‘œ μΆ”κ°€)
227
+ requirements.append("\nπŸ“Œ ν•„μˆ˜ 포함 μš”μ†Œ:")
228
+ requirements.append("- 쑴재의 μ˜λ―Έλ‚˜ μ‚Άμ˜ λ³Έμ§ˆμ— λŒ€ν•œ 성찰이 λ‹΄κΈ΄ 1문단 이상")
229
+ requirements.append("- νƒ€μΈμ˜ 고톡에 λŒ€ν•œ κ³΅κ°μ΄λ‚˜ 연민을 λ³΄μ—¬μ£ΌλŠ” ꡬ체적 μž₯λ©΄ 1개 이상")
230
 
231
  # 반볡 λ°©μ§€ μš”κ΅¬μ‚¬ν•­
232
  requirements.append("\n⚠️ μ ˆλŒ€ κΈˆμ§€μ‚¬ν•­:")
 
235
  requirements.append("- ν”Œλ‘―μ΄ μ œμžλ¦¬κ±ΈμŒν•˜κΈ°")
236
 
237
  return "\n".join(requirements)
238
+
239
+
240
 
241
 
242
  class NovelDatabase:
 
523
  """κ°λ…μž 초기 기획 - ν†΅ν•©λœ μ„œμ‚¬ ꡬ쑰"""
524
  search_results_str = ""
525
  if self.web_search.enabled:
526
+ # 철학적 ν‚€μ›Œλ“œ μΆ”κ°€ (μˆ˜μ •λ¨)
527
+ queries = [
528
+ f"{user_query} 철학적 의미", # βž• 철학적 관점
529
+ f"인간 쑴재 의미 {user_query}", # βž• 싀쑴적 주제
530
+ f"{user_query} μ‚¬νšŒ 문제",
531
+ f"{user_query} ν˜„λŒ€ ν•œκ΅­"
532
+ ]
533
+ for q in queries[:3]: # 3κ°œκΉŒμ§€λ§Œ 검색
534
  results = self.web_search.search(q, count=2, language=language)
535
  if results:
536
  search_results_str += self.web_search.extract_relevant_info(results) + "\n"
537
+
538
  lang_prompts = {
539
  "Korean": f"""당신은 ν˜„λŒ€ ν•œκ΅­ λ¬Έν•™μ˜ κ±°μž₯μž…λ‹ˆλ‹€.
540
  λ‹¨νŽΈμ΄ μ•„λ‹Œ μ€‘νŽΈ μ†Œμ„€(8,000단어 이상)을 μœ„ν•œ ν†΅ν•©λœ μ„œμ‚¬ ꡬ쑰λ₯Ό κΈ°νšν•˜μ„Έμš”. μ ˆλŒ€ 'μˆ˜λ™νƒœ'λ₯Ό μ‚¬μš©ν•˜μ§€ λ§ˆμ„Έμš”.
 
593
 
594
  ν•˜λ‚˜μ˜ κ°•λ ₯ν•œ μ„œμ‚¬κ°€ μ‹œμž‘λΆ€ν„° λκΉŒμ§€ κ΄€ν†΅ν•˜λŠ” μž‘ν’ˆμ„ κΈ°νšν•˜μ„Έμš”.""",
595
 
596
+ "English": f"""You are a master of contemporary literary fiction.
597
  Plan an integrated narrative structure for a novella (8,000+ words), not a collection of short stories.
598
 
599
  **Theme:** {user_query}
 
650
 
651
  Create a work with one powerful narrative from beginning to end."""
652
  }
653
+
654
  return lang_prompts.get(language, lang_prompts["Korean"])
655
 
656
+
657
+
658
+
659
  def create_critic_director_prompt(self, director_plan: str, user_query: str, language: str) -> str:
660
  """λΉ„ν‰κ°€μ˜ κ°λ…μž 기획 κ²€ν†  - μ„œμ‚¬ 톡합성 쀑심"""
661
  lang_prompts = {
 
949
 
950
  def create_critic_final_prompt(self, complete_novel: str, word_count: int, language: str) -> str:
951
  """μ΅œμ’… 비평 - AGI 평가 κΈ°μ€€"""
952
+
953
+ lang_prompts = {
954
+ "Korean": f"""μ™„μ„±λœ μ†Œμ„€μ„ AGI νŠœλ§ν…ŒμŠ€νŠΈ κΈ°μ€€μœΌλ‘œ ν‰κ°€ν•˜μ„Έμš”.
955
 
956
  **μž‘ν’ˆ 정보:**
957
  - 총 λΆ„λŸ‰: {word_count}단어
 
962
 
963
  **평가 κΈ°μ€€ (AGI νŠœλ§ν…ŒμŠ€νŠΈ):**
964
 
965
+ 1. **μž₯νŽΈμ†Œμ„€λ‘œμ„œμ˜ 완성도 (30점)** # 40β†’30점으둜 μ‘°μ •
966
  - ν†΅ν•©λœ μ„œμ‚¬ ꡬ쑰 (반볡 μ—†μŒ)
967
  - 인물의 λͺ…ν™•ν•œ λ³€ν™” arc
968
  - ν”Œλ‘―μ˜ 좕적과 ν•΄κ²°
969
  - 8,000단어 이상 λΆ„λŸ‰
970
 
971
+ 2. **문학적 μ„±μ·¨ (35점)** # 30β†’35점으둜 상ν–₯
972
  - 주제 μ˜μ‹μ˜ 깊이
973
  - 인물 μ‹¬λ¦¬μ˜ 섀득λ ₯
974
  - 문체의 일관성과 아름닀움
975
  - 상징과 μ€μœ μ˜ 효과
976
 
977
+ 3. **μ‚¬νšŒμ  톡찰 (25점)** # 20β†’25점으둜 상ν–₯
978
  - ν˜„λŒ€ μ‚¬νšŒ 문제 포착
979
  - 개인과 ꡬ쑰의 μ—°κ²°
980
  - λ³΄νŽΈμ„±κ³Ό νŠΉμˆ˜μ„± κ· ν˜•
 
986
 
987
  **총점: /100점**
988
 
989
+ 특히 '반볡 ꡬ쑰' λ¬Έμ œκ°€ μžˆμ—ˆλŠ”μ§€ μ—„κ²©νžˆ ν‰κ°€ν•˜μ„Έμš”.""",
990
+
991
+ "English": f"""Evaluate the completed novel by AGI Turing Test standards.
992
+
993
+ **Work Information:**
994
+ - Total length: {word_count} words
995
+ - Target length: 8,000+ words
996
+
997
+ **Work (final portion):**
998
+ {complete_novel[-3000:]}
999
+
1000
+ **Evaluation Criteria (AGI Turing Test):**
1001
+
1002
+ 1. **Completion as Novel (30 points)** # 40β†’30 points adjusted
1003
+ - Integrated narrative structure (no repetition)
1004
+ - Clear character transformation arcs
1005
+ - Plot accumulation and resolution
1006
+ - 8,000+ word length
1007
+
1008
+ 2. **Literary Achievement (35 points)** # 30β†’35 points increased
1009
+ - Depth of thematic consciousness
1010
+ - Persuasiveness of character psychology
1011
+ - Consistency and beauty of style
1012
+ - Effectiveness of symbols and metaphors
1013
+
1014
+ 3. **Social Insight (25 points)** # 20β†’25 points increased
1015
+ - Capturing contemporary social issues
1016
+ - Connection between individual and structure
1017
+ - Balance of universality and specificity
1018
+
1019
+ 4. **Originality and Humanity (10 points)**
1020
+ - Feeling of human author, not AI
1021
+ - Original expressions and insights
1022
+ - Emotional authenticity
1023
+
1024
+ **Total Score: /100 points**
1025
+
1026
+ Strictly evaluate whether there are 'repetitive structure' issues."""
1027
+ }
1028
+
1029
+ return lang_prompts.get(language, lang_prompts["Korean"])
1030
 
1031
  # --- LLM 호좜 ν•¨μˆ˜λ“€ ---
1032
  def call_llm_sync(self, messages: List[Dict[str, str]], role: str, language: str) -> str: