ReeInk
commited on
Commit
•
601c36e
1
Parent(s):
15b7cd6
加载环境变量作为配置
Browse files
config.py
CHANGED
@@ -1,8 +1,11 @@
|
|
|
|
|
|
1 |
# [step 1]>> 例如: API_KEY = "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" (此key无效)
|
2 |
-
API_KEY = "sk-此处填API密钥"
|
|
|
3 |
|
4 |
# [step 2]>> 改为True应用代理,如果直接在海外服务器部署,此处不修改
|
5 |
-
USE_PROXY = False
|
6 |
if USE_PROXY:
|
7 |
# 填写格式是 [协议]:// [地址] :[端口],填写之前不要忘记把USE_PROXY改成True,如果直接在海外服务器部署,此处不修改
|
8 |
# 例如 "socks5h://localhost:11284"
|
@@ -13,62 +16,70 @@ if USE_PROXY:
|
|
13 |
# 代理网络的地址,打开你的*学*网软件查看代理的协议(socks5/http)、地址(localhost)和端口(11284)
|
14 |
proxies = {
|
15 |
# [协议]:// [地址] :[端口]
|
16 |
-
"http": "socks5h://localhost:11284",
|
17 |
-
"https": "socks5h://localhost:11284",
|
18 |
}
|
19 |
else:
|
20 |
proxies = None
|
21 |
|
22 |
# [step 3]>> 多线程函数插件中,默认允许多少路线程同时访问OpenAI。Free trial users的限制是每分钟3次,Pay-as-you-go users的限制是每分钟3500次
|
23 |
# 一言以蔽之:免费用户填3,OpenAI绑了信用卡的用户可以填 16 或者更高。提高限制请查询:https://platform.openai.com/docs/guides/rate-limits/overview
|
24 |
-
DEFAULT_WORKER_NUM = 3
|
25 |
|
26 |
|
27 |
# [step 4]>> 以下配置可以优化体验,但大部分场合下并不需要修改
|
28 |
# 对话窗的高度
|
29 |
-
CHATBOT_HEIGHT = 1115
|
30 |
|
31 |
# 代码高亮
|
32 |
-
CODE_HIGHLIGHT = True
|
33 |
|
34 |
# 窗口布局
|
35 |
-
LAYOUT = "LEFT-RIGHT" # "LEFT-RIGHT"(左右布局) # "TOP-DOWN"(上下布局)
|
36 |
-
DARK_MODE =
|
37 |
|
38 |
# 发送请求到OpenAI后,等待多久判定为超时
|
39 |
-
TIMEOUT_SECONDS = 30
|
40 |
|
41 |
# 网页的端口, -1代表随机端口
|
42 |
-
WEB_PORT = -1
|
43 |
|
44 |
# 如果OpenAI不响应(网络卡顿、代理失败、KEY失效),重试的次数限制
|
45 |
-
MAX_RETRY = 2
|
46 |
|
47 |
# OpenAI模型选择是(gpt4现在只对申请成功的人开放,体验gpt-4可以试试api2d)
|
48 |
-
LLM_MODEL = "gpt-3.5-turbo" # 可选 ↓↓↓
|
49 |
AVAIL_LLM_MODELS = ["gpt-3.5-turbo", "api2d-gpt-3.5-turbo", "gpt-4", "api2d-gpt-4", "chatglm", "newbing"]
|
50 |
|
51 |
# 本地LLM模型如ChatGLM的执行方式 CPU/GPU
|
52 |
-
LOCAL_MODEL_DEVICE = "cpu" # 可选 "cuda"
|
53 |
|
54 |
# 设置gradio的并行线程数(不需要修改)
|
55 |
-
CONCURRENT_COUNT = 100
|
56 |
|
57 |
# 设置用户名和密码(不需要修改)(相关功能不稳定,与gradio版本和网络都相关,如果本地使用不建议加这个)
|
58 |
# [("username", "password"), ("username2", "password2"), ...]
|
59 |
AUTHENTICATION = []
|
|
|
|
|
|
|
|
|
60 |
|
61 |
# 重新URL重新定向,实现更换API_URL的作用(常规情况下,不要修改!!)
|
62 |
# (高危设置!通过修改此设置,您将把您的API-KEY和对话隐私完全暴露给您设定的中间人!)
|
63 |
# 格式 {"https://api.openai.com/v1/chat/completions": "在这里填写重定向的api.openai.com的URL"}
|
64 |
# 例如 API_URL_REDIRECT = {"https://api.openai.com/v1/chat/completions": "https://ai.open.com/api/conversation"}
|
65 |
API_URL_REDIRECT = {}
|
|
|
|
|
|
|
|
|
66 |
|
67 |
# 如果需要在二级路径下运行(常规情况下,不要修改!!)(需要配合修改main.py才能生效!)
|
68 |
-
CUSTOM_PATH = "/"
|
69 |
|
70 |
# 如果需要使用newbing,把newbing的长长的cookie放到这里
|
71 |
-
NEWBING_STYLE = "creative" # ["creative", "balanced", "precise"]
|
72 |
-
NEWBING_COOKIES = """
|
73 |
your bing cookies here
|
74 |
"""
|
|
|
1 |
+
from os import environ
|
2 |
+
|
3 |
# [step 1]>> 例如: API_KEY = "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" (此key无效)
|
4 |
+
API_KEY = environ.get("GPT_ACADEMIC_API_KEY") or "sk-此处填API密钥"
|
5 |
+
# 可同时填写多个API-KEY,用英文逗号分割,例如API_KEY = "sk-openaikey1,sk-openaikey2,fkxxxx-api2dkey1,fkxxxx-api2dkey2"
|
6 |
|
7 |
# [step 2]>> 改为True应用代理,如果直接在海外服务器部署,此处不修改
|
8 |
+
USE_PROXY = environ.get("GPT_ACADEMIC_USE_PROXY") == "true" or False
|
9 |
if USE_PROXY:
|
10 |
# 填写格式是 [协议]:// [地址] :[端口],填写之前不要忘记把USE_PROXY改成True,如果直接在海外服务器部署,此处不修改
|
11 |
# 例如 "socks5h://localhost:11284"
|
|
|
16 |
# 代理网络的地址,打开你的*学*网软件查看代理的协议(socks5/http)、地址(localhost)和端口(11284)
|
17 |
proxies = {
|
18 |
# [协议]:// [地址] :[端口]
|
19 |
+
"http": environ.get("GPT_ACADEMIC_HTTP_PROXY") or "socks5h://localhost:11284",
|
20 |
+
"https": environ.get("GPT_ACADEMIC_HTTPS_PROXY") or "socks5h://localhost:11284",
|
21 |
}
|
22 |
else:
|
23 |
proxies = None
|
24 |
|
25 |
# [step 3]>> 多线程函数插件中,默认允许多少路线程同时访问OpenAI。Free trial users的限制是每分钟3次,Pay-as-you-go users的限制是每分钟3500次
|
26 |
# 一言以蔽之:免费用户填3,OpenAI绑了信用卡的用户可以填 16 或者更高。提高限制请查询:https://platform.openai.com/docs/guides/rate-limits/overview
|
27 |
+
DEFAULT_WORKER_NUM = int(environ.get("GPT_ACADEMIC_DEFAULT_WORKER_NUM") or 3)
|
28 |
|
29 |
|
30 |
# [step 4]>> 以下配置可以优化体验,但大部分场合下并不需要修改
|
31 |
# 对话窗的高度
|
32 |
+
CHATBOT_HEIGHT = int(environ.get("GPT_ACADEMIC_CHATBOT_HEIGHT") or 1115)
|
33 |
|
34 |
# 代码高亮
|
35 |
+
CODE_HIGHLIGHT = environ.get("GPT_ACADEMIC_CODE_HIGHLIGHT") != "false" # 默认为True
|
36 |
|
37 |
# 窗口布局
|
38 |
+
LAYOUT = environ.get("GPT_ACADEMIC_LAYOUT") or "LEFT-RIGHT" # "LEFT-RIGHT"(左右布局) # "TOP-DOWN"(上下布局)
|
39 |
+
DARK_MODE = environ.get("GPT_ACADEMIC_DARK_MODE") == "true" # 是否启用暗色模式,默认为False
|
40 |
|
41 |
# 发送请求到OpenAI后,等待多久判定为超时
|
42 |
+
TIMEOUT_SECONDS = int(environ.get("GPT_ACADEMIC_TIMEOUT_SECONDS") or 30)
|
43 |
|
44 |
# 网页的端口, -1代表随机端口
|
45 |
+
WEB_PORT = int(environ.get("GPT_ACADEMIC_WEB_PORT") or -1)
|
46 |
|
47 |
# 如果OpenAI不响应(网络卡顿、代理失败、KEY失效),重试的次数限制
|
48 |
+
MAX_RETRY = int(environ.get("GPT_ACADEMIC_MAX_RETRY") or 2)
|
49 |
|
50 |
# OpenAI模型选择是(gpt4现在只对申请成功的人开放,体验gpt-4可以试试api2d)
|
51 |
+
LLM_MODEL = environ.get("GPT_ACADEMIC_LLM_MODEL") or "gpt-3.5-turbo" # 可选 ↓↓↓
|
52 |
AVAIL_LLM_MODELS = ["gpt-3.5-turbo", "api2d-gpt-3.5-turbo", "gpt-4", "api2d-gpt-4", "chatglm", "newbing"]
|
53 |
|
54 |
# 本地LLM模型如ChatGLM的执行方式 CPU/GPU
|
55 |
+
LOCAL_MODEL_DEVICE = environ.get("GPT_ACADEMIC_LOCAL_MODEL_DEVICE") or "cpu" # 可选 "cuda"
|
56 |
|
57 |
# 设置gradio的并行线程数(不需要修改)
|
58 |
+
CONCURRENT_COUNT = int(environ.get("GPT_ACADEMIC_CONCURRENT_COUNT") or 100)
|
59 |
|
60 |
# 设置用户名和密码(不需要修改)(相关功能不稳定,与gradio版本和网络都相关,如果本地使用不建议加这个)
|
61 |
# [("username", "password"), ("username2", "password2"), ...]
|
62 |
AUTHENTICATION = []
|
63 |
+
# 如果设置`GPT_ACADEMIC_AUTHENTICATION`环境变量,格式为 "username,password;username2,password2;..."
|
64 |
+
if environ.get("GPT_ACADEMIC_AUTHENTICATION"):
|
65 |
+
for i in environ.get("GPT_ACADEMIC_AUTHENTICATION").split(";"):
|
66 |
+
AUTHENTICATION.append(tuple(i.split(",")))
|
67 |
|
68 |
# 重新URL重新定向,实现更换API_URL的作用(常规情况下,不要修改!!)
|
69 |
# (高危设置!通过修改此设置,您将把您的API-KEY和对话隐私完全暴露给您设定的中间人!)
|
70 |
# 格式 {"https://api.openai.com/v1/chat/completions": "在这里填写重定向的api.openai.com的URL"}
|
71 |
# 例如 API_URL_REDIRECT = {"https://api.openai.com/v1/chat/completions": "https://ai.open.com/api/conversation"}
|
72 |
API_URL_REDIRECT = {}
|
73 |
+
# 如果设置`GPT_ACADEMIC_API_URL_REDIRECT`环境变量,格式为 "https://api.openai.com/v1/chat/completions,https://ai.open.com/api/conversation;..."
|
74 |
+
if environ.get("GPT_ACADEMIC_API_URL_REDIRECT"):
|
75 |
+
for i in environ.get("GPT_ACADEMIC_API_URL_REDIRECT").split(";"):
|
76 |
+
API_URL_REDIRECT[i.split(",")[0]] = i.split(",")[1]
|
77 |
|
78 |
# 如果需要在二级路径下运行(常规情况下,不要修改!!)(需要配合修改main.py才能生效!)
|
79 |
+
CUSTOM_PATH = environ.get("GPT_ACADEMIC_CUSTOM_PATH") or "/"
|
80 |
|
81 |
# 如果需要使用newbing,把newbing的长长的cookie放到这里
|
82 |
+
NEWBING_STYLE = environ.get("GPT_ACADEMIC_NEWBING_STYLE") or "creative" # ["creative", "balanced", "precise"]
|
83 |
+
NEWBING_COOKIES = environ.get("GPT_ACADEMIC_NEWBING_COOKIES") or """
|
84 |
your bing cookies here
|
85 |
"""
|