Commit 7850140
Propagate IModel API changes across Python, JS, Rust SDKs and update C# docs (#565)
Mirrors the C# changes from #556 across all language bindings: public
APIs use the `IModel` interface instead of concrete
`Model`/`ModelVariant` types, `GetLatestVersion` moves from `Model` to
`Catalog`, and `ModelVariant` becomes an implementation detail.
- Added `info`, `variants`, `selected_variant`/`selectedVariant`,
`select_variant`/`selectVariant` to the abstract interface
- `ModelVariant` implements these as self-referential
(`variants=[self]`, `selected_variant=self`, `select_variant` throws)
```python
model = catalog.get_model("qwen2.5-0.5b")
for v in model.variants: # List[IModel], not List[ModelVariant]
print(v.info.name, v.id)
model.select_variant(v) # takes IModel, not ModelVariant
latest = catalog.get_latest_version(model) # moved from Model to Catalog
```
- `list_models()` → `List[IModel]` (was `List[Model]`)
- `get_model()` → `Optional[IModel]` (was `Optional[Model]`)
- `get_model_variant()` → `Optional[IModel]` (was
`Optional[ModelVariant]`)
- `get_cached_models()` / `get_loaded_models()` → `List[IModel]` (was
`List[ModelVariant]`)
Moved from `Model` to `Catalog` since `ModelVariant` lacks sufficient
context to implement it. Takes any `IModel` and resolves the latest
version by name matching against the variant list.
- Added `Model::info()` (delegates to selected variant)
- Added `Catalog::get_latest_version(&self, model: &Arc<Model>) ->
Result<Arc<ModelVariant>>`
- README, API docs (`ICatalog`, `IModel`, `Model`, `ModelVariant`)
updated to reflect `IModel` return types
- `ModelVariant` docs marked as internal
- Samples updated to avoid direct `ModelVariant` type references
- `GetLatestVersionAsync` added to `ICatalog` docs
---------
Co-authored-by: Baiju Meswani <bmeswani@microsoft.com>
Co-authored-by: Nenad Banfic <46795300+nenad1002@users.noreply.github.com>1 parent 6d89846 commit 7850140
File tree
30 files changed
+965
-826
lines changed- sdk
- cs
- js
- docs
- classes
- src
- detail
- test
- openai
- python
- src
- detail
- test
- rust
- examples
- src
- detail
- tests/integration
30 files changed
+965
-826
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
181 | 181 | | |
182 | 182 | | |
183 | 183 | | |
184 | | - | |
| 184 | + | |
185 | 185 | | |
186 | 186 | | |
187 | 187 | | |
188 | | - | |
| 188 | + | |
189 | 189 | | |
190 | 190 | | |
191 | 191 | | |
| |||
332 | 332 | | |
333 | 333 | | |
334 | 334 | | |
335 | | - | |
336 | | - | |
| 335 | + | |
| 336 | + | |
337 | 337 | | |
338 | 338 | | |
339 | 339 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
148 | 148 | | |
149 | 149 | | |
150 | 150 | | |
151 | | - | |
| 151 | + | |
152 | 152 | | |
153 | 153 | | |
154 | 154 | | |
| |||
259 | 259 | | |
260 | 260 | | |
261 | 261 | | |
262 | | - | |
263 | | - | |
| 262 | + | |
264 | 263 | | |
265 | 264 | | |
266 | 265 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
27 | 26 | | |
28 | 27 | | |
29 | 28 | | |
| |||
562 | 561 | | |
563 | 562 | | |
564 | 563 | | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
565 | 576 | | |
566 | 577 | | |
567 | 578 | | |
| |||
622 | 633 | | |
623 | 634 | | |
624 | 635 | | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
625 | 650 | | |
626 | 651 | | |
627 | 652 | | |
| |||
710 | 735 | | |
711 | 736 | | |
712 | 737 | | |
| 738 | + | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
713 | 761 | | |
714 | 762 | | |
715 | 763 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
50 | | - | |
| 50 | + | |
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
58 | | - | |
| 58 | + | |
59 | 59 | | |
60 | | - | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
61 | 84 | | |
62 | 85 | | |
63 | 86 | | |
64 | 87 | | |
65 | 88 | | |
66 | 89 | | |
67 | | - | |
| 90 | + | |
68 | 91 | | |
69 | 92 | | |
70 | 93 | | |
| |||
73 | 96 | | |
74 | 97 | | |
75 | 98 | | |
76 | | - | |
| 99 | + | |
77 | 100 | | |
78 | | - | |
| 101 | + | |
79 | 102 | | |
80 | 103 | | |
81 | 104 | | |
82 | 105 | | |
83 | 106 | | |
84 | 107 | | |
85 | | - | |
| 108 | + | |
86 | 109 | | |
87 | 110 | | |
88 | 111 | | |
| |||
96 | 119 | | |
97 | 120 | | |
98 | 121 | | |
99 | | - | |
| 122 | + | |
100 | 123 | | |
101 | | - | |
| 124 | + | |
102 | 125 | | |
103 | 126 | | |
104 | 127 | | |
| |||
109 | 132 | | |
110 | 133 | | |
111 | 134 | | |
112 | | - | |
| 135 | + | |
113 | 136 | | |
114 | 137 | | |
115 | 138 | | |
116 | 139 | | |
117 | 140 | | |
118 | 141 | | |
119 | 142 | | |
120 | | - | |
| 143 | + | |
121 | 144 | | |
122 | | - | |
| 145 | + | |
123 | 146 | | |
124 | 147 | | |
125 | 148 | | |
126 | 149 | | |
127 | 150 | | |
128 | 151 | | |
129 | | - | |
| 152 | + | |
130 | 153 | | |
131 | 154 | | |
132 | 155 | | |
| 156 | + | |
| 157 | + | |
133 | 158 | | |
134 | 159 | | |
135 | 160 | | |
| |||
140 | 165 | | |
141 | 166 | | |
142 | 167 | | |
143 | | - | |
| 168 | + | |
144 | 169 | | |
145 | | - | |
| 170 | + | |
146 | 171 | | |
147 | 172 | | |
148 | 173 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
| 24 | + | |
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| |||
109 | 109 | | |
110 | 110 | | |
111 | 111 | | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
112 | 134 | | |
113 | 135 | | |
114 | 136 | | |
| |||
212 | 234 | | |
213 | 235 | | |
214 | 236 | | |
215 | | - | |
| 237 | + | |
216 | 238 | | |
217 | 239 | | |
218 | 240 | | |
219 | 241 | | |
220 | 242 | | |
221 | 243 | | |
222 | | - | |
223 | | - | |
224 | | - | |
| 244 | + | |
225 | 245 | | |
226 | | - | |
| 246 | + | |
227 | 247 | | |
228 | | - | |
229 | | - | |
230 | | - | |
231 | | - | |
232 | | - | |
233 | | - | |
234 | | - | |
235 | | - | |
236 | | - | |
237 | | - | |
238 | | - | |
239 | | - | |
240 | | - | |
241 | | - | |
242 | | - | |
243 | | - | |
244 | | - | |
245 | | - | |
246 | | - | |
247 | | - | |
| 248 | + | |
248 | 249 | | |
249 | | - | |
| 250 | + | |
250 | 251 | | |
251 | | - | |
| 252 | + | |
252 | 253 | | |
253 | 254 | | |
254 | 255 | | |
| |||
410 | 411 | | |
411 | 412 | | |
412 | 413 | | |
413 | | - | |
| 414 | + | |
414 | 415 | | |
415 | 416 | | |
416 | 417 | | |
417 | 418 | | |
418 | 419 | | |
419 | 420 | | |
420 | 421 | | |
421 | | - | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
422 | 427 | | |
423 | 428 | | |
424 | 429 | | |
| |||
0 commit comments