debug: Add logging to help diagnose provider loading issues
Add detailed logging to provider initialization to help debug why Chutes and other providers aren't loading: - Log all providers found in database - Log API key env vars detected - Log custom loader results with autoload status - Log final loaded providers count This will help identify if the issue is: 1. Database not loading correctly 2. Missing env vars 3. Custom loaders not being called 4. Providers being filtered out
This commit is contained in:
@@ -824,7 +824,11 @@ export namespace Provider {
|
|||||||
} = {}
|
} = {}
|
||||||
const sdk = new Map<number, SDK>()
|
const sdk = new Map<number, SDK>()
|
||||||
|
|
||||||
log.info("init")
|
log.info("init", {
|
||||||
|
providerCount: Object.keys(database).length,
|
||||||
|
providers: Object.keys(database),
|
||||||
|
envKeys: Object.keys(env).filter(k => k.includes('API_KEY') || k.includes('TOKEN')).map(k => k.replace(/_API_KEY$/, '').toLowerCase())
|
||||||
|
})
|
||||||
|
|
||||||
const configProviders = Object.entries(config.provider ?? {})
|
const configProviders = Object.entries(config.provider ?? {})
|
||||||
|
|
||||||
@@ -1009,13 +1013,17 @@ export namespace Provider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (const [providerID, fn] of Object.entries(CUSTOM_LOADERS)) {
|
for (const [providerID, fn] of Object.entries(CUSTOM_LOADERS)) {
|
||||||
if (disabled.has(providerID)) continue
|
if (disabled.has(providerID)) {
|
||||||
|
log.info("custom loader skipped (disabled)", { providerID })
|
||||||
|
continue
|
||||||
|
}
|
||||||
const data = database[providerID]
|
const data = database[providerID]
|
||||||
if (!data) {
|
if (!data) {
|
||||||
log.error("Provider does not exist in model list " + providerID)
|
log.error("Provider does not exist in model list " + providerID)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
const result = await fn(data)
|
const result = await fn(data)
|
||||||
|
log.info("custom loader result", { providerID, autoload: result?.autoload, hasEnv: data.env.some(e => env[e]) })
|
||||||
if (result && (result.autoload || providers[providerID])) {
|
if (result && (result.autoload || providers[providerID])) {
|
||||||
if (result.getModel) modelLoaders[providerID] = result.getModel
|
if (result.getModel) modelLoaders[providerID] = result.getModel
|
||||||
const opts = result.options ?? {}
|
const opts = result.options ?? {}
|
||||||
@@ -1071,9 +1079,14 @@ export namespace Provider {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
log.info("found", { providerID })
|
log.info("found", { providerID, modelCount: Object.keys(provider.models).length })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log.info("providers loaded", {
|
||||||
|
total: Object.keys(providers).length,
|
||||||
|
connected: Object.keys(providers)
|
||||||
|
})
|
||||||
|
|
||||||
return {
|
return {
|
||||||
models: languages,
|
models: languages,
|
||||||
providers,
|
providers,
|
||||||
|
|||||||
Reference in New Issue
Block a user