Skip to content

Commit 9407dc4

Browse files
committed
fix: SchemaManager now reads vector_dimension from CloudConfiguration
Fixes FHIR-AI-Hackathon bug where SchemaManager always returned 384 dimensions instead of reading from environment variables. Problem: - SchemaManager used config.get("embedding_model.dimension", 384) - ConfigurationManager.get() splits on colons, not dots - "embedding_model.dimension" is treated as single literal key - Always returned default 384, never read VECTOR_DIMENSION env var Solution: - Use cloud_config.vector.vector_dimension instead - CloudConfiguration correctly reads VECTOR_DIMENSION environment variable - Supports Feature 058 configuration priority (env > config > defaults) Testing: - Verified with VECTOR_DIMENSION=1024: correctly returns 1024 - Without env var: correctly returns default 384 Related: FHIR-AI-Hackathon comprehensive testing of iris-vector-rag 0.5.2 Note: Additional uses of wrong path remain in common/utils.py (deferred)
1 parent c3bce1c commit 9407dc4

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

iris_vector_rag/storage/schema_manager.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,15 @@ def __init__(self, connection_manager, config_manager):
4545
SchemaManager._config_loaded = True
4646
else:
4747
# Config already loaded by another instance - set instance attributes from config
48+
# Use CloudConfiguration API for environment variable support (Feature 058)
49+
cloud_config = self.config_manager.get_cloud_config()
50+
4851
self.base_embedding_model = self.config_manager.get(
4952
"embedding_model.name", "sentence-transformers/all-MiniLM-L6-v2"
5053
)
51-
self.base_embedding_dimension = self.config_manager.get(
52-
"embedding_model.dimension", 384
53-
)
54+
# Use cloud_config for vector dimension (supports VECTOR_DIMENSION env var)
55+
self.base_embedding_dimension = cloud_config.vector.vector_dimension
56+
5457
# Now build mappings (these methods reference the attributes we just set)
5558
self._build_model_dimension_mapping()
5659
self._build_table_configurations()
@@ -63,13 +66,15 @@ def _load_and_validate_config(self):
6366
"""Load configuration from config manager and validate it makes sense."""
6467
logger.info("Schema Manager: Loading and validating configuration...")
6568

69+
# Use CloudConfiguration API for environment variable support (Feature 058)
70+
cloud_config = self.config_manager.get_cloud_config()
71+
6672
# Load base embedding model configuration
6773
self.base_embedding_model = self.config_manager.get(
6874
"embedding_model.name", "sentence-transformers/all-MiniLM-L6-v2"
6975
)
70-
self.base_embedding_dimension = self.config_manager.get(
71-
"embedding_model.dimension", 384
72-
)
76+
# Use cloud_config for vector dimension (supports VECTOR_DIMENSION env var)
77+
self.base_embedding_dimension = cloud_config.vector.vector_dimension
7378

7479
# Validate configuration consistency
7580
self._validate_configuration()

0 commit comments

Comments
 (0)