Files
AI_NovelGenerator/ui/__pycache__/main_window.cpython-312.pyc
T

78 lines
23 KiB
Plaintext
Raw Normal View History

2025-09-08 11:58:44 +08:00
Ë
pC¾h|Gãó˜ddlZddlZddlZddlZddlZddlZddlmZm Z ddl
m Z ddl m
Z
ddlmZmZmZmZddlmZmZmZddlmZdd lmZdd
lmZmZmZdd lmZm Z m!Z!dd l"m#Z#m$Z$dd
l%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.ddl/m0Z0m1Z1m2Z2ddl3m4Z4m5Z5m6Z6ddl7m8Z8m9Z9m:Z:ddl;m<Z<m=Z=m>Z>ddl?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFddlGmHZHGdd«ZIy)éN)Ú
filedialogÚ
messageboxé)Ú RoleLibrary)Úcreate_llm_adapter)Ú load_configÚ save_configÚtest_llm_configÚtest_embedding_config)Ú read_fileÚsave_string_to_txtÚclear_file_content)Útooltips)ÚTextWidgetContextMenu)Úbuild_main_tabÚbuild_left_layoutÚbuild_right_layout)Úbuild_config_tabviewÚload_config_btnÚsave_config_btn)Úbuild_novel_params_areaÚbuild_optional_buttons_area) Úgenerate_novel_architecture_uiÚgenerate_chapter_blueprint_uiÚgenerate_chapter_draft_uiÚfinalize_chapter_uiÚdo_consistency_checkÚimport_knowledge_handlerÚclear_vectorstore_handlerÚshow_plot_arcs_uiÚgenerate_batch_ui)Úbuild_setting_tabÚload_novel_architectureÚsave_novel_architecture)Úbuild_directory_tabÚload_chapter_blueprintÚsave_chapter_blueprint)Úbuild_character_tabÚload_character_stateÚsave_character_state)Úbuild_summary_tabÚload_global_summaryÚsave_global_summary)Úbuild_chapters_tabÚrefresh_chapters_listÚon_chapter_selectedÚload_chapter_contentÚsave_current_chapterÚ prev_chapterÚ next_chapter)Úbuild_other_settings_tabcóðeZdZdZdZdefdZddZdefdZdefdZ d „Z
d
Z d efd Z d
efdZ
dZdZdZdZdZeZeZeZeZeZeZeZeZeZeZeZeZeZe Z e!Z!e"Z"e#Z#e$Z$e%Z%e&Z&e'Z'e(Z(e)Z)e*Z*eZeZeZy)ÚNovelGeneratorGUIus
å°è¯´ç”Ÿæˆå™¨çš„主GUIç±»ï¼ŒåŒ…å«æ‰€æœ‰çš„界é¢å¸ƒå±€ã€äº‹ä»¶å¤„ç†ã€ä¸ŽåŽç«¯é€»è¾‘的交互等。
có||_|jjd« tjj d«r|jj d«|jjd«d|_t|j«|_
|jr\tt|jdj«««jdd«}|jjdd«}nd}d}tt|jdj«««}|jjd i«}|jr2d
|jvr$||jd
vr|jd
|}nd d d
ddœ}|jdd}|jdd}|jddr3d|d|tjd<d|d|tjd<n@tjj!dd«tjj!dd«t#j$|jdd «¬«|_t#j$|jdd «¬«|_t#j$|jdd«¬«|_t#j$|jdd«¬«|_t#j.|jdd«¬«|_t#j2|jdd «¬«|_t#j2|jd!d"«¬«|_t#j$tt|jd««¬«|_t#j$|¬«|_t#j$|jdd «¬«|_t#j$|jdd «¬«|_t#j$|jdd
«¬«|_ t#j$tC|jd#d««¬«|_"t#j$|jd$d%«¬«|_#t#j$|jd&d%«¬«|_$t#j$|jd'd%«¬«|_%t#j$|jd(d%«¬«|_&t#j$|jd)d%«¬«|_'|jrmd*|jvr^|jd*} | jd+d «|_(t#j$| jd,d-«¬«|_)t#j$tC| jd.d/««¬«|_*t#j$tC| jd0d1««¬«|_+t#j$| jd2d «¬«|_,t#j$tC| jd3d4««¬«|_-t#j$| jd5d «¬«|_.t#j$| jd6d «¬«|_/t#j$| jd7d «¬«|_0t#j$| jd8d «¬«|_1| jd9d «|_2t#j$| jd:d «¬«|_3t#j$| jd;d «¬«|_4t#j$| jd<d «¬«|_5nd |_(t#j$d-¬«|_)t#j$d=¬«|_*t#j$d>¬«|_+t#j$d ¬«|_,t#j$d4¬«|_-t#j$d ¬«|_.t#j$d ¬«|_/t#j$d ¬«|_0t#j$d ¬«|_1d |_2t#jl|j«|_7|jnjqd?d@¬A«ts|«tu|«tw|dB¬C«ty|dD¬C«t{|«t}|«t|«t|«|«t…|«y#t $rY Œ
model_nameÚ retrieval_kÚ
proxy_settingÚ proxy_urlÚ
proxy_portÚenabledzhttp://ú
HTTP_PROXYÚ HTTPS_PROXYrB)ÚvaluerCrDz gpt-4o-miniÚ temperaturegffffffæ?Ú
max_tokensi ÚtimeoutiXrEÚarchitecture_llmÚDeepSeekÚchapter_outline_llmÚfinal_chapter_llmÚconsistency_review_llmÚprompt_draft_llmÚ other_paramsÚtopicÚgenreuçŽ„å¹»Ú num_chaptersé
Ú word_numberi¸ ÚfilepathÚ chapter_numÚcharacters_involvedÚ key_itemsÚscene_locationÚtime_constraintÚ
user_guidanceÚ
webdav_urlÚwebdav_usernameÚwebdav_passwordÚ10Ú3000ÚbothT)ÚfillÚexpandr)Ú start_rowé)CÚmasterÚtitleÚosÚpathÚexistsÚ
iconbitmapÚ ExceptionÚgeometryÚ config_filerÚ
loaded_configÚnextÚiterÚvaluesÚgetÚenvironÚpopÚctkÚ StringVarÚ api_key_varÚ base_url_varÚinterface_format_varÚmodel_name_varÚ DoubleVarÚtemperature_varÚIntVarÚmax_tokens_varÚ timeout_varÚinterface_config_varÚembedding_interface_format_varÚembedding_api_key_varÚembedding_url_varÚembedding_model_name_varÚstrÚembedding_retrieval_k_varÚarchitecture_llm_varÚchapter_outline_llm_varÚfinal_chapter_llm_varÚconsistency_review_llm_varÚprompt_draft_llm_varÚ
topic_defaultÚ genre_varÚnum_chapters_varÚword_number_varÚ filepath_varÚchapter_num_varÚcharacters_involved_varÚ
key_items_varÚscene_location_varÚtime_constraint_varÚuser_guidance_defaultÚwebdav_url_varÚwebdav_username_varÚwebdav_password_varÚ
CTkTabviewÚtabviewÚpackrrrrr"r%r(r+r.r5)
ÚselfroÚlast_llmÚlast_embeddingÚllm_confr>Úemb_confrGrHÚops
ú7E:\.repository\AI_NovelGenerator-main\ui\main_window.pyÚ__init__zNovelGeneratorGUI.__init__,s(؈Œ Ø ×ÑÐ Üw‰w~‰~˜ ×& 
×јZÔÔÜ×)9Ñ)9ÓÔà × Ò ÜœD ×!3Ñ!3°MÑ!B×!IÑ!IÓ!KÓM×QÐRdÐfnÓoˆ!×/×3Ð4UÐW_Ó`‰NàˆHØ%ˆNôœ˜T×
Ñ>×IˆØ×+×/Ð0@À"ÓEˆð × Ò Ð"5¸×9KÑ9KÑ"KÐP^Ðbf×btÑbtðvIñcJñQJØ×)Ð*=Ñ>¸N‰HðØ ñ ˆ×& Ñ7¸ ÑDˆ Ø×Ñ8¸ÑFˆ
Ø × Ñ ˜oÑ .¨yÒ 9Ø)0°° ¸1¸Z¸LÐ'IŒBJ‰J $Ø*1°)°¸A¸j¸\Ð(JŒBJ‰J J‰JN‰N˜Ô J‰JN‰N˜=¨$Ô Ÿ=™=¨x¯|©|¸IÀrÓ/JÔÔÜŸM™M°· ± ¸ZÐIdÓ0eÔfˆÔÜ$'§M¡M¸¿ ¹ ÐEWÐYaÓ8bÔ$cˆÔ!Ÿm™m°(·,±,¸|È]Ó2[Ô\ˆÔÜ"Ÿ}™}°8·<±<À
ÈsÓ3SÔÔÜ!Ÿj™j¨x¯|©|¸LÈ$Ó/OÔÔÜŸ:™:¨H¯L©L¸ÀCÓ,HÔIˆÔÜ$'§M¡M¼¼TÀ$×BTÑBTÐUbÑBcÓ=dÓ8eÔ$fˆÔ
/2¯m©mÀ.Ô.QˆÔ+Ü%(§]¡]¸¿¹ÀiÐQSÓ9TÔ%UˆÔ"Ü!$§¡°X·\±\À*ÐNiÓ5jÔ!kˆÔÜ(+¯
©
¸H¿L¹LÈÐWoÓ<pÔ(qˆÔ%Ü),¯©¼SÀÇÁÈmÐ]^ÓA_Ó=`Ô)aˆÔ%(§M¡M¸×8JÑ8JÐK]Ð_iÓ8jÔ$kˆÔ!Ü'*§}¡}¸>×;MÑ;MÐNcÐeoÓ;pÔ'qˆÔ$Ü%(§]¡]¸×9KÑ9KÐL_ÐakÓ9lÔ%mˆÔ"Ü*-¯-©-¸n×>PÑ>PÐQiÐkuÓ>vÔ*wˆÔ'Ü$'§M¡M¸×8JÑ8JÐK]Ð_iÓ8jÔ$kˆÔ × Ó  .°D×4FÑ4FÒ"FØ×# 3ˆBØ!#§¡¨°Ó!4ˆDÔ Ü Ÿ]™]°·±¸ÀÓ1JÔKˆDŒNÜ$'§M¡M¼¸B¿F¹FÀ>ÐSUÓ<VÓ8WÔ$Xˆ !Ü#&§=¡=´s¸2¿6¹6À-ÐQUÓ;VÓ7WÔ#Xˆ Ü #§
¡
°B·F±F¸:ÀrÓ4JÔ Kˆ Ü#&§=¡=´s¸2¿6¹6À-ÐQTÓ;UÓ7VÔ#Wˆ Ü+.¯=©=¸r¿v¹vÐF[Ð]_Ó?`Ô+aˆ (Ü!$§¡°R·V±V¸Ó5LÔ!Mˆ Ü&)§m¡m¸"¿&¹&ÐAQÐSUÓ:VÔ&Wˆ #Ü'*§}¡}¸2¿6¹6ÐBSÐUWÓ;XÔ'Yˆ $Ø)+¯©°ÀÓ)Dˆ &Ü"%§-¡-°b·f±f¸\È2Ó6NÔ"Oˆ Ü'*§}¡}¸2¿6¹6ÐBSÐUWÓ;XÔ'Yˆ $Ü'*§}¡}¸2¿6¹6ÐBSÐUWÓ;XÔ'Yˆ "$ˆ Ü Ÿ]™]°Ô:ˆDŒNÜ$'§M¡M¸Ô$=ˆ !Ü#&§=¡=°vÔ#>ˆ Ü #§
¡
°BÔ 7ˆ Ü#&§=¡=°sÔ#;ˆ Ü+.¯=©=¸rÔ+Bˆ (Ü!$§¡°RÔ!8ˆ Ü&)§m¡m¸"Ô&=ˆ #Ü'*§}¡}¸2Ô'>ˆ $Ø)+ˆ —~~ d§k¡kÓŒ Ø ×јv¨dÐÔ Ü˜TÔ °Õ# D°AÕ˜$ÔܘDÔ˜DÔ˜$Ôܘ4Ô Ü  Õ&øôEò Ú ð ús¤:e<å< f æf Úkeycó\tj|d«}tjd|«y)Nu 暂无说明u 傿•°è¯´æ˜Ž)rr|rÚshowinfo)Ú info_texts r­Ú show_tooltipzNovelGeneratorGUI.show_tooltip¸s"Ü—LL  5ˆ Ü×јN¨IÕcó® t|j««j«}t|«S#|j t|««|cYSxYw©N)rr|ÚstripÚintÚset)ÚvarÚdefaultÚval_strs r­Ú safe_get_intzNovelGeneratorGUI.safe_get_int¼sEð ܘ#Ÿ'™')“n×,ˆw“<Ð øð Ø G‰G”C˜“LÔ ŠNús 14´AÚmessagecóè|jjd¬«|jjd|dz«|jjd«|jjd¬«y)normal©ÚstateÚendÚ
Údisabled)Úlog_textÚ configureÚinsertÚsee©s r­ÚlogzNovelGeneratorGUI.logÄsVØ
×Ñ Ô
×јU G¨d¡NÔ
×ј Ø
×Ñ jÐÕ1r´cóHjjdˆˆfd«y)Nrcó&j«S))s€€r­ú<lambda>z,NovelGeneratorGUI.safe_log.<locals>.<lambda>Ësø€ T§X¡X¨gÔ%6r´©roÚafterrÊs``r­Úsafe_logzNovelGeneratorGUI.safe_logÊsù€Ø ×ј!Ô7r´cóD|jjdˆfd«y)Nrcó(jd¬«S)NrÅ©©Úbtns€r­z7NovelGeneratorGUI.disable_button_safe.<locals>.<lambda>Îsø€ S§]¡]¸ ]Ô%Dr´©s `r­Údisable_button_safez%NovelGeneratorGUI.disable_button_safeÍsø€Ø ×ј!ÓEr´cóD|jjdˆfd«y)Nrcó(jd¬«S)NrÀs€r­z6NovelGeneratorGUI.enable_button_safe.<locals>.<lambda>Ñsø€ S§]¡]¸ ]Ô%Br´r×s `r­Úenable_button_safez$NovelGeneratorGUI.enable_button_safeÐsø€Ø ×ј!ÓCr´Úcontextcó‚|dtj«}tj|«|j |«y)NrÄ)Ú tracebackÚ
format_excÚloggingÚerrorrÑ)Ú full_messages r­Úhandle_exceptionz"NovelGeneratorGUI.handle_exceptionÓs4Ø!˜ "¤Y×%9Ñ%9Ó%;Ð$<Ð=ˆ Ü

#r´Útextcóª|jjdd«|jjd|«|jjd«y)0.0rÃ)Úchapter_resultÚdeleterÈ)s r­Úshow_chapter_in_textboxz)NovelGeneratorGUI.show_chapter_in_textboxØsBØ ×Ñ×" 5¨%Ô ×Ñ×" 5¨$Ô ×Ñ×Ñ Õ&r´c ó0|jj«j«}|jj«j«}|jj«j«}|j
j«j«}|j j«}|jj«}|jj«}t||||||||j|j¬« y)u6
测试当å‰çš„LLMé…置是å¦å¯ç”¨
) r;rBrCrDrNrOrPÚlog_funcÚhandle_exception_funcN) r|rrr„r†rˆr‰r
)r;rBrCrDrNrOrPs r­r
z!NovelGeneratorGUI.test_llm_configÝð ר×"×(×0ˆØ×Ø×6ˆ
Ø× Ø×
Ø×"×(ˆäØØØØ—]]Ø"&×"7Ñ"7ö
r´cóŽ|jj«j«}|jj«j«}|jj«j«}|j
j«j«}t
|||||j|j¬«y)u<
测试当å‰çš„Embeddingé…置是å¦å¯ç”¨
)rBrCr;rDN) rŒr|rrr )rBrCr;rDs r­r z'NovelGeneratorGUI.test_embedding_configõsðר×7ˆØ×>×Dר×2×8×@ˆ
äØØØ—]]Ø"&×"7Ñ"7ö

r´cóhtj«}|r|jj|«yy)rÚ askdirectoryrš)Ú selected_dirs r­Ú
browse_folderzNovelGeneratorGUI.browse_folders,Ü!× Ù Ø × Ñ × ! ,Õ  r´c ójtjj«Šjd«j d«j j«j