Uhhy commited on
Commit
0591344
·
verified ·
1 Parent(s): 90624da

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -7
app.py CHANGED
@@ -6,17 +6,18 @@ import uvicorn
6
  import re
7
  from dotenv import load_dotenv
8
  from spaces import GPU
 
9
 
10
  load_dotenv()
11
 
12
- app = FastAPI()
13
-
14
  # Initialize ZeroGPU
15
  try:
16
- GPU.initialize()
17
  except Exception as e:
18
  print(f"ZeroGPU initialization failed: {e}")
19
 
 
 
20
  # Global data dictionary
21
  global_data = {
22
  'models': {},
@@ -120,16 +121,22 @@ def remove_repetitive_responses(responses):
120
  unique_responses.append({'model': response['model'], 'response': normalized_response})
121
  return unique_responses
122
 
123
- @app.post("/generate/")
124
- @GPU(duration=0)
 
 
 
 
 
 
125
  async def generate(request: ChatRequest):
126
  try:
127
  inputs = normalize_input(request.message)
128
  futures = [
129
- executor.submit(model.generate, inputs, top_k=request.top_k, top_p=request.top_p, temperature=request.temperature)
130
  for model in global_data['models'].values()
131
  ]
132
- responses = [{'model': model, 'response': future.result()} for model, future in zip(global_data['models'].keys(), as_completed(futures))]
133
  unique_responses = remove_repetitive_responses(responses)
134
  return unique_responses
135
  except Exception as e:
 
6
  import re
7
  from dotenv import load_dotenv
8
  from spaces import GPU
9
+ from spaces.zero import ZeroGPU
10
 
11
  load_dotenv()
12
 
 
 
13
  # Initialize ZeroGPU
14
  try:
15
+ ZeroGPU.initialize()
16
  except Exception as e:
17
  print(f"ZeroGPU initialization failed: {e}")
18
 
19
+ app = FastAPI()
20
+
21
  # Global data dictionary
22
  global_data = {
23
  'models': {},
 
121
  unique_responses.append({'model': response['model'], 'response': normalized_response})
122
  return unique_responses
123
 
124
+ def generate_model_response(model, inputs, top_k, top_p, temperature):
125
+ try:
126
+ return model.generate(inputs, top_k=top_k, top_p=top_p, temperature=temperature)
127
+ except Exception as e:
128
+ print(f"Error generating response with model {model}: {e}")
129
+ return ""
130
+
131
+ @app.post("/generate")
132
  async def generate(request: ChatRequest):
133
  try:
134
  inputs = normalize_input(request.message)
135
  futures = [
136
+ executor.submit(generate_model_response, model, inputs, request.top_k, request.top_p, request.temperature)
137
  for model in global_data['models'].values()
138
  ]
139
+ responses = [{'model': model_name, 'response': future.result()} for model_name, future in zip(global_data['models'].keys(), as_completed(futures))]
140
  unique_responses = remove_repetitive_responses(responses)
141
  return unique_responses
142
  except Exception as e: