seawolf2357 commited on
Commit
21048e8
·
verified ·
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()