Spaces:
Runtime error
Runtime error
| """ | |
| 这是什么? | |
| 这个文件用于函数插件的单元测试 | |
| 运行方法 python crazy_functions/crazy_functions_test.py | |
| """ | |
| # ============================================================================================================================== | |
| def validate_path(): | |
| import os, sys | |
| dir_name = os.path.dirname(__file__) | |
| root_dir_assume = os.path.abspath(os.path.dirname(__file__) + '/..') | |
| os.chdir(root_dir_assume) | |
| sys.path.append(root_dir_assume) | |
| validate_path() # validate path so you can run from base directory | |
| # ============================================================================================================================== | |
| from colorful import * | |
| from toolbox import get_conf, ChatBotWithCookies | |
| import contextlib | |
| import os | |
| import sys | |
| from functools import wraps | |
| proxies, WEB_PORT, LLM_MODEL, CONCURRENT_COUNT, AUTHENTICATION, CHATBOT_HEIGHT, LAYOUT, API_KEY = \ | |
| get_conf('proxies', 'WEB_PORT', 'LLM_MODEL', 'CONCURRENT_COUNT', 'AUTHENTICATION', 'CHATBOT_HEIGHT', 'LAYOUT', 'API_KEY') | |
| llm_kwargs = { | |
| 'api_key': API_KEY, | |
| 'llm_model': LLM_MODEL, | |
| 'top_p':1.0, | |
| 'max_length': None, | |
| 'temperature':1.0, | |
| } | |
| plugin_kwargs = { } | |
| chatbot = ChatBotWithCookies(llm_kwargs) | |
| history = [] | |
| system_prompt = "Serve me as a writing and programming assistant." | |
| web_port = 1024 | |
| # ============================================================================================================================== | |
| def silence_stdout(func): | |
| def wrapper(*args, **kwargs): | |
| _original_stdout = sys.stdout | |
| sys.stdout = open(os.devnull, 'w') | |
| for q in func(*args, **kwargs): | |
| sys.stdout = _original_stdout | |
| yield q | |
| sys.stdout = open(os.devnull, 'w') | |
| sys.stdout.close() | |
| sys.stdout = _original_stdout | |
| return wrapper | |
| class CLI_Printer(): | |
| def __init__(self) -> None: | |
| self.pre_buf = "" | |
| def print(self, buf): | |
| bufp = "" | |
| for index, chat in enumerate(buf): | |
| a, b = chat | |
| bufp += sprint亮靛('[Me]:' + a) + '\n' | |
| bufp += '[GPT]:' + b | |
| if index < len(buf)-1: | |
| bufp += '\n' | |
| if self.pre_buf!="" and bufp.startswith(self.pre_buf): | |
| print(bufp[len(self.pre_buf):], end='') | |
| else: | |
| print('\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n'+bufp, end='') | |
| self.pre_buf = bufp | |
| return | |
| cli_printer = CLI_Printer() | |
| # ============================================================================================================================== | |
| def test_解析一个Python项目(): | |
| from crazy_functions.解析项目源代码 import 解析一个Python项目 | |
| txt = "crazy_functions/test_project/python/dqn" | |
| for cookies, cb, hist, msg in 解析一个Python项目(txt, llm_kwargs, plugin_kwargs, chatbot, history, system_prompt, web_port): | |
| print(cb) | |
| def test_解析一个Cpp项目(): | |
| from crazy_functions.解析项目源代码 import 解析一个C项目 | |
| txt = "crazy_functions/test_project/cpp/cppipc" | |
| for cookies, cb, hist, msg in 解析一个C项目(txt, llm_kwargs, plugin_kwargs, chatbot, history, system_prompt, web_port): | |
| print(cb) | |
| def test_Latex英文润色(): | |
| from crazy_functions.Latex全文润色 import Latex英文润色 | |
| txt = "crazy_functions/test_project/latex/attention" | |
| for cookies, cb, hist, msg in Latex英文润色(txt, llm_kwargs, plugin_kwargs, chatbot, history, system_prompt, web_port): | |
| print(cb) | |
| def test_Markdown中译英(): | |
| from crazy_functions.批量Markdown翻译 import Markdown中译英 | |
| txt = "README.md" | |
| for cookies, cb, hist, msg in Markdown中译英(txt, llm_kwargs, plugin_kwargs, chatbot, history, system_prompt, web_port): | |
| print(cb) | |
| def test_批量翻译PDF文档(): | |
| from crazy_functions.批量翻译PDF文档_多线程 import 批量翻译PDF文档 | |
| txt = "crazy_functions/test_project/pdf_and_word" | |
| for cookies, cb, hist, msg in 批量翻译PDF文档(txt, llm_kwargs, plugin_kwargs, chatbot, history, system_prompt, web_port): | |
| print(cb) | |
| def test_谷歌检索小助手(): | |
| from crazy_functions.谷歌检索小助手 import 谷歌检索小助手 | |
| txt = "https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=auto+reinforcement+learning&btnG=" | |
| for cookies, cb, hist, msg in 谷歌检索小助手(txt, llm_kwargs, plugin_kwargs, chatbot, history, system_prompt, web_port): | |
| print(cb) | |
| def test_总结word文档(): | |
| from crazy_functions.总结word文档 import 总结word文档 | |
| txt = "crazy_functions/test_project/pdf_and_word" | |
| for cookies, cb, hist, msg in 总结word文档(txt, llm_kwargs, plugin_kwargs, chatbot, history, system_prompt, web_port): | |
| print(cb) | |
| def test_下载arxiv论文并翻译摘要(): | |
| from crazy_functions.下载arxiv论文翻译摘要 import 下载arxiv论文并翻译摘要 | |
| txt = "1812.10695" | |
| for cookies, cb, hist, msg in 下载arxiv论文并翻译摘要(txt, llm_kwargs, plugin_kwargs, chatbot, history, system_prompt, web_port): | |
| print(cb) | |
| def test_联网回答问题(): | |
| from crazy_functions.联网的ChatGPT import 连接网络回答问题 | |
| # txt = "谁是应急食品?" | |
| # >> '根据以上搜索结果可以得知,应急食品是“原神”游戏中的角色派蒙的外号。' | |
| # txt = "道路千万条,安全第一条。后面两句是?" | |
| # >> '行车不规范,亲人两行泪。' | |
| # txt = "You should have gone for the head. What does that mean?" | |
| # >> The phrase "You should have gone for the head" is a quote from the Marvel movies, Avengers: Infinity War and Avengers: Endgame. It was spoken by the character Thanos in Infinity War and by Thor in Endgame. | |
| txt = "AutoGPT是什么?" | |
| for cookies, cb, hist, msg in 连接网络回答问题(txt, llm_kwargs, plugin_kwargs, chatbot, history, system_prompt, web_port): | |
| 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) | |
| def test_数学动画生成manim(): | |
| from crazy_functions.数学动画生成manim import 动画生成 | |
| txt = "A ball split into 2, and then split into 4, and finally split into 8." | |
| for cookies, cb, hist, msg in 动画生成(txt, llm_kwargs, plugin_kwargs, chatbot, history, system_prompt, web_port): | |
| print(cb) | |
| def test_Markdown多语言(): | |
| from crazy_functions.批量Markdown翻译 import Markdown翻译指定语言 | |
| txt = "README.md" | |
| history = [] | |
| for lang in ["English", "French", "Japanese", "Korean", "Russian", "Italian", "German", "Portuguese", "Arabic"]: | |
| plugin_kwargs = {"advanced_arg": lang} | |
| for cookies, cb, hist, msg in Markdown翻译指定语言(txt, llm_kwargs, plugin_kwargs, chatbot, history, system_prompt, web_port): | |
| print(cb) | |
| def test_Langchain知识库(): | |
| from crazy_functions.Langchain知识库 import 知识库问答 | |
| txt = "./" | |
| chatbot = ChatBotWithCookies(llm_kwargs) | |
| for cookies, cb, hist, msg in silence_stdout(知识库问答)(txt, llm_kwargs, plugin_kwargs, chatbot, history, system_prompt, web_port): | |
| cli_printer.print(cb) # print(cb) | |
| chatbot = ChatBotWithCookies(cookies) | |
| from crazy_functions.Langchain知识库 import 读取知识库作答 | |
| txt = "What is the installation method?" | |
| for cookies, cb, hist, msg in silence_stdout(读取知识库作答)(txt, llm_kwargs, plugin_kwargs, chatbot, history, system_prompt, web_port): | |
| cli_printer.print(cb) # print(cb) | |
| def test_Langchain知识库读取(): | |
| from crazy_functions.Langchain知识库 import 读取知识库作答 | |
| txt = "远程云服务器部署?" | |
| for cookies, cb, hist, msg in silence_stdout(读取知识库作答)(txt, llm_kwargs, plugin_kwargs, chatbot, history, system_prompt, web_port): | |
| cli_printer.print(cb) # print(cb) | |
| def test_Latex(): | |
| from crazy_functions.Latex输出PDF结果 import Latex英文纠错加PDF对比, Latex翻译中文并重新编译PDF | |
| # txt = r"https://arxiv.org/abs/1706.03762" | |
| # txt = r"https://arxiv.org/abs/1902.03185" | |
| # txt = r"https://arxiv.org/abs/2305.18290" | |
| # txt = r"https://arxiv.org/abs/2305.17608" | |
| # txt = r"https://arxiv.org/abs/2211.16068" # ACE | |
| # txt = r"C:\Users\x\arxiv_cache\2211.16068\workfolder" # ACE | |
| # txt = r"https://arxiv.org/abs/2002.09253" | |
| # txt = r"https://arxiv.org/abs/2306.07831" | |
| # txt = r"https://arxiv.org/abs/2212.10156" | |
| # txt = r"https://arxiv.org/abs/2211.11559" | |
| # txt = r"https://arxiv.org/abs/2303.08774" | |
| txt = r"https://arxiv.org/abs/2303.12712" | |
| # txt = r"C:\Users\fuqingxu\arxiv_cache\2303.12712\workfolder" | |
| for cookies, cb, hist, msg in (Latex翻译中文并重新编译PDF)(txt, llm_kwargs, plugin_kwargs, chatbot, history, system_prompt, web_port): | |
| cli_printer.print(cb) # print(cb) | |
| # txt = "2302.02948.tar" | |
| # print(txt) | |
| # main_tex, work_folder = Latex预处理(txt) | |
| # print('main tex:', main_tex) | |
| # res = 编译Latex(main_tex, work_folder) | |
| # # for cookies, cb, hist, msg in silence_stdout(编译Latex)(txt, llm_kwargs, plugin_kwargs, chatbot, history, system_prompt, web_port): | |
| # cli_printer.print(cb) # print(cb) | |
| # test_解析一个Python项目() | |
| # test_Latex英文润色() | |
| # test_Markdown中译英() | |
| # test_批量翻译PDF文档() | |
| # test_谷歌检索小助手() | |
| # test_总结word文档() | |
| # test_下载arxiv论文并翻译摘要() | |
| # test_解析一个Cpp项目() | |
| # test_联网回答问题() | |
| # test_解析ipynb文件() | |
| # test_数学动画生成manim() | |
| # test_Langchain知识库() | |
| # test_Langchain知识库读取() | |
| if __name__ == "__main__": | |
| test_Latex() | |
| input("程序完成,回车退出。") | |
| print("退出。") |