doctorsafe commited on
Commit
3a91238
·
1 Parent(s): 064509a

Delete main.py

Browse files
Files changed (1) hide show
  1. main.py +0 -103
main.py DELETED
@@ -1,103 +0,0 @@
1
- import os; os.environ['no_proxy'] = '*' # 避免代理网络产生意外污染
2
- import gradio as gr
3
- from predict import predict
4
- from toolbox import format_io, find_free_port
5
-
6
- # 建议您复制一个config_private.py放自己的秘密, 如API和代理网址, 避免不小心传github被别人看到
7
- try: from config_private import proxies, WEB_PORT, LLM_MODEL
8
- except: from config import proxies, WEB_PORT, LLM_MODEL
9
-
10
- # 如果WEB_PORT是-1, 则随机选取WEB端口
11
- PORT = find_free_port() if WEB_PORT <= 0 else WEB_PORT
12
-
13
- initial_prompt = "Serve me as a writing and programming assistant."
14
- title_html = """<h1 align="center">ChatGPT 学术优化</h1>"""
15
-
16
- # 问询记录, python 版本建议3.9+(越新越好)
17
- import logging
18
- os.makedirs('gpt_log', exist_ok=True)
19
- try:logging.basicConfig(filename='gpt_log/chat_secrets.log', level=logging.INFO, encoding='utf-8')
20
- except:logging.basicConfig(filename='gpt_log/chat_secrets.log', level=logging.INFO)
21
- print('所有问询记录将自动保存在本地目录./gpt_log/chat_secrets.log, 请注意自我隐私保护哦!')
22
-
23
- # 一些普通功能模块
24
- from functional import get_functionals
25
- functional = get_functionals()
26
-
27
- # 对一些丧心病狂的实验性功能模块进行测试
28
- from functional_crazy import get_crazy_functionals, on_file_uploaded, on_report_generated
29
- crazy_functional = get_crazy_functionals()
30
-
31
- # 处理markdown文本格式的转变
32
- gr.Chatbot.postprocess = format_io
33
-
34
- # 做一些外观色彩上的调整
35
- from theme import adjust_theme
36
- set_theme = adjust_theme()
37
-
38
- with gr.Blocks(theme=set_theme, analytics_enabled=False) as demo:
39
- gr.HTML(title_html)
40
- with gr.Row():
41
- with gr.Column(scale=2):
42
- chatbot = gr.Chatbot()
43
- chatbot.style(height=1000)
44
- chatbot.style()
45
- history = gr.State([])
46
- TRUE = gr.State(True)
47
- FALSE = gr.State(False)
48
- with gr.Column(scale=1):
49
- with gr.Row():
50
- with gr.Column(scale=12):
51
- txt = gr.Textbox(show_label=False, placeholder="Input question here.").style(container=False)
52
- with gr.Column(scale=1):
53
- submitBtn = gr.Button("提交", variant="primary")
54
- with gr.Row():
55
- from check_proxy import check_proxy
56
- statusDisplay = gr.Markdown(f"Tip: 按Enter提交, 按Shift+Enter换行. \nNetwork: {check_proxy(proxies)}\nModel: {LLM_MODEL}")
57
- with gr.Row():
58
- for k in functional:
59
- variant = functional[k]["Color"] if "Color" in functional[k] else "secondary"
60
- functional[k]["Button"] = gr.Button(k, variant=variant)
61
- with gr.Row():
62
- gr.Markdown("以下部分实验性功能需从input框读取路径.")
63
- with gr.Row():
64
- for k in crazy_functional:
65
- variant = crazy_functional[k]["Color"] if "Color" in crazy_functional[k] else "secondary"
66
- crazy_functional[k]["Button"] = gr.Button(k, variant=variant)
67
- with gr.Row():
68
- gr.Markdown("上传本地文件供上面的实验性功能调用.")
69
- with gr.Row():
70
- file_upload = gr.Files(label='任何文件,但推荐上传压缩文件(zip, tar)', file_count="multiple")
71
-
72
- systemPromptTxt = gr.Textbox(show_label=True, placeholder=f"System Prompt", label="System prompt", value=initial_prompt).style(container=True)
73
- #inputs, top_p, temperature, top_k, repetition_penalty
74
- with gr.Accordion("arguments", open=False):
75
- top_p = gr.Slider(minimum=-0, maximum=1.0, value=1.0, step=0.01,interactive=True, label="Top-p (nucleus sampling)",)
76
- temperature = gr.Slider(minimum=-0, maximum=5.0, value=1.0, step=0.01, interactive=True, label="Temperature",)
77
-
78
- txt.submit(predict, [txt, top_p, temperature, chatbot, history, systemPromptTxt], [chatbot, history, statusDisplay])
79
- submitBtn.click(predict, [txt, top_p, temperature, chatbot, history, systemPromptTxt], [chatbot, history, statusDisplay], show_progress=True)
80
- for k in functional:
81
- functional[k]["Button"].click(predict,
82
- [txt, top_p, temperature, chatbot, history, systemPromptTxt, TRUE, gr.State(k)], [chatbot, history, statusDisplay], show_progress=True)
83
- file_upload.upload(on_file_uploaded, [file_upload, chatbot, txt], [chatbot, txt])
84
- for k in crazy_functional:
85
- click_handle = crazy_functional[k]["Button"].click(crazy_functional[k]["Function"],
86
- [txt, top_p, temperature, chatbot, history, systemPromptTxt, gr.State(PORT)], [chatbot, history, statusDisplay]
87
- )
88
- try: click_handle.then(on_report_generated, [file_upload, chatbot], [file_upload, chatbot])
89
- except: pass
90
-
91
-
92
- # 延迟函数, 做一些准备工作, 最后尝试打开浏览器
93
- def auto_opentab_delay():
94
- import threading, webbrowser, time
95
- print(f"URL http://localhost:{PORT}")
96
- def open(): time.sleep(2)
97
- webbrowser.open_new_tab(f'http://localhost:{PORT}')
98
- t = threading.Thread(target=open)
99
- t.daemon = True; t.start()
100
-
101
- auto_opentab_delay()
102
- demo.title = "ChatGPT 试验版"
103
- demo.queue().launch(server_name="0.0.0.0", share=True, server_port=PORT)