ParthSadaria commited on
Commit
49e4129
·
verified ·
1 Parent(s): 8f607f2

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +25 -8
main.py CHANGED
@@ -58,6 +58,7 @@ def get_env_vars():
58
  'secret_api_endpoint_2': os.getenv('SECRET_API_ENDPOINT_2'),
59
  'secret_api_endpoint_3': os.getenv('SECRET_API_ENDPOINT_3'),
60
  'secret_api_endpoint_4': "https://text.pollinations.ai/openai",
 
61
  'mistral_api': "https://api.mistral.ai",
62
  'mistral_key': os.getenv('MISTRAL_KEY'),
63
  'endpoint_origin': os.getenv('ENDPOINT_ORIGIN')
@@ -111,11 +112,18 @@ alternate_models = { # heh, should work now
111
  "creitin-r1",
112
  "fluffy.1-chat",
113
  "plutotext-1-text",
114
- "command-a",
115
  "claude-3-7-sonnet-20250219",
116
  "plutogpt-3.5-turbo"
117
  }
118
 
 
 
 
 
 
 
 
119
 
120
  # Request payload model
121
  class Payload(BaseModel):
@@ -162,7 +170,7 @@ async def verify_api_key(
162
  detail="No API key provided"
163
  )
164
 
165
- # Only clean if needed
166
  if api_key.startswith('Bearer '):
167
  api_key = api_key[7:] # Remove 'Bearer ' prefix
168
 
@@ -268,10 +276,10 @@ async def generate_search_async(query: str, systemprompt: Optional[str] = None,
268
  await queue.put({"data": f"data: {json.dumps(cleaned_response)}\n\n", "text": content})
269
  except json.JSONDecodeError:
270
  continue
271
-
272
- # Signal completion
273
- await queue.put(None)
274
-
275
  except Exception as e:
276
  await queue.put({"error": str(e)})
277
  await queue.put(None)
@@ -418,9 +426,12 @@ async def get_completion(payload: Payload, request: Request, authenticated: bool
418
  elif model_to_use in alternate_models:
419
  endpoint = env_vars['secret_api_endpoint_2']
420
  custom_headers = {}
 
 
 
421
  else:
422
  endpoint = env_vars['secret_api_endpoint']
423
- custom_headers = {
424
  "Origin": header_url,
425
  "Priority": "u=1, i",
426
  "Referer": header_url
@@ -730,7 +741,7 @@ async def get_meme():
730
  yield b''.join(chunks)
731
 
732
  return StreamingResponse(
733
- stream_with_larger_chunks(),
734
  media_type=image_response.headers.get("content-type", "image/png"),
735
  headers={'Cache-Control': 'max-age=3600'} # Add caching
736
  )
@@ -760,6 +771,8 @@ async def startup_event():
760
  available_model_ids.extend(list(alternate_models))
761
  # Add mistral models to available_model_ids
762
  available_model_ids.extend(list(mistral_models))
 
 
763
 
764
  available_model_ids = list(set(available_model_ids)) # Remove duplicates
765
  print(f"Total available models: {len(available_model_ids)}")
@@ -780,6 +793,8 @@ async def startup_event():
780
  missing_vars.append('SECRET_API_ENDPOINT_3')
781
  if not env_vars['secret_api_endpoint_4']:
782
  missing_vars.append('SECRET_API_ENDPOINT_4')
 
 
783
  if not env_vars['mistral_api'] and any(model in mistral_models for model in available_model_ids):
784
  missing_vars.append('MISTRAL_API')
785
  if not env_vars['mistral_key'] and any(model in mistral_models for model in available_model_ids):
@@ -824,6 +839,8 @@ async def health_check():
824
  missing_critical_vars.append('SECRET_API_ENDPOINT_3')
825
  if not env_vars['secret_api_endpoint_4']:
826
  missing_critical_vars.append('SECRET_API_ENDPOINT_4')
 
 
827
  if not env_vars['mistral_api']:
828
  missing_critical_vars.append('MISTRAL_API')
829
  if not env_vars['mistral_key']:
 
58
  'secret_api_endpoint_2': os.getenv('SECRET_API_ENDPOINT_2'),
59
  'secret_api_endpoint_3': os.getenv('SECRET_API_ENDPOINT_3'),
60
  'secret_api_endpoint_4': "https://text.pollinations.ai/openai",
61
+ 'secret_api_endpoint_5': os.getenv('SECRET_API_ENDPOINT_5'), # Added new endpoint
62
  'mistral_api': "https://api.mistral.ai",
63
  'mistral_key': os.getenv('MISTRAL_KEY'),
64
  'endpoint_origin': os.getenv('ENDPOINT_ORIGIN')
 
112
  "creitin-r1",
113
  "fluffy.1-chat",
114
  "plutotext-1-text",
115
+ "command-a",
116
  "claude-3-7-sonnet-20250219",
117
  "plutogpt-3.5-turbo"
118
  }
119
 
120
+ claude_3_models = { # Models for the new endpoint
121
+ "claude-3-7-sonnet",
122
+ "claude-3-7-sonnet-thinking",
123
+ "claude-3-5-haiku",
124
+ "claude-3-5-sonnet"
125
+ }
126
+
127
 
128
  # Request payload model
129
  class Payload(BaseModel):
 
170
  detail="No API key provided"
171
  )
172
 
173
+ # Only clean if needed
174
  if api_key.startswith('Bearer '):
175
  api_key = api_key[7:] # Remove 'Bearer ' prefix
176
 
 
276
  await queue.put({"data": f"data: {json.dumps(cleaned_response)}\n\n", "text": content})
277
  except json.JSONDecodeError:
278
  continue
279
+
280
+ # Signal completion
281
+ await queue.put(None)
282
+
283
  except Exception as e:
284
  await queue.put({"error": str(e)})
285
  await queue.put(None)
 
426
  elif model_to_use in alternate_models:
427
  endpoint = env_vars['secret_api_endpoint_2']
428
  custom_headers = {}
429
+ elif model_to_use in claude_3_models: # Use the new endpoint
430
+ endpoint = env_vars['secret_api_endpoint_5']
431
+ custom_headers = {}
432
  else:
433
  endpoint = env_vars['secret_api_endpoint']
434
+ custom_headers = {
435
  "Origin": header_url,
436
  "Priority": "u=1, i",
437
  "Referer": header_url
 
741
  yield b''.join(chunks)
742
 
743
  return StreamingResponse(
744
+ stream_with_larger_chunks(),
745
  media_type=image_response.headers.get("content-type", "image/png"),
746
  headers={'Cache-Control': 'max-age=3600'} # Add caching
747
  )
 
771
  available_model_ids.extend(list(alternate_models))
772
  # Add mistral models to available_model_ids
773
  available_model_ids.extend(list(mistral_models))
774
+ # Add claude models
775
+ available_model_ids.extend(list(claude_3_models))
776
 
777
  available_model_ids = list(set(available_model_ids)) # Remove duplicates
778
  print(f"Total available models: {len(available_model_ids)}")
 
793
  missing_vars.append('SECRET_API_ENDPOINT_3')
794
  if not env_vars['secret_api_endpoint_4']:
795
  missing_vars.append('SECRET_API_ENDPOINT_4')
796
+ if not env_vars['secret_api_endpoint_5']: # Check for the new endpoint.
797
+ missing_vars.append('SECRET_API_ENDPOINT_5')
798
  if not env_vars['mistral_api'] and any(model in mistral_models for model in available_model_ids):
799
  missing_vars.append('MISTRAL_API')
800
  if not env_vars['mistral_key'] and any(model in mistral_models for model in available_model_ids):
 
839
  missing_critical_vars.append('SECRET_API_ENDPOINT_3')
840
  if not env_vars['secret_api_endpoint_4']:
841
  missing_critical_vars.append('SECRET_API_ENDPOINT_4')
842
+ if not env_vars['secret_api_endpoint_5']: # Check the new endpoint
843
+ missing_critical_vars.append('SECRET_API_ENDPOINT_5')
844
  if not env_vars['mistral_api']:
845
  missing_critical_vars.append('MISTRAL_API')
846
  if not env_vars['mistral_key']: