@@ -121,8 +121,7 @@ export class ModelMetadataFetcher extends Disposable implements IModelMetadataFe
121121 await this . _taskSingler . getOrCreate ( ModelMetadataFetcher . ALL_MODEL_KEY , this . _fetchModels . bind ( this ) ) ;
122122 const chatModels : IChatModelInformation [ ] = [ ] ;
123123 for ( const [ , models ] of this . _familyMap ) {
124- for ( let model of models ) {
125- model = await this . _hydrateResolvedModel ( model ) ;
124+ for ( const model of models ) {
126125 if ( isChatModelInformation ( model ) ) {
127126 chatModels . push ( model ) ;
128127 }
@@ -169,8 +168,7 @@ export class ModelMetadataFetcher extends Disposable implements IModelMetadataFe
169168 } else {
170169 resolvedModel = this . _familyMap . get ( family ) ?. [ 0 ] ;
171170 }
172- resolvedModel = await this . _hydrateResolvedModel ( resolvedModel ) ;
173- if ( ! isChatModelInformation ( resolvedModel ) ) {
171+ if ( ! resolvedModel || ! isChatModelInformation ( resolvedModel ) ) {
174172 throw new Error ( `Unable to resolve chat model with family selection: ${ family } ` ) ;
175173 }
176174 return resolvedModel ;
@@ -191,7 +189,6 @@ export class ModelMetadataFetcher extends Disposable implements IModelMetadataFe
191189 if ( ! resolvedModel ) {
192190 return ;
193191 }
194- resolvedModel = await this . _hydrateResolvedModel ( resolvedModel ) ;
195192 if ( ! isChatModelInformation ( resolvedModel ) ) {
196193 throw new Error ( `Unable to resolve chat model: ${ apiModel . id } ,${ apiModel . name } ,${ apiModel . version } ,${ apiModel . family } ` ) ;
197194 }
@@ -200,9 +197,8 @@ export class ModelMetadataFetcher extends Disposable implements IModelMetadataFe
200197
201198 public async getEmbeddingsModel ( family : 'text-embedding-3-small' ) : Promise < IEmbeddingModelInformation > {
202199 await this . _taskSingler . getOrCreate ( ModelMetadataFetcher . ALL_MODEL_KEY , this . _fetchModels . bind ( this ) ) ;
203- let resolvedModel = this . _familyMap . get ( family ) ?. [ 0 ] ;
204- resolvedModel = await this . _hydrateResolvedModel ( resolvedModel ) ;
205- if ( ! isEmbeddingModelInformation ( resolvedModel ) ) {
200+ const resolvedModel = this . _familyMap . get ( family ) ?. [ 0 ] ;
201+ if ( ! resolvedModel || ! isEmbeddingModelInformation ( resolvedModel ) ) {
206202 throw new Error ( `Unable to resolve embeddings model with family selection: ${ family } ` ) ;
207203 }
208204 return resolvedModel ;
@@ -267,7 +263,8 @@ export class ModelMetadataFetcher extends Disposable implements IModelMetadataFe
267263
268264 const data : IModelAPIResponse [ ] = ( await response . json ( ) ) . data ;
269265 this . _requestLogger . logModelListCall ( requestId , requestMetadata , data ) ;
270- for ( const model of data ) {
266+ for ( const rawModel of data ) {
267+ const model = await this . _hydrateResolvedModel ( rawModel ) ;
271268 const isCompletionModel = isCompletionModelInformation ( model ) ;
272269 // The base model is whatever model is deemed "fallback" by the server
273270 if ( model . is_chat_fallback && ! isCompletionModel ) {
0 commit comments