diff --git a/web/app/_components/ExploreModelItem/index.tsx b/web/app/_components/ExploreModelItem/index.tsx index ff16ce924..aa7f0ae25 100644 --- a/web/app/_components/ExploreModelItem/index.tsx +++ b/web/app/_components/ExploreModelItem/index.tsx @@ -6,9 +6,18 @@ import ExploreModelItemHeader from "../ExploreModelItemHeader"; import ModelVersionList from "../ModelVersionList"; import { Fragment, forwardRef, useEffect, useState } from "react"; import SimpleTag from "../SimpleTag"; +import { + MiscellanousTag, + NumOfBit, + QuantMethodTag, + RamRequired, + UsecaseTag, + VersionTag, +} from "@/_components/SimpleTag/TagType"; import { displayDate } from "@/_utils/datetime"; import { Product } from "@/_models/Product"; import useGetMostSuitableModelVersion from "@/_hooks/useGetMostSuitableModelVersion"; +import { toGigabytes } from "@/_utils/converter"; type Props = { model: Product; @@ -29,6 +38,8 @@ const ExploreModelItem = forwardRef(({ model }, ref) => { return null; } + const { quantMethod, bits, maxRamRequired, usecase } = suitableModel; + return (
(({ model }, ref) => {
-
- Model Format -
-
- GGUF -
-
-
-
- Hardware Compatibility -
-
- {/* */} -
-
-
-
-
Release Date
@@ -72,14 +61,49 @@ const ExploreModelItem = forwardRef(({ model }, ref) => {
-
- Expected Performance +
Version
+
+ + + +
+
+
+
+
+
Author
+
+ {model.author} +
+
+
+
+ Compatibility +
+
+ +
- {/* */}
@@ -89,12 +113,16 @@ const ExploreModelItem = forwardRef(({ model }, ref) => { {model.longDescription}
-
+
Tags
{model.tags.map((tag) => ( - // @ts-ignore - + ))}
diff --git a/web/app/_components/ModelVersionItem/index.tsx b/web/app/_components/ModelVersionItem/index.tsx index 3ae0083e4..6271318cf 100644 --- a/web/app/_components/ModelVersionItem/index.tsx +++ b/web/app/_components/ModelVersionItem/index.tsx @@ -8,7 +8,7 @@ import { atom, useAtomValue } from "jotai"; import { ModelVersion } from "@/_models/ModelVersion"; import { useGetDownloadedModels } from "@/_hooks/useGetDownloadedModels"; import SimpleTag from "../SimpleTag"; -import { ModelPerformance } from "../SimpleTag/TagType"; +import { RamRequired, UsecaseTag } from "../SimpleTag/TagType"; type Props = { model: Product; @@ -53,20 +53,29 @@ const ModelVersionItem: React.FC = ({ downloadButton =
Downloaded
; } + const { maxRamRequired, usecase } = modelVersion; + return (
-
+
- {modelVersion.name} + + {modelVersion.name} +
- {isRecommended && ( +
- )} + +
{toGigabytes(modelVersion.size)}
diff --git a/web/app/_components/SimpleTag/TagStyleMapper.ts b/web/app/_components/SimpleTag/TagStyleMapper.ts index b044d7735..bb534829c 100644 --- a/web/app/_components/SimpleTag/TagStyleMapper.ts +++ b/web/app/_components/SimpleTag/TagStyleMapper.ts @@ -13,4 +13,9 @@ export const tagStyleMapper: Record = { "bg-red-50 ext-red-700 ring-1 ring-inset ring-red-600/10", FreeStyle: "bg-gray-100 text-gray-800", ExpectPerformanceMedium: "bg-yellow-100 text-yellow-800", + Version: "bg-red-100 text-yellow-800", + Default: "bg-blue-100 text-blue-800", + RamDefault: "bg-green-50 text-green-700", + UsecaseDefault: "bg-orange-100 text-yellow-800", + MiscellanousDefault: "bg-blue-100 text-blue-800", }; diff --git a/web/app/_components/SimpleTag/TagType.ts b/web/app/_components/SimpleTag/TagType.ts index 12c2abe2e..57c93ca0f 100644 --- a/web/app/_components/SimpleTag/TagType.ts +++ b/web/app/_components/SimpleTag/TagType.ts @@ -24,9 +24,39 @@ export enum FreestyleTag { FreeStyle = "FreeStyle", } +export enum VersionTag { + Version = "Version", +} + +export enum QuantMethodTag { + Default = "Default", +} + +export enum NumOfBit { + Default = "Default", +} + +export enum RamRequired { + RamDefault = "RamDefault", +} + +export enum UsecaseTag { + UsecaseDefault = "UsecaseDefault", +} + +export enum MiscellanousTag { + MiscellanousDefault = "MiscellanousDefault", +} + export type TagType = | ModelPerformance | HardwareCompatibility | ExpectedPerformance | ModelFormat - | FreestyleTag; + | FreestyleTag + | VersionTag + | QuantMethodTag + | NumOfBit + | RamRequired + | UsecaseTag + | MiscellanousTag; diff --git a/web/app/_components/SimpleTag/index.tsx b/web/app/_components/SimpleTag/index.tsx index f7933218e..861807799 100644 --- a/web/app/_components/SimpleTag/index.tsx +++ b/web/app/_components/SimpleTag/index.tsx @@ -15,10 +15,11 @@ const SimpleTag: React.FC = ({ title, type, }) => { + if (!title || title.length === 0) return null; if (!clickable) { return (
{title}
@@ -28,7 +29,7 @@ const SimpleTag: React.FC = ({ return (