seawolf2357 commited on
Commit
21048e8
β€’
1 Parent(s): f7f4bea

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +45 -39
app.py CHANGED
@@ -1,40 +1,46 @@
 
1
  import gradio as gr
2
- import requests
3
-
4
- def get_lunar_info(year, month, day, time):
5
- # API URL μ„€μ •
6
- url = "https://api.example.com/get_lunar_info"
7
-
8
- # API에 전달할 데이터 μ„€μ •
9
- data = {
10
- "year": year,
11
- "month": month,
12
- "day": day,
13
- "time": time
14
- }
15
-
16
- # API 호좜
17
- response = requests.post(url, json=data)
18
-
19
- # API 응닡 확인 및 κ²°κ³Ό λ°˜ν™˜
20
- if response.status_code == 200:
21
- return response.json()
22
- else:
23
- return "API ν˜ΈμΆœμ— μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€."
24
-
25
- # Gradio μΈν„°νŽ˜μ΄μŠ€ ꡬ성
26
- with gr.Blocks() as demo:
27
- gr.Markdown("### 생년월일 및 μƒμ‹œ 정보 μž…λ ₯")
28
- year = gr.Textbox(label="생년(예: 1990)")
29
- month = gr.Textbox(label="생월(예: 01)")
30
- day = gr.Textbox(label="생일(예: 31)")
31
- time = gr.Textbox(label="μƒμ‹œ(μ˜ˆμ‹œ: 1030)")
32
-
33
- submit_button = gr.Button("정보 제좜")
34
-
35
- result = gr.Textbox(label="κ²°κ³Ό")
36
-
37
- submit_button.click(fn=get_lunar_info, inputs=[year, month, day, time], outputs=result)
38
-
39
- # Gradio μ•± μ‹€ν–‰
40
- demo.launch()
 
 
 
 
 
 
1
+ # gradio 라이브러리λ₯Ό gr λ³„μΉ­μœΌλ‘œ μž„ν¬νŠΈν•©λ‹ˆλ‹€.
2
  import gradio as gr
3
+ from gradio_client import Client
4
+ import httpx
5
+
6
+ # Client 객체 생성 μ‹œ timeout λ§€κ°œλ³€μˆ˜ 제거
7
+ client = Client("seawolf2357/sajuice")
8
+
9
+
10
+
11
+
12
+ # νƒ€μž„μ•„μ›ƒ 값을 초 λ‹¨μœ„λ‘œ μ„€μ •ν•©λ‹ˆλ‹€. 예: 읽기 νƒ€μž„μ•„μ›ƒμ„ 30초둜 μ„€μ •
13
+ timeout_config = httpx.Timeout(5.0, read=30.0)
14
+
15
+ try:
16
+ # μˆ˜μ •λœ νƒ€μž„μ•„μ›ƒ 섀정을 μ μš©ν•˜μ—¬ ν΄λΌμ΄μ–ΈνŠΈλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.
17
+ client = Client("arxivgpt/sajutest", timeout=timeout_config)
18
+ print("ν΄λΌμ΄μ–ΈνŠΈκ°€ μ„±κ³΅μ μœΌλ‘œ μƒμ„±λ˜μ—ˆμŠ΅λ‹ˆλ‹€.")
19
+ except httpx.ReadTimeout:
20
+ print("μš”μ²­ μ‹œκ°„ 초과: μ„œλ²„κ°€ μ§€μ •λœ μ‹œκ°„ 내에 μ‘λ‹΅ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.")
21
+ except Exception as e:
22
+ print(f"μ˜ˆμƒμΉ˜ λͺ»ν•œ 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€: {e}")
23
+
24
+
25
+ def call_api(생년, 생월, 생일, μƒμ‹œ):
26
+ # APIλ₯Ό ν˜ΈμΆœν•˜κ³  응닡값을 λ°›μŠ΅λ‹ˆλ‹€.
27
+ result = client.predict(
28
+ 생년, # '생년(예: 1990)'에 λŒ€ν•œ μž…λ ₯κ°’
29
+ 생월, # '생월(예: 01)'에 λŒ€ν•œ μž…λ ₯κ°’
30
+ 생일, # '생일(예: 31)'에 λŒ€ν•œ μž…λ ₯κ°’
31
+ μƒμ‹œ, # 'μƒμ‹œ(μ˜ˆμ‹œ: 1030)'에 λŒ€ν•œ μž…λ ₯κ°’
32
+ api_name="/get_lunar_info"
33
+ )
34
+ return result
35
+
36
+ # Gradio μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ •μ˜ν•©λ‹ˆλ‹€.
37
+ inputs = [
38
+ gr.Textbox(label="생년(예: 1990)"),
39
+ gr.Textbox(label="생월(예: 01)"),
40
+ gr.Textbox(label="생일(예: 31)"),
41
+ gr.Textbox(label="μƒμ‹œ(μ˜ˆμ‹œ: 1030)")
42
+ ]
43
+ outputs = gr.Textbox(label="κ²°κ³Ό")
44
+
45
+ # μΈν„°νŽ˜μ΄μŠ€λ₯Ό μƒμ„±ν•˜κ³  μ‹€ν–‰ν•©λ‹ˆλ‹€.
46
+ gr.Interface(fn=call_api, inputs=inputs, outputs=outputs, title="Get Lunar Info").launch()