Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
import type { Provider } from "$lib/types.js"; | |
import type { PageLoad } from "./$types.js"; | |
import type { ApiModelsResponse } from "./api/models/+server.js"; | |
export type RouterData = { | |
object: string; | |
data: Datum[]; | |
}; | |
type Datum = { | |
id: string; | |
// eslint-disable-next-line @typescript-eslint/no-explicit-any | |
object: any; | |
created: number; | |
owned_by: string; | |
providers: ProviderElement[]; | |
}; | |
type ProviderElement = { | |
provider: Provider; | |
// eslint-disable-next-line @typescript-eslint/no-explicit-any | |
status: any; | |
context_length?: number; | |
pricing?: Pricing; | |
supports_tools?: boolean; | |
supports_structured_output?: boolean; | |
}; | |
type Pricing = { | |
input: number; | |
output: number; | |
}; | |
export const load: PageLoad = async ({ fetch }) => { | |
const [modelsRes, routerRes] = await Promise.all([ | |
fetch("/api/models"), | |
fetch("https://router.huggingface.co/v1/models"), | |
]); | |
const models: ApiModelsResponse = await modelsRes.json(); | |
const routerData = (await routerRes.json()) as RouterData; | |
return { | |
...models, | |
routerData, | |
}; | |
}; | |