Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -267,11 +267,17 @@ def generate_real_results(name, height, weight, age, gender, symptom, df_disease
|
|
| 267 |
df_meals_out.update(df_meals)
|
| 268 |
download_btn.update(value=pdf_path, visible=True)
|
| 269 |
|
| 270 |
-
|
| 271 |
-
|
| 272 |
-
|
| 273 |
-
|
| 274 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 275 |
|
| 276 |
# --------------------
|
| 277 |
# Gradio UI
|
|
@@ -303,12 +309,11 @@ with gr.Blocks() as demo:
|
|
| 303 |
df_meals_out = gr.Dataframe(label="中式 / 西式 餐點對照", interactive=False)
|
| 304 |
download_btn = gr.DownloadButton(label="一鍵下載 PDF", visible=False, elem_classes=["orange-btn"])
|
| 305 |
|
| 306 |
-
|
| 307 |
submit_btn.click(
|
| 308 |
fn=on_submit,
|
| 309 |
inputs=[name, height, weight, age, gender, symptom],
|
| 310 |
outputs=[df_disease_out, df_nutrition_out, df_meals_out, download_btn],
|
| 311 |
-
)
|
| 312 |
|
| 313 |
if __name__ == "__main__":
|
| 314 |
demo.launch()
|
|
|
|
| 267 |
df_meals_out.update(df_meals)
|
| 268 |
download_btn.update(value=pdf_path, visible=True)
|
| 269 |
|
| 270 |
+
def on_submit(name, height, weight, age, gender, symptom):
|
| 271 |
+
# 直接呼叫 GPT
|
| 272 |
+
raw_text = call_gpt_system(f"""你是一位專業營養師...
|
| 273 |
+
姓名: {name}, 性別: {gender}, 年齡: {age}, 身高: {height}, 體重: {weight}, 症狀: {symptom}""")
|
| 274 |
+
|
| 275 |
+
df_disease, df_nutrition, df_meals = robust_parse(raw_text)
|
| 276 |
+
pdf_path = generate_pdf_file(df_disease, df_nutrition, df_meals,
|
| 277 |
+
{"name": name, "gender": gender, "age": age, "height": height, "weight": weight})
|
| 278 |
+
|
| 279 |
+
return df_disease, df_nutrition, df_meals, gr.update(value=pdf_path, visible=True)
|
| 280 |
+
|
| 281 |
|
| 282 |
# --------------------
|
| 283 |
# Gradio UI
|
|
|
|
| 309 |
df_meals_out = gr.Dataframe(label="中式 / 西式 餐點對照", interactive=False)
|
| 310 |
download_btn = gr.DownloadButton(label="一鍵下載 PDF", visible=False, elem_classes=["orange-btn"])
|
| 311 |
|
|
|
|
| 312 |
submit_btn.click(
|
| 313 |
fn=on_submit,
|
| 314 |
inputs=[name, height, weight, age, gender, symptom],
|
| 315 |
outputs=[df_disease_out, df_nutrition_out, df_meals_out, download_btn],
|
| 316 |
+
).queue(concurrency_count=1, api_open=False)
|
| 317 |
|
| 318 |
if __name__ == "__main__":
|
| 319 |
demo.launch()
|