1166
continue;
1167
}
1169
>
const configuration = await this._resolveConfiguration(group, vendor.configuration);
1170
>
1171
>
try {
1172
>
const models = await provider.provideLanguageModelChatInfo({ group: group.name, silent, configuration }, CancellationToken.None);
1173
>
if (models.length) {
1174
>
// Provide a sensible default for `metadata.detail` so that
1175
>
// multiple instances of the same vendor (e.g. multiple
1176
>
// Ollama servers) are distinguishable in the model picker.
1177
>
// Providers that supply their own `detail` keep it; when
1178
>
// the provider does not set one, fall back to the user-
1179
>
// configured group name.
1180
>
for (let i = 0; i < models.length; i++) {
1181
>
if (!models[i].metadata.detail) {
1182
models[i] = { ...models[i], metadata: { ...models[i].metadata, detail: group.name } };
1183
}
1185
>
allModels.push(...models);
1186
>
languageModelsGroups.push({ group, modelIdentifiers: models.map(m => m.identifier) });
1187
>
}
1188
>
1189
>
// Collect per-model configurations from the group
1190
>
if (group.settings) {
1191
for (const model of models) {
1192
const modelConfig = group.settings[model.metadata.id];