@@ -91,9 +91,9 @@ def list_dictionaries():
91
91
return client .list_saes (sae_series = sae_series , has_analyses = True )
92
92
93
93
94
- @app .get ("/images/{dataset_name}/{context_idx}/{image_idx} " )
95
- def get_image (dataset_name : str , context_idx : int , image_idx : int ):
96
- dataset = get_dataset (dataset_name )
94
+ @app .get ("/images/{dataset_name}" )
95
+ def get_image (dataset_name : str , context_idx : int , image_idx : int , shard_idx : int = 0 , n_shards : int = 1 ):
96
+ dataset = get_dataset (dataset_name , shard_idx , n_shards )
97
97
data = dataset [int (context_idx )]
98
98
99
99
image_key = "image" if "image" in data else "images" if "images" in data else None
@@ -144,17 +144,19 @@ def get_feature(name: str, feature_index: str | int):
144
144
dataset_name = sampling .dataset_name [i ]
145
145
model_name = sampling .model_name [i ]
146
146
model = get_model (model_name )
147
- data = get_dataset (
148
- dataset_name ,
149
- sampling .shard_idx [i ] if sampling .shard_idx is not None else 0 ,
150
- sampling .n_shards [i ] if sampling .n_shards is not None else 1 ,
151
- )[context_idx ]
147
+ shard_idx = sampling .shard_idx [i ] if sampling .shard_idx is not None else 0
148
+ n_shards = sampling .n_shards [i ] if sampling .n_shards is not None else 1
149
+ data = get_dataset (dataset_name , shard_idx , n_shards )[context_idx ]
150
+
152
151
_ , token_origins = model .to_tokens_with_origins (data )
153
152
154
153
# Replace image_key with image_url
155
154
image_key = "image" if "image" in data else "images" if "images" in data else None
156
155
if image_key is not None :
157
- image_urls = [f"/images/{ dataset_name } /{ context_idx } /{ i } " for i in range (len (data [image_key ]))]
156
+ image_urls = [
157
+ f"/images/{ dataset_name } ?context_idx={ context_idx } &shard_idx={ shard_idx } &n_shards={ n_shards } &image_idx={ image_idx } "
158
+ for image_idx in range (len (data [image_key ]))
159
+ ]
158
160
del data [image_key ]
159
161
data ["images" ] = image_urls
160
162
0 commit comments