qingxu99 commited on
Commit
2bf30d8
1 Parent(s): 51c6129

修改配置的读取方式

Browse files
Files changed (4) hide show
  1. check_proxy.py +4 -3
  2. main.py +4 -3
  3. predict.py +5 -3
  4. toolbox.py +18 -6
check_proxy.py CHANGED
@@ -21,6 +21,7 @@ def check_proxy(proxies):
21
 
22
  if __name__ == '__main__':
23
  import os; os.environ['no_proxy'] = '*' # 避免代理网络产生意外污染
24
- try: from config_private import proxies # 放自己的秘密如API和代理网址 os.path.exists('config_private.py')
25
- except: from config import proxies
26
- check_proxy(proxies)
 
 
21
 
22
  if __name__ == '__main__':
23
  import os; os.environ['no_proxy'] = '*' # 避免代理网络产生意外污染
24
+ from toolbox import get_conf
25
+ proxies, = get_conf('proxies')
26
+ check_proxy(proxies)
27
+
main.py CHANGED
@@ -1,11 +1,12 @@
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, on_file_uploaded, on_report_generated
5
 
6
  # 建议您复制一个config_private.py放自己的秘密, 如API和代理网址, 避免不小心传github被别人看到
7
- try: from config_private import proxies, WEB_PORT, LLM_MODEL, CONCURRENT_COUNT, AUTHENTICATION
8
- except: from config import proxies, WEB_PORT, LLM_MODEL, CONCURRENT_COUNT, AUTHENTICATION
 
9
 
10
  # 如果WEB_PORT是-1, 则随机选取WEB端口
11
  PORT = find_free_port() if WEB_PORT <= 0 else WEB_PORT
 
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, on_file_uploaded, on_report_generated, get_conf
5
 
6
  # 建议您复制一个config_private.py放自己的秘密, 如API和代理网址, 避免不小心传github被别人看到
7
+ proxies, WEB_PORT, LLM_MODEL, CONCURRENT_COUNT, AUTHENTICATION = \
8
+ get_conf('proxies', 'WEB_PORT', 'LLM_MODEL', 'CONCURRENT_COUNT', 'AUTHENTICATION')
9
+
10
 
11
  # 如果WEB_PORT是-1, 则随机选取WEB端口
12
  PORT = find_free_port() if WEB_PORT <= 0 else WEB_PORT
predict.py CHANGED
@@ -20,10 +20,12 @@ import importlib
20
 
21
  # config_private.py放自己的秘密如API和代理网址
22
  # 读取时首先看是否存在私密的config_private配置文件(不受git管控),如果有,则覆盖原config文件
23
- try: from config_private import proxies, API_URL, API_KEY, TIMEOUT_SECONDS, MAX_RETRY, LLM_MODEL
24
- except: from config import proxies, API_URL, API_KEY, TIMEOUT_SECONDS, MAX_RETRY, LLM_MODEL
 
25
 
26
- timeout_bot_msg = '[local] Request timeout, network error. please check proxy settings in config.py.'
 
27
 
28
  def get_full_error(chunk, stream_response):
29
  """
 
20
 
21
  # config_private.py放自己的秘密如API和代理网址
22
  # 读取时首先看是否存在私密的config_private配置文件(不受git管控),如果有,则覆盖原config文件
23
+ from toolbox import get_conf
24
+ proxies, API_URL, API_KEY, TIMEOUT_SECONDS, MAX_RETRY, LLM_MODEL = \
25
+ get_conf('proxies', 'API_URL', 'API_KEY', 'TIMEOUT_SECONDS', 'MAX_RETRY', 'LLM_MODEL')
26
 
27
+ timeout_bot_msg = '[Local Message] Request timeout. Network error. Please check proxy settings in config.py.' + \
28
+ '网络错误,检查代理服务器是否可用,以及代理设置的格式是否正确,格式须是[协议]://[地址]:[端口],缺一不可。'
29
 
30
  def get_full_error(chunk, stream_response):
31
  """
toolbox.py CHANGED
@@ -1,4 +1,4 @@
1
- import markdown, mdtex2html, threading
2
  from show_math import convert as convert_math
3
  from functools import wraps
4
 
@@ -7,9 +7,9 @@ def predict_no_ui_but_counting_down(i_say, i_say_show_user, chatbot, top_p, temp
7
  调用简单的predict_no_ui接口,但是依然保留了些许界面心跳功能,当对话太长时,会自动采用二分法截断
8
  """
9
  import time
10
- try: from config_private import TIMEOUT_SECONDS, MAX_RETRY
11
- except: from config import TIMEOUT_SECONDS, MAX_RETRY
12
  from predict import predict_no_ui
 
 
13
  # 多线程的时候,需要一个mutable结构在不同线程之间传递信息
14
  # list就是最简单的mutable结构,我们第一个位置放gpt输出,第二个位置传递报错信息
15
  mutable = [None, '']
@@ -80,10 +80,9 @@ def CatchException(f):
80
  try:
81
  yield from f(txt, top_p, temperature, chatbot, history, systemPromptTxt, WEB_PORT)
82
  except Exception as e:
83
- import traceback
84
  from check_proxy import check_proxy
85
- try: from config_private import proxies
86
- except: from config import proxies
87
  tb_str = regular_txt_to_markdown(traceback.format_exc())
88
  chatbot[-1] = (chatbot[-1][0], f"[Local Message] 实验性函数调用出错: \n\n {tb_str} \n\n 当前代理可用性: \n\n {check_proxy(proxies)}")
89
  yield chatbot, history, f'异常 {e}'
@@ -218,3 +217,16 @@ def on_report_generated(files, chatbot):
218
  # files.extend(report_files)
219
  chatbot.append(['汇总报告如何远程获取?', '汇总报告已经添加到右侧文件上传区,请查收。'])
220
  return report_files, chatbot
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import markdown, mdtex2html, threading, importlib, traceback
2
  from show_math import convert as convert_math
3
  from functools import wraps
4
 
 
7
  调用简单的predict_no_ui接口,但是依然保留了些许界面心跳功能,当对话太长时,会自动采用二分法截断
8
  """
9
  import time
 
 
10
  from predict import predict_no_ui
11
+ from toolbox import get_conf
12
+ TIMEOUT_SECONDS, MAX_RETRY = get_conf('TIMEOUT_SECONDS', 'MAX_RETRY')
13
  # 多线程的时候,需要一个mutable结构在不同线程之间传递信息
14
  # list就是最简单的mutable结构,我们第一个位置放gpt输出,第二个位置传递报错信息
15
  mutable = [None, '']
 
80
  try:
81
  yield from f(txt, top_p, temperature, chatbot, history, systemPromptTxt, WEB_PORT)
82
  except Exception as e:
 
83
  from check_proxy import check_proxy
84
+ from toolbox import get_conf
85
+ proxies, = get_conf('proxies')
86
  tb_str = regular_txt_to_markdown(traceback.format_exc())
87
  chatbot[-1] = (chatbot[-1][0], f"[Local Message] 实验性函数调用出错: \n\n {tb_str} \n\n 当前代理可用性: \n\n {check_proxy(proxies)}")
88
  yield chatbot, history, f'异常 {e}'
 
217
  # files.extend(report_files)
218
  chatbot.append(['汇总报告如何远程获取?', '汇总报告已经添加到右侧文件上传区,请查收。'])
219
  return report_files, chatbot
220
+
221
+ def get_conf(*args):
222
+ # 建议您复制一个config_private.py放自己的秘密, 如API和代理网址, 避免不小心传github被别人看到
223
+ res = []
224
+ for arg in args:
225
+ try: r = getattr(importlib.import_module('config_private'), arg)
226
+ except: r = getattr(importlib.import_module('config'), arg)
227
+ res.append(r)
228
+ # 在读取API_KEY时,检查一下是不是忘了改config
229
+ if arg=='API_KEY' and len(r) != 51:
230
+ assert False, "正确的API_KEY密钥是51位,请在config文件中修改API密钥, 添加海外代理之后再运行。" + \
231
+ "(如果您刚更新过代码,请确保旧版config_private文件中没有遗留任何新增键值)"
232
+ return res