Skip to content

Commit 79b19bf

Browse files
authored
Merge pull request #1306 from microsoft/lramos15/immediate-locust
Move hydrate model to common place
2 parents 3510103 + 88f4404 commit 79b19bf

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

src/platform/endpoint/node/modelMetadataFetcher.ts

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)