Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -397,57 +397,63 @@ class WebNovelSystem:
|
|
397 |
lang_prompts = {
|
398 |
"Korean": f"""ํ๊ตญ ์น์์ค ์์ฅ์ ๊ฒจ๋ฅํ {genre} ์ฅ๋ฅด ์น์์ค์ ๊ธฐํํ์ธ์.
|
399 |
|
400 |
-
|
|
|
|
|
401 |
**์ฅ๋ฅด:** {genre}
|
402 |
**๋ชฉํ:** 40ํ ์๊ฒฐ, ์ด 16,000๋จ์ด
|
403 |
|
404 |
-
|
|
|
|
|
405 |
- ํต์ฌ ์์: {', '.join(genre_info.get('key_elements', []))}
|
406 |
- ์ธ๊ธฐ ํธ๋กํ: {', '.join(genre_info.get('popular_tropes', []))}
|
407 |
- ํ์ ํฌํจ: {', '.join(genre_info.get('must_have', []))}
|
408 |
|
409 |
-
**์ ์ฒด
|
410 |
-
1. **1-5ํ**:
|
411 |
-
2. **6-15ํ**:
|
412 |
-
3. **16-25ํ**:
|
413 |
-
4. **26-35ํ**:
|
414 |
-
5. **36-40ํ**:
|
415 |
|
416 |
**๊ฐ ํ ๊ตฌ์ฑ ์์น:**
|
417 |
- 400-600๋จ์ด ๋ถ๋ (์ถฉ์คํ ๋ด์ฉ)
|
418 |
-
-
|
419 |
- ๋งค ํ ๋ ๊ฐ๋ ฅํ ํํฌ
|
420 |
- ๋น ๋ฅธ ์ ๊ฐ์ ๋ชฐ์
๊ฐ
|
421 |
-
- ๋
์๊ฐ ๋ค์ ํ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ฒ ๋ง๋ค๊ธฐ
|
422 |
|
423 |
-
๊ตฌ์ฒด์ ์ธ 40ํ ํ๋กฏ๋ผ์ธ์ ์ ์ํ์ธ์. ๊ฐ ํ๋ง๋ค ํต์ฌ ์ฌ๊ฑด๊ณผ ์ ๊ฐ๋ฅผ ๋ช
์ํ์ธ์.""",
|
424 |
|
425 |
"English": f"""Plan a Korean-style web novel for {genre} genre.
|
426 |
|
427 |
-
**
|
|
|
|
|
428 |
**Genre:** {genre}
|
429 |
**Goal:** 40 episodes, total 16,000 words
|
430 |
|
431 |
-
**
|
|
|
|
|
432 |
- Key elements: {', '.join(genre_info.get('key_elements', []))}
|
433 |
- Popular tropes: {', '.join(genre_info.get('popular_tropes', []))}
|
434 |
- Must include: {', '.join(genre_info.get('must_have', []))}
|
435 |
|
436 |
-
**Overall Structure:**
|
437 |
-
1. **Episodes 1-5**:
|
438 |
-
2. **Episodes 6-15**:
|
439 |
-
3. **Episodes 16-25**:
|
440 |
-
4. **Episodes 26-35**:
|
441 |
-
5. **Episodes 36-40**:
|
442 |
|
443 |
**Episode Principles:**
|
444 |
- 400-600 words each (substantial content)
|
445 |
-
-
|
446 |
- Strong hook at episode end
|
447 |
- Fast pacing and immersion
|
448 |
-
- Make readers crave next episode
|
449 |
|
450 |
-
Provide detailed 40-episode plotline
|
451 |
}
|
452 |
|
453 |
return lang_prompts.get(language, lang_prompts["Korean"])
|
|
|
397 |
lang_prompts = {
|
398 |
"Korean": f"""ํ๊ตญ ์น์์ค ์์ฅ์ ๊ฒจ๋ฅํ {genre} ์ฅ๋ฅด ์น์์ค์ ๊ธฐํํ์ธ์.
|
399 |
|
400 |
+
**[ํต์ฌ ์คํ ๋ฆฌ ์ค์ - ๋ฐ๋์ ์ด ๋ด์ฉ์ ์ค์ฌ์ผ๋ก ์ ๊ฐํ์ธ์]**
|
401 |
+
{query}
|
402 |
+
|
403 |
**์ฅ๋ฅด:** {genre}
|
404 |
**๋ชฉํ:** 40ํ ์๊ฒฐ, ์ด 16,000๋จ์ด
|
405 |
|
406 |
+
โ ๏ธ **์ค์**: ์์ ์ ์๋ ์คํ ๋ฆฌ ์ค์ ์ ๋ฐ๋์ ๊ธฐ๋ฐ์ผ๋ก ํ์ฌ ํ๋กฏ์ ๊ตฌ์ฑํ์ธ์. ์ด ์ค์ ์ด ์ ์ฒด ์ด์ผ๊ธฐ์ ํต์ฌ์ด๋ฉฐ, ๋ชจ๋ ์ํผ์๋๋ ์ด ์ค์ ์ ์ค์ฌ์ผ๋ก ์ ๊ฐ๋์ด์ผ ํฉ๋๋ค.
|
407 |
+
|
408 |
+
**์ฅ๋ฅด ํ์ ์์ (์คํ ๋ฆฌ ์ค์ ๊ณผ ์กฐํ๋กญ๊ฒ ํฌํจ):**
|
409 |
- ํต์ฌ ์์: {', '.join(genre_info.get('key_elements', []))}
|
410 |
- ์ธ๊ธฐ ํธ๋กํ: {', '.join(genre_info.get('popular_tropes', []))}
|
411 |
- ํ์ ํฌํจ: {', '.join(genre_info.get('must_have', []))}
|
412 |
|
413 |
+
**์ ์ฒด ๊ตฌ์ฑ (์
๋ ฅ๋ ์คํ ๋ฆฌ ์ค์ ์ ๊ธฐ๋ฐ์ผ๋ก):**
|
414 |
+
1. **1-5ํ**: ์ ์๋ ์ค์ ์ ์ฃผ์ธ๊ณต๊ณผ ์ํฉ ์๊ฐ, ํต์ฌ ๊ฐ๋ฑ ์ ์
|
415 |
+
2. **6-15ํ**: ์ค์ ์์ ์ ์๋ ๊ฐ๋ฑ์ ์ฌํ, ๊ด๊ณ ๋ฐ์
|
416 |
+
3. **16-25ํ**: ์ค์ ๊ณผ ๊ด๋ จ๋ ์ค์ํ ๋ฐ์ , ์๋ก์ด ์ง์ค ๋ฐ๊ฒฌ
|
417 |
+
4. **26-35ํ**: ์ค์ ์ ํต์ฌ ๊ฐ๋ฑ์ด ์ต๊ณ ์กฐ์ ์ด๋ฅด๊ธฐ
|
418 |
+
5. **36-40ํ**: ์ค์ ์์ ์์๋ ๋ชจ๋ ์ด์ผ๊ธฐ์ ๋๋จ์
|
419 |
|
420 |
**๊ฐ ํ ๊ตฌ์ฑ ์์น:**
|
421 |
- 400-600๋จ์ด ๋ถ๋ (์ถฉ์คํ ๋ด์ฉ)
|
422 |
+
- ์
๋ ฅ๋ ์คํ ๋ฆฌ ์ค์ ์ ์ถฉ์คํ ์ ๊ฐ
|
423 |
- ๋งค ํ ๋ ๊ฐ๋ ฅํ ํํฌ
|
424 |
- ๋น ๋ฅธ ์ ๊ฐ์ ๋ชฐ์
๊ฐ
|
|
|
425 |
|
426 |
+
์
๋ ฅ๋ ์คํ ๋ฆฌ ์ค์ ์ ์ค์ฌ์ผ๋ก ๊ตฌ์ฒด์ ์ธ 40ํ ํ๋กฏ๋ผ์ธ์ ์ ์ํ์ธ์. ๊ฐ ํ๋ง๋ค ํต์ฌ ์ฌ๊ฑด๊ณผ ์ ๊ฐ๋ฅผ ๋ช
์ํ์ธ์.""",
|
427 |
|
428 |
"English": f"""Plan a Korean-style web novel for {genre} genre.
|
429 |
|
430 |
+
**[Core Story Setting - MUST base the story on this]**
|
431 |
+
{query}
|
432 |
+
|
433 |
**Genre:** {genre}
|
434 |
**Goal:** 40 episodes, total 16,000 words
|
435 |
|
436 |
+
โ ๏ธ **IMPORTANT**: You MUST base the plot on the story setting provided above. This setting is the core of the entire story, and all episodes must revolve around this setting.
|
437 |
+
|
438 |
+
**Genre Requirements (incorporate harmoniously with story setting):**
|
439 |
- Key elements: {', '.join(genre_info.get('key_elements', []))}
|
440 |
- Popular tropes: {', '.join(genre_info.get('popular_tropes', []))}
|
441 |
- Must include: {', '.join(genre_info.get('must_have', []))}
|
442 |
|
443 |
+
**Overall Structure (based on the input story setting):**
|
444 |
+
1. **Episodes 1-5**: Introduce protagonist and situation from the setting, present core conflict
|
445 |
+
2. **Episodes 6-15**: Deepen conflicts from the setting, develop relationships
|
446 |
+
3. **Episodes 16-25**: Major twist related to the setting, new revelations
|
447 |
+
4. **Episodes 26-35**: Core conflicts from the setting reach climax
|
448 |
+
5. **Episodes 36-40**: Resolution of all storylines started from the setting
|
449 |
|
450 |
**Episode Principles:**
|
451 |
- 400-600 words each (substantial content)
|
452 |
+
- Faithful development of the input story setting
|
453 |
- Strong hook at episode end
|
454 |
- Fast pacing and immersion
|
|
|
455 |
|
456 |
+
Provide detailed 40-episode plotline centered on the input story setting. Specify key events for each episode."""
|
457 |
}
|
458 |
|
459 |
return lang_prompts.get(language, lang_prompts["Korean"])
|