Arslan1997 commited on
Commit
368f050
·
1 Parent(s): 3b52495

added new dspy

Browse files
Files changed (2) hide show
  1. app.py +17 -16
  2. src/routes/session_routes.py +19 -30
app.py CHANGED
@@ -96,6 +96,7 @@ from src.schemas.query_schema import QueryRequest
96
 
97
  from src.utils.logger import Logger
98
 
 
99
 
100
 
101
  # Import deep analysis components directly
@@ -345,22 +346,22 @@ def get_session_lm(session_state):
345
 
346
  model_name = model_config.get("model", DEFAULT_MODEL_CONFIG["model"])
347
 
348
- # Get temperature and clamp to valid range for Anthropic (0..1)
349
- temp = model_config.get("temperature", DEFAULT_MODEL_CONFIG["temperature"])
350
- if provider == "anthropic":
351
- temp = min(1.0, max(0.0, float(temp)))
352
-
353
- # Handle special OpenAI models (gpt-5 and o1 series)
354
- if ('gpt-5' in model_name or 'o1' in model_name) and provider == 'openai':
355
- if 'gpt-5' in model_name:
356
- MODEL_OBJECTS[model_name].__dict__['kwargs']['max_tokens'] = 16_000
357
- if 'o1' in model_name:
358
- MODEL_OBJECTS[model_name].__dict__['kwargs']['max_tokens'] = 20_000
359
- MODEL_OBJECTS[model_name].__dict__['kwargs']['temperature'] = 1.0
360
- else:
361
- # All other models
362
- MODEL_OBJECTS[model_name].__dict__['kwargs']['max_tokens'] = model_config.get("max_tokens", DEFAULT_MODEL_CONFIG["max_tokens"])
363
- MODEL_OBJECTS[model_name].__dict__['kwargs']['temperature'] = temp
364
 
365
 
366
 
 
96
 
97
  from src.utils.logger import Logger
98
 
99
+ from src.routes.session_routes import apply_model_safeguards
100
 
101
 
102
  # Import deep analysis components directly
 
346
 
347
  model_name = model_config.get("model", DEFAULT_MODEL_CONFIG["model"])
348
 
349
+ # Import and apply centralized safeguards (temperature + max_tokens)
350
+
351
+
352
+ requested_temp = model_config.get("temperature", DEFAULT_MODEL_CONFIG["temperature"])
353
+ requested_max = model_config.get("max_tokens", DEFAULT_MODEL_CONFIG["max_tokens"])
354
+
355
+ safe_params = apply_model_safeguards(
356
+ model_name=model_name,
357
+ provider=provider,
358
+ temperature=requested_temp,
359
+ max_tokens=requested_max,
360
+ )
361
+
362
+ # Apply the safeguarded parameters
363
+ MODEL_OBJECTS[model_name].__dict__['kwargs']['max_tokens'] = safe_params["max_tokens"]
364
+ MODEL_OBJECTS[model_name].__dict__['kwargs']['temperature'] = safe_params["temperature"]
365
 
366
 
367
 
src/routes/session_routes.py CHANGED
@@ -422,38 +422,27 @@ async def update_model_settings(
422
 
423
  # Get session state to update model config
424
  session_state = app_state.get_session_state(session_id)
425
-
426
- # Clamp temperature to valid range (0..1 for all providers)
427
- clamped_temp = min(1.0, max(0.0, float(settings.temperature)))
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
428
 
429
  # Create the model config
430
- if 'gpt-5' in str(settings.model):
431
- model_config = {
432
- "provider": settings.provider,
433
- "model": settings.model,
434
- "api_key": settings.api_key,
435
- "temperature": 1,
436
- "max_tokens":16_000
437
- # "max_completion_tokens": 2500
438
- }
439
- elif 'o1' or 'o3' in str(settings.model):
440
- model_config = {
441
- "provider": settings.provider,
442
- "model": settings.model,
443
- "api_key": settings.api_key,
444
- "temperature": 1.0, # O-series only supports 1
445
- "max_tokens":20_000
446
- }
447
-
448
-
449
- else:
450
- model_config = {
451
- "provider": settings.provider,
452
- "model": settings.model,
453
- "api_key": settings.api_key,
454
- "temperature": clamped_temp,
455
- "max_tokens": settings.max_tokens
456
- }
457
 
458
  # Update only the session's model config
459
  session_state["model_config"] = model_config
 
422
 
423
  # Get session state to update model config
424
  session_state = app_state.get_session_state(session_id)
425
+
426
+ # Apply model-specific safeguards (temperature + max_tokens)
427
+ safe_params = apply_model_safeguards(
428
+ model_name=settings.model,
429
+ provider=settings.provider,
430
+ temperature=settings.temperature,
431
+ max_tokens=settings.max_tokens
432
+ )
433
+
434
+ # Create the model config with safe parameters
435
+ model_config = {
436
+ "provider": settings.provider,
437
+ "model": settings.model,
438
+ "api_key": settings.api_key,
439
+ "temperature": safe_params["temperature"],
440
+ "max_tokens": safe_params["max_tokens"]
441
+ }
442
+
443
 
444
  # Create the model config
445
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
446
 
447
  # Update only the session's model config
448
  session_state["model_config"] = model_config