Spaces:
Sleeping
Sleeping
Keldos
commited on
Commit
·
73d2fd7
1
Parent(s):
b996b77
feat: 加入latex渲染参数
Browse files- ChuanhuChatbot.py +1 -1
- config_example.json +1 -0
- modules/config.py +37 -0
- modules/utils.py +1 -0
ChuanhuChatbot.py
CHANGED
@@ -50,7 +50,7 @@ with gr.Blocks(css=customCSS, theme=small_and_beautiful_theme) as demo:
|
|
50 |
with gr.Row().style(equal_height=True):
|
51 |
with gr.Column(scale=5):
|
52 |
with gr.Row():
|
53 |
-
chatbot = gr.Chatbot(label="Chuanhu Chat", elem_id="chuanhu_chatbot").style(height="100%")
|
54 |
with gr.Row():
|
55 |
with gr.Column(min_width=225, scale=12):
|
56 |
user_input = gr.Textbox(
|
|
|
50 |
with gr.Row().style(equal_height=True):
|
51 |
with gr.Column(scale=5):
|
52 |
with gr.Row():
|
53 |
+
chatbot = gr.Chatbot(label="Chuanhu Chat", elem_id="chuanhu_chatbot", latex_delimiters=latex_delimiters_set).style(height="100%")
|
54 |
with gr.Row():
|
55 |
with gr.Column(min_width=225, scale=12):
|
56 |
user_input = gr.Textbox(
|
config_example.json
CHANGED
@@ -28,6 +28,7 @@
|
|
28 |
"WOLFRAM_ALPHA_APPID": "", //Wolfram Alpha API Key,用于川虎助理Pro模式,获取方式请看 https://products.wolframalpha.com/api/
|
29 |
"SERPAPI_API_KEY": "", //SerpAPI API Key,用于川虎助理Pro模式,获取方式请看 https://serpapi.com/
|
30 |
|
|
|
31 |
"advance_docs": {
|
32 |
"pdf": {
|
33 |
// 是否认为PDF是双栏的
|
|
|
28 |
"WOLFRAM_ALPHA_APPID": "", //Wolfram Alpha API Key,用于川虎助理Pro模式,获取方式请看 https://products.wolframalpha.com/api/
|
29 |
"SERPAPI_API_KEY": "", //SerpAPI API Key,用于川虎助理Pro模式,获取方式请看 https://serpapi.com/
|
30 |
|
31 |
+
"latex_option": "default", // latex 公式显示方式,可选"default", "strict", "all"或者"disabled"
|
32 |
"advance_docs": {
|
33 |
"pdf": {
|
34 |
// 是否认为PDF是双栏的
|
modules/config.py
CHANGED
@@ -24,6 +24,7 @@ __all__ = [
|
|
24 |
"server_port",
|
25 |
"share",
|
26 |
"check_update",
|
|
|
27 |
"hide_history_when_not_logged_in",
|
28 |
"default_chuanhu_assistant_model"
|
29 |
]
|
@@ -158,6 +159,42 @@ def retrieve_proxy(proxy=None):
|
|
158 |
# return old proxy
|
159 |
os.environ["HTTP_PROXY"], os.environ["HTTPS_PROXY"] = old_var
|
160 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
161 |
|
162 |
## 处理advance docs
|
163 |
advance_docs = defaultdict(lambda: defaultdict(dict))
|
|
|
24 |
"server_port",
|
25 |
"share",
|
26 |
"check_update",
|
27 |
+
"latex_delimiters_set",
|
28 |
"hide_history_when_not_logged_in",
|
29 |
"default_chuanhu_assistant_model"
|
30 |
]
|
|
|
159 |
# return old proxy
|
160 |
os.environ["HTTP_PROXY"], os.environ["HTTPS_PROXY"] = old_var
|
161 |
|
162 |
+
## 处理latex options
|
163 |
+
user_latex_option = config.get("latex_option", "default")
|
164 |
+
if user_latex_option == "default":
|
165 |
+
latex_delimiters_set = [
|
166 |
+
{"left": "$$", "right": "$$", "display": True},
|
167 |
+
{"left": "$", "right": "$", "display": False},
|
168 |
+
{"left": "\\(", "right": "\\)", "display": False},
|
169 |
+
{"left": "\\[", "right": "\\]", "display": True},
|
170 |
+
]
|
171 |
+
elif user_latex_option == "strict":
|
172 |
+
latex_delimiters_set = [
|
173 |
+
{"left": "$$", "right": "$$", "display": True},
|
174 |
+
{"left": "\\(", "right": "\\)", "display": False},
|
175 |
+
{"left": "\\[", "right": "\\]", "display": True},
|
176 |
+
]
|
177 |
+
elif user_latex_option == "all":
|
178 |
+
latex_delimiters_set = [
|
179 |
+
{"left": "$$", "right": "$$", "display": True},
|
180 |
+
{"left": "$", "right": "$", "display": False},
|
181 |
+
{"left": "\\(", "right": "\\)", "display": False},
|
182 |
+
{"left": "\\[", "right": "\\]", "display": True},
|
183 |
+
{"left": "\\begin{equation}", "right": "\\end{equation}", "display": True},
|
184 |
+
{"left": "\\begin{align}", "right": "\\end{align}", "display": True},
|
185 |
+
{"left": "\\begin{alignat}", "right": "\\end{alignat}", "display": True},
|
186 |
+
{"left": "\\begin{gather}", "right": "\\end{gather}", "display": True},
|
187 |
+
{"left": "\\begin{CD}", "right": "\\end{CD}", "display": True},
|
188 |
+
]
|
189 |
+
elif user_latex_option == "disabled":
|
190 |
+
latex_delimiters_set = []
|
191 |
+
else:
|
192 |
+
latex_delimiters_set = [
|
193 |
+
{"left": "$$", "right": "$$", "display": True},
|
194 |
+
{"left": "$", "right": "$", "display": False},
|
195 |
+
{"left": "\\(", "right": "\\)", "display": False},
|
196 |
+
{"left": "\\[", "right": "\\]", "display": True},
|
197 |
+
]
|
198 |
|
199 |
## 处理advance docs
|
200 |
advance_docs = defaultdict(lambda: defaultdict(dict))
|
modules/utils.py
CHANGED
@@ -261,6 +261,7 @@ def escape_markdown(text):
|
|
261 |
'>': '>',
|
262 |
'<': '<',
|
263 |
'|': '|',
|
|
|
264 |
':': ':',
|
265 |
}
|
266 |
return ''.join(escape_chars.get(c, c) for c in text)
|
|
|
261 |
'>': '>',
|
262 |
'<': '<',
|
263 |
'|': '|',
|
264 |
+
'$': '$',
|
265 |
':': ':',
|
266 |
}
|
267 |
return ''.join(escape_chars.get(c, c) for c in text)
|