Files
AI_NovelGenerator/novel_generator/__pycache__/blueprint.cpython-312.pyc
T

55 lines
7.9 KiB
Plaintext
Raw Normal View History

2025-09-08 11:58:44 +08:00
Ë
·åÐhrãódZddlZddlZddlZddlmZddlmZddlm Z m
2025-09-08 11:58:44 +08:00
Z
ddl m Z m
Z
mZejddej d d
¬ «d ed
edefdZddededefdZ ddededededed ededed
ededdfdZy)uD
章节è“图生æˆï¼ˆChapter_blueprint_generate åŠè¾…助函数)
éN)Úinvoke_with_cleaning)Úcreate_llm_adapter)Úchapter_blueprint_promptÚ chunked_chapter_blueprint_prompt)Ú read_fileÚclear_file_contentÚsave_string_to_txtzapp.logÚaz4%(asctime)s - %(name)s - %(levelname)s - %(message)sz%Y-%m-%d %H:%M:%S)ÚfilenameÚfilemodeÚlevelÚformatÚdatefmtÚnumber_of_chaptersÚ
max_tokensÚreturncó\d}||z }t|dz«dz}|dz
}|dkrd}||kDr|}|S)
基于“æ¯ç« çº¦100 tokensâ€çš„粗略估算,
å†ç»“åˆå½“å‰max_tokens,计算分å—大å°ï¼š
chunk_size = (floor(max_tokens/100/10)*10) - 10
2025-09-08 11:58:44 +08:00
å¹¶ç¡®ä¿ chunk_size ä¸ä¼šå°äºŽ1或大于实际章节数。
gi@é
é)Úint)rrÚtokens_per_chapterÚratioÚratio_rounded_to_10Ú
chunk_sizes ú5D:\rep\AI_NovelGenerator\novel_generator\blueprint.pyÚcompute_chunk_sizersSðÐØ Ð +€Eܘe r™kÓ*¨RÑØ$ rÑ)€JØA‚~؈
ØÐ'ˆ
Ø ÐóÚblueprint_textÚlimit_chapterscóÄd}tj||tj¬«}|s|St|«|kr|S|| d}dj |«j «S)ua
从已有章节目录中åªå–最近的 limit_chapters 章,以é¿å… prompt 超长。
u)(第\s*\d+\s*ç« .*?)(?=第\s*\d+\s*ç« |$))ÚflagsNú
)ÚreÚfindallÚDOTALLÚlenÚjoinÚstrip)rrÚpatternÚchaptersÚselecteds rÚlimit_chapter_blueprintr,%sað;€GÜz‰z˜' ¿¹ÔC€HÙ ØÐÜ
ˆ8ƒ}˜ÒÐØ˜˜Ð)€HØ ;‰; × (rÚinterface_formatÚapi_keyÚbase_urlÚ llm_modelÚfilepathÚ
user_guidanceÚ temperatureÚtimeoutc
óD tjj|d«}
tjj|
«st j
d«yt
|
«j«} | st j
d«yt||||||| ¬«} tjj|d«}
tjj|
«st|
dd¬ «j«t
|
«j«}t||«}t jd
|d |d «|r™t jd
«d}tj||«}|Dcgc]}|j«sŒt!|«Œ }}|r t#|«nd}t jd|d«|}|dz}||krùt%||zdz
|«}t'|d«}t)j*| |||||¬«}t jd|d|d«t-| |«}|j«sBt j
d|d|d«t/|
«t1|j«|
2025-09-08 11:58:44 +08:00
«y|d|j«zz
}t/|
«t1|j«|
«|dz}||krŒùt jd«y||k\rwt3j*| ||¬«}t-| |«}|j«st j
d«yt/|
«t1||
2025-09-08 11:58:44 +08:00
«t jd«yt jd«d }d}||krt%||zdz
|«}t'|d«}t)j*| |||||¬«}t jd|d|d«t-| |«}|j«sBt j
d|d|d«t/|
«t1|j«|