File size: 2,100 Bytes
2249ab6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import gradio as gr
from case_loader import get_case_names, load_case, run_case

def build_ui():
    with gr.Blocks(theme=gr.themes.Soft(primary_hue="blue", secondary_hue="purple")) as demo:
        # ์ƒ๋‹จ ์†Œ๊ฐœ
        gr.Markdown("""
        # ๐Ÿ‘พ PersonaChatEngine HF-Serve
        **๊ฒŒ์ž„ ๋‚ด NPC ๋ฉ”์ธ ๋ชจ๋ธ ์ถ”๋ก  ์„œ๋ฒ„**  
        Qwen 3B ๊ธฐ๋ฐ˜ LoRA ํŒŒ์ธํŠœ๋‹ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ NPC ๋Œ€์‚ฌ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
        """)

        with gr.Row():
            gr.Button("๐Ÿ“„ ์ƒ์„ธ ๋ฌธ์„œ ๋ณด๊ธฐ",
                      link="https://huggingface.co/spaces/m97j/PersonaChatEngine_HF-serve/blob/main/README.md")
            gr.Button("๐Ÿ’ป Colab ํ…Œ์ŠคํŠธ ์—ด๊ธฐ",
                      link="https://colab.research.google.com/drive/1_-qH8kdoU2Jj58TdaSnswHex-BFefInq?usp=sharing#scrollTo=cFJGv8BJ8oPD")

        gr.Markdown("### ๐ŸŽฏ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ๊ธฐ๋ฐ˜ ๊ฐ„๋‹จ ์‹คํ–‰")

        with gr.Row():
            case_dropdown = gr.Dropdown(choices=get_case_names(), label="ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์„ ํƒ", value=get_case_names()[0])
            load_btn = gr.Button("์ผ€์ด์Šค ๋ถˆ๋Ÿฌ์˜ค๊ธฐ")

        case_info = gr.Textbox(label="์ผ€์ด์Šค ์ •๋ณด", lines=10)
        player_input = gr.Textbox(label="Player Utterance ์ˆ˜์ •", lines=2)

        run_btn = gr.Button("๐Ÿš€ Run Inference", variant="primary")
        npc_resp = gr.Textbox(label="NPC Response")
        deltas = gr.JSON(label="Deltas")
        flags = gr.JSON(label="Flags Probabilities")

        load_btn.click(
            fn=lambda name: load_case(get_case_names().index(name)),
            inputs=[case_dropdown],
            outputs=[case_info, player_input]
        )

        run_btn.click(
            fn=lambda name, utt: run_case(get_case_names().index(name), utt),
            inputs=[case_dropdown, player_input],
            outputs=[npc_resp, deltas, flags]
        )

        gr.Markdown("""
        ---
        โš ๏ธ **์‹ค์ œ ๊ฒŒ์ž„ ํŒŒ์ดํ”„๋ผ์ธ ํ…Œ์ŠคํŠธ**๋Š” [ai-server Swagger](https://huggingface.co/spaces/m97j/PersonaChatEngine_ai_server)์—์„œ ์ง„ํ–‰ํ•˜์„ธ์š”.
        """)

    return demo