lily-math-rag / test_text.py
gbrabbit's picture
Auto commit at 07-2025-08 4:43:48
b9ecb65
raw
history blame
3.6 kB
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}")