File size: 3,595 Bytes
b9ecb65
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
import os
from gradio_client import Client, file

# --- ์„ค์ • ---
# ๋กœ์ปฌ Gradio ์„œ๋ฒ„ ์ฃผ์†Œ (app.py ์‹คํ–‰ ์‹œ ํ„ฐ๋ฏธ๋„์— ํ‘œ์‹œ๋˜๋Š” ์ฃผ์†Œ)
SERVER_URL = "http://localhost:8006/"

def run_chat_test(client):
    """์ผ๋ฐ˜ ์ฑ„ํŒ… ํƒญ์˜ ๊ธฐ๋Šฅ์„ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค."""
    print("\n--- ๐Ÿ’ฌ ์ผ๋ฐ˜ ์ฑ„ํŒ… ํ…Œ์ŠคํŠธ ์‹œ์ž‘ ---")
    
    test_message = "์•ˆ๋…•ํ•˜์„ธ์š”! ์˜ค๋Š˜ ๋‚ ์”จ๋Š” ์–ด๋–ค๊ฐ€์š”?"
    chat_history = []  # ์ดˆ๊ธฐ ๋Œ€ํ™” ๋‚ด์—ญ์€ ๋น„์–ด์žˆ์Œ
    
    print(f"๋ณด๋‚ด๋Š” ๋ฉ”์‹œ์ง€: '{test_message}'")
    
    # `respond` ํ•จ์ˆ˜ ํ˜ธ์ถœ (API ์—”๋“œํฌ์ธํŠธ ์ธ๋ฑ์Šค: 0)
    # ์ž…๋ ฅ: (๋ฉ”์‹œ์ง€, ์ฑ„ํŒ… ๋‚ด์—ญ, ํŒŒ์ผ)
    # ์ถœ๋ ฅ: (๋น„์›Œ์ง„ ํ…์ŠคํŠธ ๋ฐ•์Šค, ๊ฐฑ์‹ ๋œ ์ฑ„ํŒ… ๋‚ด์—ญ)
    result = client.predict(
        test_message,
        chat_history,
        None,  # ํŒŒ์ผ ์—†์Œ
        fn_index=0
    )
    
    # ๊ฐฑ์‹ ๋œ ์ฑ„ํŒ… ๋‚ด์—ญ์—์„œ ๋งˆ์ง€๋ง‰ ์‘๋‹ต(๋ด‡ ๋ฉ”์‹œ์ง€)์„ ์ถ”์ถœ
    updated_history = result[1]
    bot_response = updated_history[-1]['content']
    
    print("โœ… ํ…Œ์ŠคํŠธ ์„ฑ๊ณต!")
    print(f"๐Ÿค– ๋ฐ›์€ ์‘๋‹ต: '{bot_response}'")

def run_math_test(client):
    """์ˆ˜ํ•™ ๋ฌธ์ œ ํ•ด๊ฒฐ ํƒญ์˜ ๊ธฐ๋Šฅ์„ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค."""
    print("\n--- ๐Ÿงฎ ์ˆ˜ํ•™ ๋ฌธ์ œ ํ•ด๊ฒฐ ํ…Œ์ŠคํŠธ ์‹œ์ž‘ ---")
    
    test_problem = "๋‘ ๊ฐœ์˜ ์—ฐ์†๋œ ์ง์ˆ˜์˜ ํ•ฉ์ด 34์ผ ๋•Œ, ๋‘ ์ง์ˆ˜๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?"
    
    print(f"๋ณด๋‚ด๋Š” ๋ฌธ์ œ: '{test_problem}'")
    
    # ์ˆ˜ํ•™ ๋ฌธ์ œ ํ•ด๊ฒฐ ํ•จ์ˆ˜ ํ˜ธ์ถœ (API ์—”๋“œํฌ์ธํŠธ ์ธ๋ฑ์Šค: 1)
    # ์ž…๋ ฅ: (์ˆ˜ํ•™ ๋ฌธ์ œ, ํŒŒ์ผ)
    # ์ถœ๋ ฅ: (๊ฒฐ๊ณผ ํ…์ŠคํŠธ)
    result = client.predict(
        test_problem,
        None,  # ํŒŒ์ผ ์—†์Œ
        fn_index=1
    )
    
    print("โœ… ํ…Œ์ŠคํŠธ ์„ฑ๊ณต!")
    print(f"๐Ÿค– ๋ฐ›์€ ์‘๋‹ต (์ผ๋ถ€): '{result[:200]}...'")

def run_file_test(client):
    """ํŒŒ์ผ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ์„ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค."""
    print("\n--- ๐Ÿ“ ํŒŒ์ผ ์—…๋กœ๋“œ ์ฑ„ํŒ… ํ…Œ์ŠคํŠธ ์‹œ์ž‘ ---")

    # ํ…Œ์ŠคํŠธ์šฉ ์ž„์‹œ ํ…์ŠคํŠธ ํŒŒ์ผ ์ƒ์„ฑ
    temp_file_path = "test_document.txt"
    with open(temp_file_path, "w", encoding="utf-8") as f:
        f.write("์ด ํŒŒ์ผ์€ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.\n")
        f.write("ํŒŒ์ผ์˜ ํ•ต์‹ฌ ๋‚ด์šฉ์€ '๋Œ€ํ•œ๋ฏผ๊ตญ์˜ ์ˆ˜๋„๋Š” ์„œ์šธ์ด๋‹ค' ์ž…๋‹ˆ๋‹ค.")
    
    print(f"์—…๋กœ๋“œํ•  ํŒŒ์ผ: '{temp_file_path}'")
    test_message = "์—…๋กœ๋“œํ•œ ํŒŒ์ผ์˜ ํ•ต์‹ฌ ๋‚ด์šฉ์ด ๋ญ์•ผ?"
    print(f"๋ณด๋‚ด๋Š” ๋ฉ”์‹œ์ง€: '{test_message}'")

    # `file()` ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ์„ ์„œ๋ฒ„์— ์—…๋กœ๋“œ ๊ฐ€๋Šฅํ•œ ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜
    result = client.predict(
        test_message,
        [], # ์ฑ„ํŒ… ๋‚ด์—ญ ์—†์Œ
        file(temp_file_path),
        fn_index=0
    )

    # ์ž„์‹œ ํŒŒ์ผ ์‚ญ์ œ
    os.remove(temp_file_path)

    bot_response = result[1][-1]['content']
    print("โœ… ํ…Œ์ŠคํŠธ ์„ฑ๊ณต!")
    print(f"๐Ÿค– ๋ฐ›์€ ์‘๋‹ต: '{bot_response}'")


if __name__ == "__main__":
    print(f"Gradio ์„œ๋ฒ„({SERVER_URL})์— ์—ฐ๊ฒฐ์„ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค...")
    
    try:
        # ์„œ๋ฒ„์— ํด๋ผ์ด์–ธํŠธ๋กœ ์—ฐ๊ฒฐ
        client = Client(SERVER_URL, verbose=False)
        print("โœ… ์„œ๋ฒ„ ์—ฐ๊ฒฐ ์„ฑ๊ณต!")
        
        # ํ…Œ์ŠคํŠธ ์‹คํ–‰
        run_chat_test(client)
        run_math_test(client)
        # run_file_test(client) # ํŒŒ์ผ ํ…Œ์ŠคํŠธ๋Š” ํ•„์š”์‹œ ์ฃผ์„ ํ•ด์ œํ•˜์—ฌ ์‚ฌ์šฉ

    except Exception as e:
        print(f"\nโŒ ํ…Œ์ŠคํŠธ ์‹คํŒจ: ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†๊ฑฐ๋‚˜ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.")
        print("๋จผ์ € ๋‹ค๋ฅธ ํ„ฐ๋ฏธ๋„์—์„œ 'python app.py'๋ฅผ ์‹คํ–‰ํ–ˆ๋Š”์ง€ ํ™•์ธํ•ด์ฃผ์„ธ์š”.")
        print(f"์˜ค๋ฅ˜ ์ƒ์„ธ ์ •๋ณด: {e}")