diff --git a/arch/tools/cli/config_generator.py b/arch/tools/cli/config_generator.py index ed99554f..a1facae8 100644 --- a/arch/tools/cli/config_generator.py +++ b/arch/tools/cli/config_generator.py @@ -143,6 +143,7 @@ def validate_and_render_schema(): arch_tracing = config_yaml.get("tracing", {}) llms_with_endpoint = [] + llms_with_endpoint_cluster_names = set() updated_model_providers = [] model_provider_name_set = set() llms_with_usage = [] @@ -267,10 +268,14 @@ def validate_and_render_schema(): model_provider["endpoint"] = endpoint model_provider["port"] = port model_provider["protocol"] = protocol - model_provider["cluster_name"] = ( + cluster_name = ( provider + "_" + endpoint ) # make name unique by appending endpoint - llms_with_endpoint.append(model_provider) + model_provider["cluster_name"] = cluster_name + # Only add if cluster_name is not already present to avoid duplicates + if cluster_name not in llms_with_endpoint_cluster_names: + llms_with_endpoint.append(model_provider) + llms_with_endpoint_cluster_names.add(cluster_name) if len(model_usage_name_keys) > 0: routing_model_provider = config_yaml.get("routing", {}).get( diff --git a/demos/use_cases/model_alias_routing/arch_config_with_aliases.yaml b/demos/use_cases/model_alias_routing/arch_config_with_aliases.yaml index 2a7e47c7..ae1e2499 100644 --- a/demos/use_cases/model_alias_routing/arch_config_with_aliases.yaml +++ b/demos/use_cases/model_alias_routing/arch_config_with_aliases.yaml @@ -39,6 +39,11 @@ llm_providers: access_key: $AWS_BEARER_TOKEN_BEDROCK base_url: https://bedrock-runtime.us-west-2.amazonaws.com + - model: amazon_bedrock/us.amazon.nova-pro-v1:0 + access_key: $AWS_BEARER_TOKEN_BEDROCK + base_url: https://bedrock-runtime.us-west-2.amazonaws.com + + # Ollama Models - model: ollama/llama3.1 base_url: http://host.docker.internal:11434