Skip to content

Commit 798f866

Browse files
committed
wip: zen
1 parent 838c996 commit 798f866

1 file changed

Lines changed: 16 additions & 15 deletions

File tree

  • packages/console/app/src/routes/zen/util

packages/console/app/src/routes/zen/util/handler.ts

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -389,24 +389,25 @@ export async function handler(
389389
if (provider) return provider
390390
}
391391

392-
if (retry.retryCount === MAX_FAILOVER_RETRIES) {
393-
const provider = modelInfo.providers.find((provider) => provider.id === modelInfo.fallbackProvider)
392+
if (retry.retryCount !== MAX_FAILOVER_RETRIES) {
393+
const providers = modelInfo.providers
394+
.filter((provider) => !provider.disabled)
395+
.filter((provider) => !retry.excludeProviders.includes(provider.id))
396+
.flatMap((provider) => Array<typeof provider>(provider.weight ?? 1).fill(provider))
397+
398+
// Use the last 4 characters of session ID to select a provider
399+
let h = 0
400+
const l = sessionId.length
401+
for (let i = l - 4; i < l; i++) {
402+
h = (h * 31 + sessionId.charCodeAt(i)) | 0 // 32-bit int
403+
}
404+
const index = (h >>> 0) % providers.length // make unsigned + range 0..length-1
405+
const provider = providers[index || 0]
394406
if (provider) return provider
395407
}
396408

397-
const providers = modelInfo.providers
398-
.filter((provider) => !provider.disabled)
399-
.filter((provider) => !retry.excludeProviders.includes(provider.id))
400-
.flatMap((provider) => Array<typeof provider>(provider.weight ?? 1).fill(provider))
401-
402-
// Use the last 4 characters of session ID to select a provider
403-
let h = 0
404-
const l = sessionId.length
405-
for (let i = l - 4; i < l; i++) {
406-
h = (h * 31 + sessionId.charCodeAt(i)) | 0 // 32-bit int
407-
}
408-
const index = (h >>> 0) % providers.length // make unsigned + range 0..length-1
409-
return providers[index || 0]
409+
// fallback provider
410+
return modelInfo.providers.find((provider) => provider.id === modelInfo.fallbackProvider)
410411
})()
411412

412413
if (!modelProvider) throw new ModelError("No provider available")

0 commit comments

Comments
 (0)