add different story styles
This commit is contained in:
@@ -1,10 +1,29 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Dict, TYPE_CHECKING
|
||||
import random
|
||||
|
||||
from src.utils.config import CONFIG
|
||||
from src.utils.llm import get_prompt_and_call_llm
|
||||
|
||||
story_styles = [
|
||||
"平淡叙述:语句克制、少修饰、像旁观者记录。",
|
||||
"寓情于景:以景见情,情随境迁,情景交融。",
|
||||
"写意古风:重意象与比兴,点到为止,少生僻文言。",
|
||||
"市井烟火:接地气,含些俗语但不粗鄙,烟火气足。",
|
||||
"悬疑铺垫:埋伏笔与反转,信息递进,结尾留一丝余味。",
|
||||
"诗意抒情:短句与对仗点缀,少量用典,不堆砌辞藻。",
|
||||
"哲思寓言:借事设问,含一两句点睛之语,不说教。",
|
||||
"黑色幽默:以反差与轻描淡写呈现荒诞,克制机锋。",
|
||||
"编年纪事:近史官笔法,记事有序,少形容词。",
|
||||
"碎片蒙太奇:并置数个短镜头,以意连形,留白。",
|
||||
"景物拟人:对景施以轻微拟人,景中含志,不滥。",
|
||||
"道法自然:以道家语汇点染,不艰涩,收束于一念。",
|
||||
"佛理空相:无常、空相的领悟穿插事中,轻淡不玄。",
|
||||
"民间说书:似说书人口吻但用书面语,收尾有眼。",
|
||||
"雅致书卷:书卷气、引文气息浅尝辄止,不显摆。",
|
||||
]
|
||||
|
||||
|
||||
class StoryTeller:
|
||||
"""
|
||||
@@ -37,15 +56,11 @@ class StoryTeller:
|
||||
"avatar_infos": avatar_infos,
|
||||
"event": event,
|
||||
"res": res,
|
||||
"style": random.choice(story_styles),
|
||||
}
|
||||
try:
|
||||
data = get_prompt_and_call_llm(template_path, infos, mode="fast")
|
||||
story = str(data.get("story", "")).strip()
|
||||
if story:
|
||||
return story
|
||||
except Exception:
|
||||
return (res or event or "")
|
||||
return (res or event or "")
|
||||
data = get_prompt_and_call_llm(template_path, infos, mode="fast")
|
||||
story = data["story"].strip()
|
||||
return story
|
||||
|
||||
|
||||
__all__ = ["StoryTeller"]
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
你是一个故事讲述者,这是一个仙侠世界,你需要把一个事件扩展为一个约150字的小故事。
|
||||
写作风格提示:{style}
|
||||
|
||||
你需要进行决策的NPC的dict[AvatarName, info]为
|
||||
{avatar_infos}
|
||||
@@ -9,5 +10,5 @@
|
||||
|
||||
注意,只返回json格式的结果,格式为:
|
||||
{{
|
||||
"story": "", // 第三人称的故事描述,仙侠语言风格
|
||||
"story": "", // 第三人称的故事正文,仙侠语言风格
|
||||
}}
|
||||
Reference in New Issue
Block a user