youngtsai commited on
Commit
8e3c243
·
1 Parent(s): e22a348

model_1 = gr.Textbox(label="Model 1", value="gpt-4-0125-preview")

Browse files
Files changed (1) hide show
  1. app.py +32 -17
app.py CHANGED
@@ -39,7 +39,7 @@ def validate_article(generated_article, lesson_words, base_chars, original_word_
39
  word_count_error = not (0.9 * original_word_count <= new_word_count <= 1.1 * original_word_count)
40
  return not_every_new_word_is_used, word_out_of_range, word_count_error
41
 
42
- def generate_new_article(lesson_words, original_article, original_word_count, base_chars):
43
  attempt = 0
44
  max_attempts = 3
45
  generated_article = ""
@@ -70,7 +70,7 @@ def generate_new_article(lesson_words, original_article, original_word_count, ba
70
  """
71
 
72
  response = openai_client.chat.completions.create(
73
- model="gpt-4-0125-preview",
74
  messages=[
75
  {"role": "system", "content": "You are a creative writer specialized in Chinese Children book. You will help me write Chinese Articles."},
76
  {"role": "user", "content": prompt}
@@ -112,32 +112,47 @@ def load_csv(file):
112
  return "", "", 0, ""
113
 
114
  with gr.Blocks() as demo:
115
- gr.Markdown("import CSV file to load data.")
116
- csv_file_input = gr.File(label="Upload CSV file (Columns: lesson_words, original_article, original_word_count, base_chars)")
117
- load_button = gr.Button("Load from CSV")
118
-
119
- gr.Markdown("validate the article and generate new article.")
120
- lesson_words_input = gr.Textbox(label="Lesson Words (以空格分隔)")
121
- original_article_input = gr.Textbox(label="Original Article")
122
- original_word_count_input = gr.Number(label="Original Word Count")
123
- base_chars_input = gr.Textbox(label="Base Characters")
124
- generate_button = gr.Button("Generate Article")
125
 
126
- gr.Markdown("Generated Article")
127
- output_text = gr.Textbox(label="Generated Article")
 
 
128
 
129
- generate_button.click(
 
 
 
 
 
 
 
 
 
 
 
130
  generate_new_article,
131
- inputs=[lesson_words_input, original_article_input, original_word_count_input, base_chars_input],
132
- outputs=output_text
133
  )
134
 
 
135
  load_button.click(
136
  load_csv,
137
  inputs=[csv_file_input],
138
  outputs=[lesson_words_input, original_article_input, original_word_count_input, base_chars_input]
139
  )
140
 
 
141
  demo.launch()
142
 
143
 
 
 
39
  word_count_error = not (0.9 * original_word_count <= new_word_count <= 1.1 * original_word_count)
40
  return not_every_new_word_is_used, word_out_of_range, word_count_error
41
 
42
+ def generate_new_article(lesson_words, original_article, original_word_count, base_chars, model_name):
43
  attempt = 0
44
  max_attempts = 3
45
  generated_article = ""
 
70
  """
71
 
72
  response = openai_client.chat.completions.create(
73
+ model=model_name,
74
  messages=[
75
  {"role": "system", "content": "You are a creative writer specialized in Chinese Children book. You will help me write Chinese Articles."},
76
  {"role": "user", "content": prompt}
 
112
  return "", "", 0, ""
113
 
114
  with gr.Blocks() as demo:
115
+ with gr.Row():
116
+ gr.Markdown("import CSV file to load data.")
117
+ csv_file_input = gr.File(label="Upload CSV file (Columns: lesson_words, original_article, original_word_count, base_chars)")
118
+ load_button = gr.Button("Load from CSV")
119
+ with gr.Row():
120
+ lesson_words_input = gr.Textbox(label="Lesson Words")
121
+ original_article_input = gr.Textbox(label="Original Article")
122
+ original_word_count_input = gr.Number(label="Original Word Count")
123
+ base_chars_input = gr.Textbox(label="Base Characters")
 
124
 
125
+ with gr.Row():
126
+ model_1 = gr.Textbox(label="Model 1", value="gpt-4-0125-preview")
127
+ generate_button1 = gr.Button("Generate Article - gpt-4-0125-preview")
128
+ output_text1 = gr.Textbox(label="Generated Article - gpt-4-0125-preview")
129
 
130
+ model_2 = gr.Textbox(label="Model 2", value="gpt-3.5-turbo")
131
+ generate_button2 = gr.Button("Generate Article - gpt-3.5-turbo")
132
+ output_text2 = gr.Textbox(label="Generated Article - gpt-3.5-turbo")
133
+ # 為其他模型添加更多輸出文本框
134
+
135
+ generate_button1.click(
136
+ generate_new_article,
137
+ inputs=[lesson_words_input, original_article_input, original_word_count_input, base_chars_input, model_1],
138
+ outputs=output_text1
139
+ )
140
+
141
+ generate_button2.click(
142
  generate_new_article,
143
+ inputs=[lesson_words_input, original_article_input, original_word_count_input, base_chars_input, model_2],
144
+ outputs=output_text2
145
  )
146
 
147
+ # 為其他模型添加點擊事件
148
  load_button.click(
149
  load_csv,
150
  inputs=[csv_file_input],
151
  outputs=[lesson_words_input, original_article_input, original_word_count_input, base_chars_input]
152
  )
153
 
154
+
155
  demo.launch()
156
 
157
 
158
+