helen573 commited on
Commit
3d803c7
·
verified ·
1 Parent(s): 2099879

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +48 -22
app.py CHANGED
@@ -49,23 +49,32 @@ def translate_to_english(name, word):
49
  1. 英文翻譯:[列出數學相關的英文翻譯]
50
 
51
  2. 中文解釋:[用中文詳細解釋這個詞在數學上的意義]
52
- - 在解釋中的數學式要用 LaTeX 格式,例如:
53
- 若 $$b^y = x$$,則 $$y$$ 稱為 $$x$$ 以 $$b$$ 為底的對數,記為 $$\log_b x$$
54
  - 變數請使用 $$x$$, $$y$$, $$a$$, $$b$$ 等格式
55
  - 運算符號請用 $$+$$, $$-$$, $$\times$$, $$\div$$ 等格式
 
 
56
 
57
  3. English Explanation:[用英文重述上述中文解釋的內容]
58
  - 使用相同的 LaTeX 格式來表示數學式
59
  - 例如:If $$b^y = x$$, then $$y$$ is called the logarithm of $$x$$ with base $$b$$, denoted as $$\log_b x$$
 
60
 
61
  4. 數學使用場景:[說明在哪些數學情境會使用到這個詞]
62
- - 包含具體的數學公式例子
63
- - 例如:換底公式 $$\log_a x = \frac{\log_c x}{\log_c a}$$
64
 
65
  5. Mathematical Context:[用英文重述使用場景]
66
  - 保持相同的 LaTeX 數學式格式
 
67
 
68
- 注意:所有數學符號、變數和公式都必須用 $$...$$ 包覆,以確保正確渲染。"""
 
 
 
 
 
69
  },
70
  {
71
  "role": "user",
@@ -94,25 +103,29 @@ def generate_example(name, word):
94
  "content": """你是一個數學教師。請按照以下格式提供例句:
95
 
96
  1. 英文例句:[寫出一個數學相關的英文例句]
97
- - 數學公式必須用 $$...$$ 包覆
98
- - 例如:The solution to the equation $$\log_2 x = 3$$ is $$x = 8$$
99
 
100
  2. 中文翻譯:[該例句的中文翻譯]
101
  - 保持相同的 LaTeX 數學式格式
 
102
  - 例如:方程式 $$\log_2 x = 3$$ 的解為 $$x = 8$$
103
 
104
  3. 句子解釋:[用中文解釋這個例句中的數學概念]
105
- - 所有數學符號和公式都需要用 LaTeX 格式
106
- - 例如: $$x = 8$$ 時,$$2^3 = 8$$,所以 $$\log_2 8 = 3$$
107
 
108
  4. Sentence Explanation:[用英文重述上述解釋]
109
  - 保持相同的 LaTeX 數學式格式
 
110
 
111
- 注意:
112
  1. 所有數學符號、變數和公式都必須用 $$...$$ 包覆
113
- 2. 使用 $$\times$$ 代替 * 號
114
- 3. 使用 $$\div$$ 代替 /
115
- 4. 分數使用 $$\frac{分子}{分母}$$ 格式"""
 
 
116
  },
117
  {
118
  "role": "user",
@@ -141,13 +154,17 @@ def chat_response(name, message, chat_history):
141
  "content": """你是一個高中數學老師,使用的語言是英文。學生用中文問妳任何字彙,你都可以告訴他那個中文對應的英文和例句,以及在數學上的可能用法以及數學例題和解法。
142
  說明數學上的可能用法時,先用中文講一遍再用B1程度的英文複述一遍。
143
 
144
- 注意
145
  1. 所有數學公式都要用 LaTeX 格式書寫(使用 $$...$$ 符號包覆)
146
- 2. 使用 $$x$$, $$y$$, $$a$$, $$b$$ 等格
147
- 3. 運算符號使用 $$+$$, $$-$$, $$\times$$, $$\div$$ 等格式
148
- 4. 分數使用 $$\frac{分子}{分母}$$ 格式
149
- 5. 示範解題時,每個步驟都要清楚標示,並搭配 LaTeX 數學
150
- 6. 回答要有條理,適使用換行來分隔不同段落"""
 
 
 
 
151
  }
152
  ]
153
 
@@ -181,13 +198,15 @@ def respond(name, message, history):
181
  custom_css = """
182
  .math-container .katex {
183
  font-size: 1.1em;
 
184
  }
185
  .input-box {
186
  font-size: 1.1em;
187
  }
188
  .output-box {
189
  font-size: 1.1em;
190
- line-height: 1.5;
 
191
  }
192
  .title {
193
  text-align: center;
@@ -210,6 +229,13 @@ custom_css = """
210
  .bot-message {
211
  background-color: #edf2f7;
212
  }
 
 
 
 
 
 
 
213
  """
214
 
215
  # Create Gradio interface
@@ -240,7 +266,7 @@ with gr.Blocks(css=custom_css) as demo:
240
  output_text = gr.Markdown(
241
  label="翻譯結果 | Translation Result",
242
  value="翻譯結果將在這裡顯示... | Translation results will be displayed here...",
243
- elem_classes=["output-box", "math-container"]
244
  )
245
 
246
  translate_btn.click(translate_to_english, inputs=[name_input, word_input], outputs=output_text)
@@ -252,7 +278,7 @@ with gr.Blocks(css=custom_css) as demo:
252
  elem_id="chatbot",
253
  bubble_full_width=False,
254
  avatar_images=("👨‍🎓", "👨‍🏫"),
255
- elem_classes=["math-container"]
256
  )
257
 
258
  msg = gr.Textbox(
 
49
  1. 英文翻譯:[列出數學相關的英文翻譯]
50
 
51
  2. 中文解釋:[用中文詳細解釋這個詞在數學上的意義]
52
+ - 在解釋中的數學式要用 LaTeX 格式,並且確保數學式與文字在同一行
53
+ - 正確範例:若 $$b^y = x$$,則 $$y$$ 稱為 $$x$$ 以 $$b$$ 為底的對數,記為 $$\log_b x$$
54
  - 變數請使用 $$x$$, $$y$$, $$a$$, $$b$$ 等格式
55
  - 運算符號請用 $$+$$, $$-$$, $$\times$$, $$\div$$ 等格式
56
+ - 不要在數學式前後使用換行
57
+ - 如果需要換行,確保完整的數學表達式在同一行
58
 
59
  3. English Explanation:[用英文重述上述中文解釋的內容]
60
  - 使用相同的 LaTeX 格式來表示數學式
61
  - 例如:If $$b^y = x$$, then $$y$$ is called the logarithm of $$x$$ with base $$b$$, denoted as $$\log_b x$$
62
+ - 保持數學式與周圍文字在同一行
63
 
64
  4. 數學使用場景:[說明在哪些數學情境會使用到這個詞]
65
+ - 包含具體的數學公式例子,確保公式與文字在同一行
66
+ - 例如:換底公式 $$\log_a x = \frac{\log_c x}{\log_c a}$$,這個公式在計算時很有用
67
 
68
  5. Mathematical Context:[用英文重述使用場景]
69
  - 保持相同的 LaTeX 數學式格式
70
+ - 確保公式與文字的連續性
71
 
72
+ 格式注意事項
73
+ 1. 所有數學符號、變數和公式都必須用 $$...$$ 包覆
74
+ 2. 數學式不應該單獨佔一行,應該與說明文字在同一行
75
+ 3. 避免在數學式前後使用換行符
76
+ 4. 較長的句子可以換行,但要確保每個數學式都完整地在同一行內
77
+ 5. 如果有公式推導,相關的公式應該保持在同一行"""
78
  },
79
  {
80
  "role": "user",
 
103
  "content": """你是一個數學教師。請按照以下格式提供例句:
104
 
105
  1. 英文例句:[寫出一個數學相關的英文例句]
106
+ - 數學公式必須用 $$...$$ 包覆,並與文字在同一行
107
+ - 例如:The equation $$\log_2 x = 3$$ has the solution $$x = 8$$
108
 
109
  2. 中文翻譯:[該例句的中文翻譯]
110
  - 保持相同的 LaTeX 數學式格式
111
+ - 確保數學式與文字在同一行
112
  - 例如:方程式 $$\log_2 x = 3$$ 的解為 $$x = 8$$
113
 
114
  3. 句子解釋:[用中文解釋這個例句中的數學概念]
115
+ - 所有數學符號和公式都需要用 LaTeX 格式,並與文字在同一行
116
+ - 例如:因為 $$2^3 = 8$$,所以我們可以說 $$\log_2 8 = 3$$
117
 
118
  4. Sentence Explanation:[用英文重述上述解釋]
119
  - 保持相同的 LaTeX 數學式格式
120
+ - 確保所有數學式與文字在同一行
121
 
122
+ 注意事項
123
  1. 所有數學符號、變數和公式都必須用 $$...$$ 包覆
124
+ 2. 數學式必須與說明文字在同一行,不能單獨成行
125
+ 3. 使用 $$\times$$ 代替 *
126
+ 4. 使用 $$\div$$ 代替 / 號
127
+ 5. 分數使用 $$\frac{分子}{分母}$$ 格式
128
+ 6. 避免在數學式前後使用換行"""
129
  },
130
  {
131
  "role": "user",
 
154
  "content": """你是一個高中數學老師,使用的語言是英文。學生用中文問妳任何字彙,你都可以告訴他那個中文對應的英文和例句,以及在數學上的可能用法以及數學例題和解法。
155
  說明數學上的可能用法時,先用中文講一遍再用B1程度的英文複述一遍。
156
 
157
+ 格式要求
158
  1. 所有數學公式都要用 LaTeX 格式書寫(使用 $$...$$ 符號包覆)
159
+ 2. 數必須與文字在同一行,不能單獨成行
160
+ 3. 變數使用 $$x$$, $$y$$, $$a$$, $$b$$ 等格式
161
+ 4. 運算符號使用 $$+$$, $$-$$, $$\times$$, $$\div$$ 等格式
162
+ 5. 分數使用 $$\frac{分子}{分母}$$
163
+ 6. 示範解題
164
+ - 每個步驟的說明文字和數學式要在同一行
165
+ - 不要在數學式前後使用換行
166
+ - 確保完整的數學表達式在同一行內
167
+ 7. 回答要有條理,適時使用換行來分隔不同段落,但確保每個段落中的數學式不被斷開"""
168
  }
169
  ]
170
 
 
198
  custom_css = """
199
  .math-container .katex {
200
  font-size: 1.1em;
201
+ white-space: normal;
202
  }
203
  .input-box {
204
  font-size: 1.1em;
205
  }
206
  .output-box {
207
  font-size: 1.1em;
208
+ line-height: 1.6;
209
+ white-space: pre-line;
210
  }
211
  .title {
212
  text-align: center;
 
229
  .bot-message {
230
  background-color: #edf2f7;
231
  }
232
+ .contains-math {
233
+ white-space: normal !important;
234
+ }
235
+ .math-inline {
236
+ display: inline-block;
237
+ margin: 0 0.2em;
238
+ }
239
  """
240
 
241
  # Create Gradio interface
 
266
  output_text = gr.Markdown(
267
  label="翻譯結果 | Translation Result",
268
  value="翻譯結果將在這裡顯示... | Translation results will be displayed here...",
269
+ elem_classes=["output-box", "math-container", "contains-math"]
270
  )
271
 
272
  translate_btn.click(translate_to_english, inputs=[name_input, word_input], outputs=output_text)
 
278
  elem_id="chatbot",
279
  bubble_full_width=False,
280
  avatar_images=("👨‍🎓", "👨‍🏫"),
281
+ elem_classes=["math-container", "contains-math"]
282
  )
283
 
284
  msg = gr.Textbox(