dia-gov's picture
Upload 569 files
cd6f98e verified
raw
history blame
720 Bytes
import { useQuery } from "@tanstack/react-query";
import { useSession } from "next-auth/react";
import { z } from "zod";
import { get } from "../services/fetch-utils";
const Model = z.object({
name: z.string(),
max_tokens: z.number(),
has_access: z.boolean(),
});
const ModelList = z.array(Model);
export type LLMModel = z.infer<typeof Model>;
export function useModels() {
const { data: session } = useSession();
const query = useQuery(
["llm"],
async () => await get("/api/models", ModelList, session?.accessToken),
{
enabled: !!session?.accessToken,
}
);
return {
models: query.data ?? [],
getModel: (name: string) => query.data?.find((m) => m.name === name),
};
}