




























@@ -8,6 +8,8 @@ import {
88clampThinkingLevel,
99type Api,
1010getModels,
11+getProviders,
12+type KnownProvider,
1113type Model,
1214type ModelThinkingLevel,
1315} from "@mariozechner/pi-ai";
@@ -1410,6 +1412,11 @@ type LiveModelRegistry = {
14101412getAll(): Array<Model<Api>>;
14111413};
141214141415+function resolveKnownProvider(provider: string): KnownProvider | undefined {
1416+const normalized = provider.trim();
1417+return getProviders().find((knownProvider) => knownProvider === normalized);
1418+}
1419+14131420function toGatewayLiveModel(params: {
14141421provider: string;
14151422providerConfig: ModelProviderConfig;
@@ -1431,7 +1438,6 @@ function toGatewayLiveModel(params: {
14311438provider: params.provider,
14321439 baseUrl,
14331440reasoning: params.modelConfig.reasoning ?? false,
1434-thinkingLevelMap: params.modelConfig.thinkingLevelMap,
14351441input: input.length > 0 ? input : ["text"],
14361442cost: params.modelConfig.cost ?? {
14371443input: 0,
@@ -1441,7 +1447,7 @@ function toGatewayLiveModel(params: {
14411447},
14421448contextWindow: params.modelConfig.contextWindow ?? 128_000,
14431449maxTokens: params.modelConfig.maxTokens ?? 16_384,
1444-compat: params.modelConfig.compat ?? params.providerConfig.compat,
1450+compat: params.modelConfig.compat,
14451451};
14461452}
14471453@@ -1495,7 +1501,11 @@ function loadProviderScopedBuiltInModels(providerList: readonly string[]): Array
14951501if (!provider) {
14961502continue;
14971503}
1498-for (const model of getModels(provider)) {
1504+const knownProvider = resolveKnownProvider(provider);
1505+if (!knownProvider) {
1506+continue;
1507+}
1508+for (const model of getModels(knownProvider)) {
14991509const key = `${normalizeProviderId(model.provider)}/${model.id.toLowerCase()}`;
15001510if (seen.has(key)) {
15011511continue;
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。