Spaces:
Sleeping
Sleeping
""" | |
这是什么? | |
这个文件用于函数插件的单元测试 | |
运行方法 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("退出。") |