diff --git a/web/src/helpers/render.jsx b/web/src/helpers/render.jsx index 057c0787..d3a7350a 100644 --- a/web/src/helpers/render.jsx +++ b/web/src/helpers/render.jsx @@ -170,21 +170,21 @@ export const getModelCategories = (() => { gemini: { label: 'Gemini', icon: , - filter: (model) => - model.model_name.toLowerCase().includes('gemini') || + filter: (model) => + model.model_name.toLowerCase().includes('gemini') || model.model_name.toLowerCase().includes('gemma') || - model.model_name.toLowerCase().includes('learnlm') || + model.model_name.toLowerCase().includes('learnlm') || model.model_name.toLowerCase().startsWith('embedding-') || model.model_name.toLowerCase().includes('text-embedding-004') || - model.model_name.toLowerCase().includes('imagen-4') || - model.model_name.toLowerCase().includes('veo-') || - model.model_name.toLowerCase().includes('aqa'), + model.model_name.toLowerCase().includes('imagen-4') || + model.model_name.toLowerCase().includes('veo-') || + model.model_name.toLowerCase().includes('aqa') , }, moonshot: { label: 'Moonshot', icon: , - filter: (model) => - model.model_name.toLowerCase().includes('moonshot') || + filter: (model) => + model.model_name.toLowerCase().includes('moonshot') || model.model_name.toLowerCase().includes('kimi'), }, zhipu: { @@ -192,8 +192,8 @@ export const getModelCategories = (() => { icon: , filter: (model) => model.model_name.toLowerCase().includes('chatglm') || - model.model_name.toLowerCase().includes('glm-') || - model.model_name.toLowerCase().includes('cogview') || + model.model_name.toLowerCase().includes('glm-') || + model.model_name.toLowerCase().includes('cogview') || model.model_name.toLowerCase().includes('cogvideo'), }, qwen: { @@ -209,8 +209,8 @@ export const getModelCategories = (() => { minimax: { label: 'MiniMax', icon: , - filter: (model) => - model.model_name.toLowerCase().includes('abab') || + filter: (model) => + model.model_name.toLowerCase().includes('abab') || model.model_name.toLowerCase().includes('minimax'), }, baidu: { @@ -236,7 +236,7 @@ export const getModelCategories = (() => { cohere: { label: 'Cohere', icon: , - filter: (model) => + filter: (model) => model.model_name.toLowerCase().includes('command') || model.model_name.toLowerCase().includes('c4ai-') || model.model_name.toLowerCase().includes('embed-'), @@ -259,7 +259,7 @@ export const getModelCategories = (() => { mistral: { label: 'Mistral AI', icon: , - filter: (model) => + filter: (model) => model.model_name.toLowerCase().includes('mistral') || model.model_name.toLowerCase().includes('codestral') || model.model_name.toLowerCase().includes('pixtral') || @@ -605,34 +605,6 @@ export function stringToColor(str) { return colors[i]; } -// High-contrast color palette for group tags (avoids similar blue/teal shades) -const groupColors = [ - 'red', - 'orange', - 'yellow', - 'lime', - 'green', - 'cyan', - 'blue', - 'indigo', - 'violet', - 'purple', - 'pink', - 'amber', - 'grey', -]; - -export function groupToColor(str) { - // Use a better hash algorithm for more even distribution - let hash = 0; - for (let i = 0; i < str.length; i++) { - hash = (hash << 5) - hash + str.charCodeAt(i); - hash = hash & hash; - } - hash = Math.abs(hash); - return groupColors[hash % groupColors.length]; -} - // 渲染带有模型图标的标签 export function renderModelTag(modelName, options = {}) { const { @@ -701,7 +673,7 @@ export function renderGroup(group) { {groups.map((group) => ( {