mirror of
https://github.com/ParisNeo/lollms.git
synced 2025-01-21 03:55:01 +00:00
story writing upgrade
This commit is contained in:
parent
861025d4b0
commit
9a94454661
@ -21,6 +21,8 @@ import json
|
|||||||
from lollms.functions.markdown2latex import markdown_to_latex
|
from lollms.functions.markdown2latex import markdown_to_latex
|
||||||
from lollms.functions.file_manipulation import change_file_extension
|
from lollms.functions.file_manipulation import change_file_extension
|
||||||
|
|
||||||
|
import copy
|
||||||
|
|
||||||
# Define the core functions
|
# Define the core functions
|
||||||
def start_writing_story(prompt_ideas: str, llm: Any, story_file_path: str, build_latex:bool=False) -> str:
|
def start_writing_story(prompt_ideas: str, llm: Any, story_file_path: str, build_latex:bool=False) -> str:
|
||||||
discussion_prompt_separator = llm.config.discussion_prompt_separator
|
discussion_prompt_separator = llm.config.discussion_prompt_separator
|
||||||
@ -61,12 +63,13 @@ def start_writing_story(prompt_ideas: str, llm: Any, story_file_path: str, build
|
|||||||
|
|
||||||
plan_json_str = code_blocks[0]['content']
|
plan_json_str = code_blocks[0]['content']
|
||||||
story_plan = json.loads(plan_json_str)
|
story_plan = json.loads(plan_json_str)
|
||||||
|
story_plan_with_details = copy.deepcopy(story_plan)
|
||||||
|
|
||||||
# Step 2: Write the story section by section
|
# Step 2: Write the story section by section
|
||||||
story_path = Path(story_file_path)
|
story_path = Path(story_file_path)
|
||||||
final_story_content = ""
|
final_story_content = ""
|
||||||
|
|
||||||
for section in story_plan["sections"]:
|
for section, section_full in zip(story_plan["sections"], story_plan_with_details["sections"]):
|
||||||
llm.step_start(f'Building section: {section["section_name"]}')
|
llm.step_start(f'Building section: {section["section_name"]}')
|
||||||
|
|
||||||
section_name = section["section_name"]
|
section_name = section["section_name"]
|
||||||
@ -78,10 +81,13 @@ def start_writing_story(prompt_ideas: str, llm: Any, story_file_path: str, build
|
|||||||
current_section=section_name,
|
current_section=section_name,
|
||||||
prompt_ideas=prompt_ideas
|
prompt_ideas=prompt_ideas
|
||||||
)
|
)
|
||||||
|
section_full["content"]=new_section
|
||||||
final_story_content += f"\n## {section_name}\n\n{new_section}\n"
|
final_story_content += f"\n## {section_name}\n\n{new_section}\n"
|
||||||
llm.step_end(f'Building section: {section["section_name"]}')
|
llm.step_end(f'Building section: {section["section_name"]}')
|
||||||
|
|
||||||
|
details = story_path.with_suffix(".json")
|
||||||
|
details.write_text(json.dumps(story_plan_with_details, indent=4))
|
||||||
|
|
||||||
if build_latex:
|
if build_latex:
|
||||||
llm.step_start("Building latex file")
|
llm.step_start("Building latex file")
|
||||||
import subprocess
|
import subprocess
|
||||||
|
Loading…
Reference in New Issue
Block a user