modelIcons.tsx 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import {
  2. MessageSquare,
  3. ImageIcon,
  4. Video,
  5. Mic,
  6. Sparkles,
  7. LucideIcon
  8. } from 'lucide-react';
  9. // 模型分类图标映射
  10. export const categoryIcons: Record<string, LucideIcon> = {
  11. '文本': MessageSquare,
  12. '图象': ImageIcon,
  13. '视频': Video,
  14. '语音': Mic,
  15. };
  16. // 模型分类到分类的映射
  17. export const getModelCategory = (category: number): '文本' | '图象' | '视频' | '语音' => {
  18. switch (category) {
  19. case 0: return '文本'; // LLM
  20. case 1: return '文本'; // 多模态
  21. case 2: return '语音'; // TTS
  22. case 3: return '语音'; // STT
  23. case 4: return '图象'; // 生图
  24. case 5: return '视频'; // 生视频
  25. default: return '文本';
  26. }
  27. };
  28. // 根据模型分类获取图标
  29. export const getCategoryIcon = (category: number): LucideIcon => {
  30. const categoryName = getModelCategory(category);
  31. return categoryIcons[categoryName] || Sparkles;
  32. };
  33. // 导出所有图标
  34. export {
  35. MessageSquare,
  36. ImageIcon,
  37. Video,
  38. Mic,
  39. Sparkles
  40. };