KinetoLabs Claude Opus 4.5 commited on
Commit
c190082
·
1 Parent(s): d1901ae

Add property accessors to RealModelStack for interface parity

Browse files

RealModelStack stored models in self.models dict but lacked property
accessors that pipeline code expected. MockModelStack exposes models
as direct attributes (self.vision, etc.) but RealModelStack did not.

This fix adds @property accessors for vision, embedding, and reranker
that wrap the raw models in their respective wrapper classes, making
RealModelStack API-compatible with MockModelStack.

Fixes: 'RealModelStack' object has no attribute 'vision' error

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

Files changed (1) hide show
  1. models/real.py +15 -0
models/real.py CHANGED
@@ -110,6 +110,21 @@ class RealModelStack:
110
  """Check if models are loaded."""
111
  return self.loaded
112
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
113
 
114
  class RealVisionModel:
115
  """Wrapper for real vision model inference."""
 
110
  """Check if models are loaded."""
111
  return self.loaded
112
 
113
+ @property
114
+ def vision(self) -> "RealVisionModel":
115
+ """Return vision model wrapped for pipeline consumption."""
116
+ return RealVisionModel(self.models["vision"], self.processors["vision"])
117
+
118
+ @property
119
+ def embedding(self) -> "RealEmbeddingModel":
120
+ """Return embedding model wrapped for pipeline consumption."""
121
+ return RealEmbeddingModel(self.models["embedding"], self.processors["embedding"])
122
+
123
+ @property
124
+ def reranker(self) -> "RealRerankerModel":
125
+ """Return reranker model wrapped for pipeline consumption."""
126
+ return RealRerankerModel(self.models["reranker"], self.processors["reranker"])
127
+
128
 
129
  class RealVisionModel:
130
  """Wrapper for real vision model inference."""