Onegafer commited on
Commit
d9a782e
·
1 Parent(s): deb1315

Smarter (doesn't crash when private API is not available)

Browse files
Files changed (2) hide show
  1. README.md +2 -2
  2. app.py +24 -13
README.md CHANGED
@@ -1,7 +1,7 @@
1
  ---
2
- title: Property Embeddings Retrieval Public Endpoint
3
  emoji: 🏙️
4
- colorFrom: gray
5
  colorTo: gray
6
  sdk: gradio
7
  sdk_version: 3.44.3
 
1
  ---
2
+ title: TFG Web Demo Public API
3
  emoji: 🏙️
4
+ colorFrom: purple
5
  colorTo: gray
6
  sdk: gradio
7
  sdk_version: 3.44.3
app.py CHANGED
@@ -1,22 +1,34 @@
1
- import gradio
2
  from gradio_client import Client
3
-
4
  from dotenv import load_dotenv
 
5
  load_dotenv()
6
 
 
7
 
8
  def redirect(query, collection_name):
9
- import os
 
10
  PRIVATE_SPACE_ID = os.getenv("PRIVATE_SPACE_ID")
11
  PRIVATE_API_KEY = os.getenv("PRIVATE_API_KEY")
12
 
13
- client = Client(PRIVATE_SPACE_ID, hf_token=PRIVATE_API_KEY)
14
- result = client.predict(
15
- query,
16
- collection_name,
17
- api_name="/predict"
18
- )
19
-
 
 
 
 
 
 
 
 
 
 
20
  return result
21
 
22
 
@@ -29,8 +41,7 @@ gradio_interface = gradio.Interface(
29
  ],
30
  title="REST API with Gradio and Huggingface Spaces",
31
  description="This is a REST API used for a project demo.",
32
- article=""
33
  )
34
 
35
- gradio_interface.launch()
36
-
 
1
+ import gradio, os
2
  from gradio_client import Client
 
3
  from dotenv import load_dotenv
4
+
5
  load_dotenv()
6
 
7
+ client = None
8
 
9
  def redirect(query, collection_name):
10
+ global client
11
+
12
  PRIVATE_SPACE_ID = os.getenv("PRIVATE_SPACE_ID")
13
  PRIVATE_API_KEY = os.getenv("PRIVATE_API_KEY")
14
 
15
+ try:
16
+ if client is None:
17
+ client = Client(PRIVATE_SPACE_ID, hf_token=PRIVATE_API_KEY)
18
+ except Exception as e:
19
+ print(f"Failed to connect to the client: {e}")
20
+ return "Failed to connect to the client. Please try again."
21
+
22
+ try:
23
+ result = client.predict(
24
+ query,
25
+ collection_name,
26
+ api_name="/predict"
27
+ )
28
+ except Exception as e:
29
+ print(f"Failed to get prediction: {e}")
30
+ return "Failed to get prediction. Please try again."
31
+
32
  return result
33
 
34
 
 
41
  ],
42
  title="REST API with Gradio and Huggingface Spaces",
43
  description="This is a REST API used for a project demo.",
44
+ article="© Fernando Ónega Rodrigo 2024"
45
  )
46
 
47
+ gradio_interface.launch()