Spaces:
Running
Running
| export const getBestProvider = async (model: string, provider?: string) => { | |
| const response = await fetch(`https://router.huggingface.co/v1/models/${model}`) | |
| const { data } = await response.json() | |
| let bestProvider = null; | |
| if (provider === "auto") { | |
| const sortedProviders = data.providers.sort((a: any, b: any) => { | |
| if (a.status === "live" && b.status !== "live") return -1 | |
| if (a.status !== "live" && b.status === "live") return 1 | |
| return a?.pricing?.output - b?.pricing?.output + a?.pricing?.input - b?.pricing?.input | |
| }) | |
| bestProvider = sortedProviders[0] | |
| } else { | |
| const providerData = data.providers.find((p: any) => p.provider === provider) | |
| if (providerData?.status === "live") { | |
| bestProvider = providerData | |
| } else { | |
| bestProvider = data.providers?.find((p: any) => p.status === "live") | |
| } | |
| } | |
| return bestProvider | |
| } |