diff --git a/.gitignore b/.gitignore index 987f054..7a9c92b 100644 --- a/.gitignore +++ b/.gitignore @@ -145,3 +145,4 @@ cradle* debug* private* crazy_functions/test_project/pdf_and_word +crazy_functions/test_samples diff --git a/crazy_functions/crazy_functions_test.py b/crazy_functions/crazy_functions_test.py index 7b0f072..6020fa2 100644 --- a/crazy_functions/crazy_functions_test.py +++ b/crazy_functions/crazy_functions_test.py @@ -108,6 +108,13 @@ def test_联网回答问题(): print("当前问答:", cb[-1][-1].replace("\n"," ")) for i, it in enumerate(cb): print亮蓝(it[0]); print亮黄(it[1]) +def test_解析ipynb文件(): + from crazy_functions.解析JupyterNotebook import 解析ipynb文件 + txt = "crazy_functions/test_samples" + for cookies, cb, hist, msg in 解析ipynb文件(txt, llm_kwargs, plugin_kwargs, chatbot, history, system_prompt, web_port): + print(cb) + + # test_解析一个Python项目() # test_Latex英文润色() # test_Markdown中译英() @@ -116,9 +123,8 @@ def test_联网回答问题(): # test_总结word文档() # test_下载arxiv论文并翻译摘要() # test_解析一个Cpp项目() - -test_联网回答问题() - +# test_联网回答问题() +test_解析ipynb文件() input("程序完成,回车退出。") print("退出。") \ No newline at end of file diff --git a/crazy_functions/解析JupyterNotebook.py b/crazy_functions/解析JupyterNotebook.py index 1627f88..3c9948b 100644 --- a/crazy_functions/解析JupyterNotebook.py +++ b/crazy_functions/解析JupyterNotebook.py @@ -1,5 +1,5 @@ from toolbox import update_ui -from toolbox import CatchException, report_execption +from toolbox import CatchException, report_execption, write_results_to_file fast_debug = True @@ -79,9 +79,9 @@ def ipynb解释(file_manifest, project_folder, llm_kwargs, plugin_kwargs, chatbo pfg.run_file_split(max_token_limit=1024) n_split = len(pfg.sp_file_contents) - inputs_array = [f"This is a Jupyter Notebook file, tell me about Each Block in Chinese. Focus Just On Code." + - f"If a block starts with `Markdown` which means it's a markdown block in ipynbipynb. " + - f"Start a new line for a block and block num use Chinese." + + inputs_array = [r"This is a Jupyter Notebook file, tell me about Each Block in Chinese. Focus Just On Code." + + r"If a block starts with `Markdown` which means it's a markdown block in ipynbipynb. " + + r"Start a new line for a block and block num use Chinese." + f"\n\n{frag}" for frag in pfg.sp_file_contents] inputs_show_user_array = [f"{f}的分析如下" for f in pfg.sp_file_tag] sys_prompt_array = ["You are a professional programmer."] * n_split @@ -100,8 +100,13 @@ def ipynb解释(file_manifest, project_folder, llm_kwargs, plugin_kwargs, chatbo # <-------- 整理结果,退出 ----------> block_result = " \n".join(gpt_response_collection) chatbot.append(("解析的结果如下", block_result)) + history.extend(["解析的结果如下", block_result]) yield from update_ui(chatbot=chatbot, history=history) # 刷新界面 + # <-------- 写入文件,退出 ----------> + res = write_results_to_file(history) + chatbot.append(("完成了吗?", res)) + yield from update_ui(chatbot=chatbot, history=history) # 刷新界面 @CatchException def 解析ipynb文件(txt, llm_kwargs, plugin_kwargs, chatbot, history, system_prompt, web_port):