tkdehf2 commited on
Commit
2ae6f39
ยท
verified ยท
1 Parent(s): 6943c1e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -17
app.py CHANGED
@@ -2,24 +2,24 @@ import gradio as gr
2
  import pytesseract
3
  from PIL import Image
4
 
5
- # Tesseract OCR ๊ฒฝ๋กœ ์„ค์ • (Hugging Face Spaces์—์„œ๋Š” ๊ธฐ๋ณธ ์„ค์น˜๋œ Tesseract ์‚ฌ์šฉ)
6
  pytesseract.pytesseract.tesseract_cmd = "/usr/bin/tesseract"
7
 
8
- # ๋ฃจ๋ธŒ๋ฆญ ๊ธฐ๋ฐ˜ ํ‰๊ฐ€ ํ•จ์ˆ˜
9
  def evaluate_solution(image):
10
  """
11
- ์†๊ธ€์”จ ์ด๋ฏธ์ง€๋ฅผ ๋ฐ›์•„ OCR๋กœ ํ…์ŠคํŠธ๋ฅผ ์ถ”์ถœํ•˜๊ณ ,
12
  ์„ฑ์ทจ๊ธฐ์ค€์— ๋”ฐ๋ผ ํ‰๊ฐ€ ๋ฐ ํ”ผ๋“œ๋ฐฑ์„ ์ œ๊ณตํ•˜๋Š” ํ•จ์ˆ˜.
13
  """
14
  try:
15
  # OCR๋กœ ์ด๋ฏธ์ง€์—์„œ ํ…์ŠคํŠธ ์ถ”์ถœ
16
  extracted_text = pytesseract.image_to_string(image, lang="kor")
17
 
18
- # ์ดˆ๊ธฐ ์ ์ˆ˜ ๋ฐ ํ”ผ๋“œ๋ฐฑ ์„ค์ •
19
  score = 0
20
  feedback = []
21
 
22
- # ํ‰๊ฐ€ ๊ธฐ์ค€ ์˜ˆ์‹œ (6ํ•™๋…„ ์ˆ˜ํ•™ ์„ฑ์ทจ๊ธฐ์ค€ ๊ธฐ๋ฐ˜)
23
  if "ํ˜ผํ•ฉ ๊ณ„์‚ฐ" in extracted_text:
24
  feedback.append("ํ˜ผํ•ฉ ๊ณ„์‚ฐ ํ’€์ด๊ฐ€ ํฌํ•จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.")
25
  score += 30
@@ -38,19 +38,12 @@ def evaluate_solution(image):
38
  else:
39
  feedback.append("๋ถ„์ˆ˜ ๋˜๋Š” ์†Œ์ˆ˜ ์—ฐ์‚ฐ์ด ๋ˆ„๋ฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.")
40
 
41
- # ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜
42
- return {
43
- "์ถ”์ถœ๋œ ํ…์ŠคํŠธ": extracted_text,
44
- "์ ์ˆ˜": score,
45
- "ํ”ผ๋“œ๋ฐฑ": "\n".join(feedback)
46
- }
47
 
48
  except Exception as e:
49
- return {
50
- "์ถ”์ถœ๋œ ํ…์ŠคํŠธ": "",
51
- "์ ์ˆ˜": 0,
52
- "ํ”ผ๋“œ๋ฐฑ": f"์˜ค๋ฅ˜ ๋ฐœ์ƒ: {str(e)}"
53
- }
54
 
55
  # Gradio ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌ์„ฑ
56
  with gr.Blocks() as demo:
@@ -69,5 +62,5 @@ with gr.Blocks() as demo:
69
  outputs=[output_text, output_score, output_feedback]
70
  )
71
 
72
- # ์‹คํ–‰
73
  demo.launch()
 
2
  import pytesseract
3
  from PIL import Image
4
 
5
+ # Tesseract ๊ฒฝ๋กœ ์„ค์ • (Hugging Face Spaces์—์„œ๋Š” ๊ธฐ๋ณธ ์„ค์น˜๋œ Tesseract ์‚ฌ์šฉ)
6
  pytesseract.pytesseract.tesseract_cmd = "/usr/bin/tesseract"
7
 
8
+ # ํ‰๊ฐ€ ํ•จ์ˆ˜ ์ •์˜
9
  def evaluate_solution(image):
10
  """
11
+ ์—…๋กœ๋“œ๋œ ์†๊ธ€์”จ ์ด๋ฏธ์ง€๋ฅผ OCR๋กœ ํ…์ŠคํŠธ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ ,
12
  ์„ฑ์ทจ๊ธฐ์ค€์— ๋”ฐ๋ผ ํ‰๊ฐ€ ๋ฐ ํ”ผ๋“œ๋ฐฑ์„ ์ œ๊ณตํ•˜๋Š” ํ•จ์ˆ˜.
13
  """
14
  try:
15
  # OCR๋กœ ์ด๋ฏธ์ง€์—์„œ ํ…์ŠคํŠธ ์ถ”์ถœ
16
  extracted_text = pytesseract.image_to_string(image, lang="kor")
17
 
18
+ # ์ดˆ๊ธฐ ์ ์ˆ˜์™€ ํ”ผ๋“œ๋ฐฑ ์„ค์ •
19
  score = 0
20
  feedback = []
21
 
22
+ # ์˜ˆ์‹œ: 6ํ•™๋…„ ์ˆ˜ํ•™ ์„ฑ์ทจ๊ธฐ์ค€ ๊ธฐ๋ฐ˜ ํ‰๊ฐ€ (ํ˜ผํ•ฉ ๊ณ„์‚ฐ, ์•ฝ์ˆ˜์™€ ๋ฐฐ์ˆ˜, ๋ถ„์ˆ˜์™€ ์†Œ์ˆ˜ ์—ฐ์‚ฐ)
23
  if "ํ˜ผํ•ฉ ๊ณ„์‚ฐ" in extracted_text:
24
  feedback.append("ํ˜ผํ•ฉ ๊ณ„์‚ฐ ํ’€์ด๊ฐ€ ํฌํ•จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.")
25
  score += 30
 
38
  else:
39
  feedback.append("๋ถ„์ˆ˜ ๋˜๋Š” ์†Œ์ˆ˜ ์—ฐ์‚ฐ์ด ๋ˆ„๋ฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.")
40
 
41
+ # ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜ (ํ…์ŠคํŠธ, ์ ์ˆ˜, ํ”ผ๋“œ๋ฐฑ)
42
+ return extracted_text, score, "\n".join(feedback)
 
 
 
 
43
 
44
  except Exception as e:
45
+ # ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์‹œ ๊ธฐ๋ณธ๊ฐ’ ๋ฐ˜ํ™˜
46
+ return "", 0, f"์˜ค๋ฅ˜ ๋ฐœ์ƒ: {str(e)}"
 
 
 
47
 
48
  # Gradio ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌ์„ฑ
49
  with gr.Blocks() as demo:
 
62
  outputs=[output_text, output_score, output_feedback]
63
  )
64
 
65
+ # ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰
66
  demo.launch()