diff --git a/atroposlib/envs/server_handling/openai_server.py b/atroposlib/envs/server_handling/openai_server.py index 98f68682..a715054b 100644 --- a/atroposlib/envs/server_handling/openai_server.py +++ b/atroposlib/envs/server_handling/openai_server.py @@ -199,14 +199,18 @@ def resolve_openai_configs( f"Error parsing multi-server OpenAI configuration from YAML under '{OPENAI_NAMESPACE}': {e}" ) from e elif isinstance(default_server_configs, APIServerConfig): - logger.info("Using single OpenAI server configuration.") + # Check APIServerConfig BEFORE ServerBaseline since APIServerConfig inherits from ServerBaseline + logger.info( + "Using single OpenAI server configuration based on merged settings (default/YAML/CLI)." + ) try: final_openai_config = APIServerConfig(**openai_config_dict) except Exception as e: raise FailedExecutionException( - f"Error creating final OpenAI configuration: {e}" + f"Error creating final OpenAI configuration from merged settings: {e}\n" + f"Merged Dict: {openai_config_dict}" ) from e - server_configs = [final_openai_config] + server_configs = final_openai_config elif isinstance(default_server_configs, ServerBaseline): # Pure ServerBaseline (not APIServerConfig) - no CLI overrides possible logger.info("Using ServerBaseline configuration.") @@ -215,22 +219,25 @@ def resolve_openai_configs( logger.info("Using default multi-server configuration (length >= 2).") server_configs = default_server_configs else: - logger.info("Using single OpenAI server configuration.") + logger.info( + "Using single OpenAI server configuration based on merged settings (default/YAML/CLI)." + ) try: final_openai_config = APIServerConfig(**openai_config_dict) except Exception as e: raise FailedExecutionException( - f"Error creating final OpenAI configuration: {e}" + f"Error creating final OpenAI configuration from merged settings: {e}\n" + f"Merged Dict: {openai_config_dict}" ) from e if isinstance(default_server_configs, APIServerConfig): - server_configs = [final_openai_config] + server_configs = final_openai_config elif isinstance(default_server_configs, list): server_configs = [final_openai_config] else: logger.warning( f"Unexpected type for default_server_configs: {type(default_server_configs)}. " - "Proceeding with single OpenAI server configuration." + f"Proceeding with single OpenAI server configuration based on merged settings." ) server_configs = [final_openai_config] return server_configs diff --git a/atroposlib/envs/server_handling/vllm_server.py b/atroposlib/envs/server_handling/vllm_server.py index ba272e76..3c35bebb 100644 --- a/atroposlib/envs/server_handling/vllm_server.py +++ b/atroposlib/envs/server_handling/vllm_server.py @@ -281,7 +281,7 @@ class VLLMServer(APIServer): ), "Prompt or input_ids is required for get_logprobs!" top_k = int(kwargs.pop("top_k", kwargs.pop("top_logprobs", 1))) - top_k = max(0, top_k) + top_k = max(1, top_k) # Use input_ids if provided (from ManagedServer), otherwise tokenize prompt from_prompt_text = False @@ -408,22 +408,25 @@ def resolve_openai_configs( logger.info("Using default multi-server configuration (length >= 2).") server_configs = default_server_configs else: - logger.info("Using single OpenAI server configuration.") + logger.info( + "Using single OpenAI server configuration based on merged settings (default/YAML/CLI)." + ) try: final_openai_config = APIServerConfig(**openai_config_dict) except Exception as e: raise FailedExecutionException( - f"Error creating final OpenAI configuration: {e}" + f"Error creating final OpenAI configuration from merged settings: {e}\n" + f"Merged Dict: {openai_config_dict}" ) from e if isinstance(default_server_configs, APIServerConfig): - server_configs = [final_openai_config] + server_configs = final_openai_config elif isinstance(default_server_configs, list): server_configs = [final_openai_config] else: logger.warning( f"Unexpected type for default_server_configs: {type(default_server_configs)}. " - "Proceeding with single OpenAI server configuration." + f"Proceeding with single OpenAI server configuration based on merged settings." ) server_configs = [final_openai_config]