Spaces:
Sleeping
Sleeping
| # app.py | |
| import gradio as gr | |
| from emotion_predictor import analyze_dialogue | |
| INTRO = """\ | |
| κ°μ νλ¦ μμΈ‘ + κΈλ³ νμ§ + κ°λ± μ λ°μ μΆμ λ°λͺ¨ | |
| μ λ ₯ νμ: μ€λ§λ€ "νμ:λ¬Έμ₯" | |
| μ) | |
| A: λ μ λ λ¦μμ΄? | |
| B: λ―Έμν΄, μ°¨κ° λ§νμ΄. | |
| A: λ³λͺ νμ§ λ§. | |
| B: λ μ§μ§ μ μ΄λ? | |
| """ | |
| def run_pipeline(text, alpha, z, steps): | |
| report, img_b64, struct = analyze_dialogue( | |
| text, | |
| smooth_alpha=alpha, | |
| z_thresh=z, | |
| forecast_steps=steps | |
| ) | |
| img_md = f"" if img_b64 else "" | |
| return report, img_md, str(struct) | |
| with gr.Blocks() as demo: | |
| gr.Markdown("# λν κ°μ λΆμΒ·μμΈ‘Β·κ°λ± νλ¨") | |
| gr.Markdown(INTRO) | |
| with gr.Row(): | |
| text = gr.Textbox( | |
| label="λν μ λ ₯", | |
| lines=12, | |
| value="A: λ μ λ λ¦μμ΄?\nB: λ―Έμν΄, μ°¨κ° λ§νμ΄.\nA: λ³λͺ νμ§ λ§.\nB: λ μ§μ§ μ μ΄λ?" | |
| ) | |
| with gr.Column(): | |
| alpha = gr.Slider(0.1, 0.9, value=0.4, step=0.05, label="EMA Ξ±(μ€λ¬΄λ© κ°λ)") | |
| z = gr.Slider(1.0, 3.0, value=1.8, step=0.1, label="κΈλ³ Z μκ³κ°") | |
| steps = gr.Slider(1, 6, value=3, step=1, label="μμΈ‘ ν΄ μ") | |
| btn = gr.Button("λΆμ μ€ν") | |
| report = gr.Textbox(label="리ν¬νΈ", lines=18) | |
| img = gr.Markdown() | |
| struct = gr.Textbox(label="λλ²κ·Έ/ꡬ쑰 λ°μ΄ν°", lines=10) | |
| # REST λ ΈμΆμ μν΄ api_name μ μ§ | |
| btn.click( | |
| run_pipeline, | |
| inputs=[text, alpha, z, steps], | |
| outputs=[report, img, struct], | |
| api_name="predict" | |
| ) | |
| if __name__ == "__main__": | |
| # Gradio λ²μ μ°¨μ΄λ₯Ό ν‘μνλ queue() νΈμΆ | |
| try: | |
| # gradio>=4 κ³μ΄ | |
| demo.queue(default_concurrency_limit=1, max_size=128) | |
| except TypeError: | |
| try: | |
| # μΌλΆ 3.x κ³μ΄ | |
| demo.queue(concurrency_count=1, max_size=128) | |
| except TypeError: | |
| # λ ꡬλ²μ : μΈμ μμ΄ | |
| demo.queue() | |
| demo.launch(server_name="0.0.0.0", server_port=7860, show_error=True) |