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, | |
| }; | |
| }; | |