feat: new model logo
BIN
src/renderer/src/assets/images/models/360.png
Normal file
|
After Width: | Height: | Size: 9.6 KiB |
BIN
src/renderer/src/assets/images/models/360_dark.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
src/renderer/src/assets/images/models/aimass.png
Normal file
|
After Width: | Height: | Size: 8.4 KiB |
BIN
src/renderer/src/assets/images/models/aimass_dark.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 2.2 KiB |
BIN
src/renderer/src/assets/images/models/baichuan_dark.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 8.3 KiB |
BIN
src/renderer/src/assets/images/models/chatglm_dark.png
Normal file
|
After Width: | Height: | Size: 8.9 KiB |
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 14 KiB |
BIN
src/renderer/src/assets/images/models/claude_dark.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
src/renderer/src/assets/images/models/codegeex.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
src/renderer/src/assets/images/models/codegeex_dark.png
Normal file
|
After Width: | Height: | Size: 5.4 KiB |
BIN
src/renderer/src/assets/images/models/cohere.png
Normal file
|
After Width: | Height: | Size: 7.1 KiB |
BIN
src/renderer/src/assets/images/models/cohere_dark.png
Normal file
|
After Width: | Height: | Size: 6.8 KiB |
BIN
src/renderer/src/assets/images/models/copilot.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
src/renderer/src/assets/images/models/copilot_dark.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
src/renderer/src/assets/images/models/dalle.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
src/renderer/src/assets/images/models/dalle_dark.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
src/renderer/src/assets/images/models/dbrx.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
src/renderer/src/assets/images/models/dbrx_dark.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 7.1 KiB |
BIN
src/renderer/src/assets/images/models/deepseek_dark.png
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 8.5 KiB |
BIN
src/renderer/src/assets/images/models/doubao_dark.png
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
BIN
src/renderer/src/assets/images/models/flashaudio.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
src/renderer/src/assets/images/models/flashaudio_dark.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
src/renderer/src/assets/images/models/flux.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
src/renderer/src/assets/images/models/flux_dark.png
Normal file
|
After Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 3.2 KiB |
BIN
src/renderer/src/assets/images/models/gemini_dark.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 9.1 KiB |
BIN
src/renderer/src/assets/images/models/gemma.png
Normal file
|
After Width: | Height: | Size: 9.4 KiB |
BIN
src/renderer/src/assets/images/models/gemma_dark.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
src/renderer/src/assets/images/models/gork.png
Normal file
|
After Width: | Height: | Size: 6.1 KiB |
BIN
src/renderer/src/assets/images/models/gork_dark.png
Normal file
|
After Width: | Height: | Size: 6.4 KiB |
BIN
src/renderer/src/assets/images/models/gpt_3.5.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
src/renderer/src/assets/images/models/gpt_4.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
src/renderer/src/assets/images/models/gpt_dark.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
src/renderer/src/assets/images/models/gpt_o1.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 12 KiB |
BIN
src/renderer/src/assets/images/models/hailuo_dark.png
Normal file
|
After Width: | Height: | Size: 8.0 KiB |
BIN
src/renderer/src/assets/images/models/hunyuan.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
src/renderer/src/assets/images/models/hunyuan_dark.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
src/renderer/src/assets/images/models/internlm.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
src/renderer/src/assets/images/models/internlm_dark.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 5.2 KiB |
BIN
src/renderer/src/assets/images/models/llama.png
Normal file
|
After Width: | Height: | Size: 7.7 KiB |
BIN
src/renderer/src/assets/images/models/llama_dark.png
Normal file
|
After Width: | Height: | Size: 7.7 KiB |
BIN
src/renderer/src/assets/images/models/llava.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
src/renderer/src/assets/images/models/llava_dark.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
src/renderer/src/assets/images/models/magic.png
Normal file
|
After Width: | Height: | Size: 6.5 KiB |
BIN
src/renderer/src/assets/images/models/magic_dark.png
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 674 B |
BIN
src/renderer/src/assets/images/models/microsoft_dark.png
Normal file
|
After Width: | Height: | Size: 669 B |
BIN
src/renderer/src/assets/images/models/midjourney.png
Normal file
|
After Width: | Height: | Size: 8.7 KiB |
BIN
src/renderer/src/assets/images/models/midjourney_dark.png
Normal file
|
After Width: | Height: | Size: 8.4 KiB |
BIN
src/renderer/src/assets/images/models/minimax.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
src/renderer/src/assets/images/models/minimax_dark.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 5.0 KiB |
BIN
src/renderer/src/assets/images/models/mixtral.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
src/renderer/src/assets/images/models/mixtral_dark.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
src/renderer/src/assets/images/models/moonshot.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
src/renderer/src/assets/images/models/moonshot_dark.png
Normal file
|
After Width: | Height: | Size: 9.9 KiB |
BIN
src/renderer/src/assets/images/models/palm.png
Normal file
|
After Width: | Height: | Size: 6.4 KiB |
@ -1,67 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 27.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Standard_product_icon__x28_1:1_x29_"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="192px" height="192px"
|
||||
viewBox="0 0 192 192" enable-background="new 0 0 192 192" xml:space="preserve">
|
||||
<symbol id="material_x5F_product_x5F_standard_x5F_icon_x5F_keylines_00000077318920148093339210000006245950728745084294_" viewBox="-96 -96 192 192">
|
||||
<g opacity="0.4">
|
||||
<defs>
|
||||
<path id="SVGID_1_" opacity="0.4" d="M-96,96V-96H96V96H-96z"/>
|
||||
</defs>
|
||||
<clipPath id="SVGID_00000071517564283228984050000017848131202901217410_">
|
||||
<use xlink:href="#SVGID_1_" overflow="visible"/>
|
||||
</clipPath>
|
||||
<g clip-path="url(#SVGID_00000071517564283228984050000017848131202901217410_)">
|
||||
<g>
|
||||
<path d="M95.75,95.75v-191.5h-191.5v191.5H95.75 M96,96H-96V-96H96V96L96,96z"/>
|
||||
</g>
|
||||
<circle fill="none" stroke="#000000" stroke-width="0.25" stroke-miterlimit="10" cx="0" cy="0" r="64"/>
|
||||
</g>
|
||||
|
||||
<circle clip-path="url(#SVGID_00000071517564283228984050000017848131202901217410_)" fill="none" stroke="#000000" stroke-width="0.25" stroke-miterlimit="10" cx="0" cy="0" r="88"/>
|
||||
|
||||
<path clip-path="url(#SVGID_00000071517564283228984050000017848131202901217410_)" fill="none" stroke="#000000" stroke-width="0.25" stroke-miterlimit="10" d="
|
||||
M64,76H-64c-6.6,0-12-5.4-12-12V-64c0-6.6,5.4-12,12-12H64c6.6,0,12,5.4,12,12V64C76,70.6,70.6,76,64,76z"/>
|
||||
|
||||
<path clip-path="url(#SVGID_00000071517564283228984050000017848131202901217410_)" fill="none" stroke="#000000" stroke-width="0.25" stroke-miterlimit="10" d="
|
||||
M52,88H-52c-6.6,0-12-5.4-12-12V-76c0-6.6,5.4-12,12-12H52c6.6,0,12,5.4,12,12V76C64,82.6,58.6,88,52,88z"/>
|
||||
|
||||
<path clip-path="url(#SVGID_00000071517564283228984050000017848131202901217410_)" fill="none" stroke="#000000" stroke-width="0.25" stroke-miterlimit="10" d="
|
||||
M76,64H-76c-6.6,0-12-5.4-12-12V-52c0-6.6,5.4-12,12-12H76c6.6,0,12,5.4,12,12V52C88,58.6,82.6,64,76,64z"/>
|
||||
</g>
|
||||
</symbol>
|
||||
<rect id="bounding_box_1_" display="none" fill="none" width="192" height="192"/>
|
||||
<g id="art_layer">
|
||||
<g>
|
||||
<path fill="#F9AB00" d="M96,181.92L96,181.92c6.63,0,12-5.37,12-12v-104H84v104C84,176.55,89.37,181.92,96,181.92z"/>
|
||||
<g>
|
||||
<path fill="#5BB974" d="M143.81,103.87C130.87,90.94,111.54,88.32,96,96l51.37,51.37c2.12,2.12,5.77,1.28,6.67-1.57
|
||||
C158.56,131.49,155.15,115.22,143.81,103.87z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#129EAF" d="M48.19,103.87C61.13,90.94,80.46,88.32,96,96l-51.37,51.37c-2.12,2.12-5.77,1.28-6.67-1.57
|
||||
C33.44,131.49,36.85,115.22,48.19,103.87z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#AF5CF7" d="M140,64c-20.44,0-37.79,13.4-44,32h81.24c3.33,0,5.55-3.52,4.04-6.49C173.56,74.36,157.98,64,140,64z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#FF8BCB" d="M104.49,42.26C90.03,56.72,87.24,78.45,96,96l57.45-57.45c2.36-2.36,1.44-6.42-1.73-7.45
|
||||
C135.54,25.85,117.2,29.55,104.49,42.26z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#FA7B17" d="M87.51,42.26C101.97,56.72,104.76,78.45,96,96L38.55,38.55c-2.36-2.36-1.44-6.42,1.73-7.45
|
||||
C56.46,25.85,74.8,29.55,87.51,42.26z"/>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path fill="#4285F4" d="M52,64c20.44,0,37.79,13.4,44,32H14.76c-3.33,0-5.55-3.52-4.04-6.49C18.44,74.36,34.02,64,52,64z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="keylines" display="none">
|
||||
|
||||
<use xlink:href="#material_x5F_product_x5F_standard_x5F_icon_x5F_keylines_00000077318920148093339210000006245950728745084294_" width="192" height="192" id="material_x5F_product_x5F_standard_x5F_icon_x5F_keylines" x="-96" y="-96" transform="matrix(1 0 0 -1 96 96)" display="inline" overflow="visible"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 3.6 KiB |
BIN
src/renderer/src/assets/images/models/palm_dark.png
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 5.6 KiB |
BIN
src/renderer/src/assets/images/models/qwen_dark.png
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
BIN
src/renderer/src/assets/images/models/stability.png
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
BIN
src/renderer/src/assets/images/models/stability_dark.png
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 6.2 KiB |
BIN
src/renderer/src/assets/images/models/step.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
src/renderer/src/assets/images/models/step_dark.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
src/renderer/src/assets/images/models/wenxin.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
src/renderer/src/assets/images/models/wenxin_dark.png
Normal file
|
After Width: | Height: | Size: 6.4 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 5.3 KiB |
BIN
src/renderer/src/assets/images/models/yi_dark.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
src/renderer/src/assets/images/models/zhipu.png
Normal file
|
After Width: | Height: | Size: 7.1 KiB |
BIN
src/renderer/src/assets/images/models/zhipu_dark.png
Normal file
|
After Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 13 KiB |
BIN
src/renderer/src/assets/images/providers/moonshot.png
Normal file
|
After Width: | Height: | Size: 9.9 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 7.1 KiB |
@ -1,4 +1,4 @@
|
||||
import { getModelLogo } from '@renderer/config/provider'
|
||||
import { getModelLogo } from '@renderer/config/models'
|
||||
import { Model } from '@renderer/types'
|
||||
import { Avatar, AvatarProps } from 'antd'
|
||||
import { first } from 'lodash'
|
||||
|
||||
@ -1,9 +1,151 @@
|
||||
import Ai360ModelLogo from '@renderer/assets/images/models/360.png'
|
||||
import Ai360ModelLogoDark from '@renderer/assets/images/models/360_dark.png'
|
||||
import AimassModelLogo from '@renderer/assets/images/models/aimass.png'
|
||||
import AimassModelLogoDark from '@renderer/assets/images/models/aimass_dark.png'
|
||||
import BaichuanModelLogo from '@renderer/assets/images/models/baichuan.png'
|
||||
import BaichuanModelLogoDark from '@renderer/assets/images/models/baichuan_dark.png'
|
||||
import ChatGLMModelLogo from '@renderer/assets/images/models/chatglm.png'
|
||||
import ChatGLMModelLogoDark from '@renderer/assets/images/models/chatglm_dark.png'
|
||||
import ClaudeModelLogo from '@renderer/assets/images/models/claude.png'
|
||||
import ClaudeModelLogoDark from '@renderer/assets/images/models/claude_dark.png'
|
||||
import CodegeexModelLogo from '@renderer/assets/images/models/codegeex.png'
|
||||
import CodegeexModelLogoDark from '@renderer/assets/images/models/codegeex_dark.png'
|
||||
import CohereModelLogo from '@renderer/assets/images/models/cohere.png'
|
||||
import CohereModelLogoDark from '@renderer/assets/images/models/cohere_dark.png'
|
||||
import CopilotModelLogo from '@renderer/assets/images/models/copilot.png'
|
||||
import CopilotModelLogoDark from '@renderer/assets/images/models/copilot_dark.png'
|
||||
import DalleModelLogo from '@renderer/assets/images/models/dalle.png'
|
||||
import DalleModelLogoDark from '@renderer/assets/images/models/dalle_dark.png'
|
||||
import DbrxModalLogo from '@renderer/assets/images/Models/dbrx.png'
|
||||
import DeepSeekModelLogo from '@renderer/assets/images/models/deepseek.png'
|
||||
import DeepSeekModelLogoDark from '@renderer/assets/images/models/deepseek_dark.png'
|
||||
import DoubaoModelLogo from '@renderer/assets/images/models/doubao.png'
|
||||
import DoubaoModelLogoDark from '@renderer/assets/images/models/doubao_dark.png'
|
||||
import EmbeddingModelLogo from '@renderer/assets/images/models/embedding.png'
|
||||
import EmbeddingModelLogoDark from '@renderer/assets/images/models/embedding.png'
|
||||
import FlashaudioModelLogo from '@renderer/assets/images/models/flashaudio.png'
|
||||
import FlashaudioModelLogoDark from '@renderer/assets/images/models/flashaudio_dark.png'
|
||||
import FluxModelLogo from '@renderer/assets/images/models/flux.png'
|
||||
import FluxModelLogoDark from '@renderer/assets/images/models/flux_dark.png'
|
||||
import GeminiModelLogo from '@renderer/assets/images/models/gemini.png'
|
||||
import GeminiModelLogoDark from '@renderer/assets/images/models/gemini_dark.png'
|
||||
import GemmaModelLogo from '@renderer/assets/images/models/gemma.png'
|
||||
import GemmaModelLogoDark from '@renderer/assets/images/models/gemma_dark.png'
|
||||
import GorkModelLogo from '@renderer/assets/images/models/gork.png'
|
||||
import GorkModelLogoDark from '@renderer/assets/images/models/gork_dark.png'
|
||||
import ChatGPT35ModelLogo from '@renderer/assets/images/models/gpt_3.5.png'
|
||||
import ChatGPT4ModelLogo from '@renderer/assets/images/models/gpt_4.png'
|
||||
import ChatGPT35ModelLogoDark from '@renderer/assets/images/models/gpt_dark.png'
|
||||
import ChatGPT4ModelLogoDark from '@renderer/assets/images/models/gpt_dark.png'
|
||||
import ChatGPTo1ModelLogoDark from '@renderer/assets/images/models/gpt_dark.png'
|
||||
import ChatGPTo1ModelLogo from '@renderer/assets/images/models/gpt_o1.png'
|
||||
import HailuoModelLogo from '@renderer/assets/images/models/hailuo.png'
|
||||
import HailuoModelLogoDark from '@renderer/assets/images/models/hailuo_dark.png'
|
||||
import HunyuanModelLogo from '@renderer/assets/images/models/hunyuan.png'
|
||||
import HunyuanModelLogoDark from '@renderer/assets/images/models/hunyuan_dark.png'
|
||||
import InternlmModelLogo from '@renderer/assets/images/models/internlm.png'
|
||||
import InternlmModelLogoDark from '@renderer/assets/images/models/internlm_dark.png'
|
||||
import LlamaModelLogo from '@renderer/assets/images/models/llama.png'
|
||||
import LlamaModelLogoDark from '@renderer/assets/images/models/llama_dark.png'
|
||||
import LLavaModelLogo from '@renderer/assets/images/models/llava.png'
|
||||
import LLavaModelLogoDark from '@renderer/assets/images/models/llava_dark.png'
|
||||
import MagicModelLogo from '@renderer/assets/images/models/magic.png'
|
||||
import MagicModelLogoDark from '@renderer/assets/images/models/magic_dark.png'
|
||||
import MicrosoftModelLogo from '@renderer/assets/images/models/microsoft.png'
|
||||
import MicrosoftModelLogoDark from '@renderer/assets/images/models/microsoft_dark.png'
|
||||
import MidjourneyModelLogo from '@renderer/assets/images/models/midjourney.png'
|
||||
import MidjourneyModelLogoDark from '@renderer/assets/images/models/midjourney_dark.png'
|
||||
import MinicpmModelLogo from '@renderer/assets/images/models/minicpm.webp'
|
||||
import MinicpmModelLogoDark from '@renderer/assets/images/models/minicpm.webp'
|
||||
import MinimaxModelLogo from '@renderer/assets/images/models/minimax.png'
|
||||
import MinimaxModelLogoDark from '@renderer/assets/images/models/minimax_dark.png'
|
||||
import MistralModelLogo from '@renderer/assets/images/models/mixtral.png'
|
||||
import MistralModelLogoDark from '@renderer/assets/images/models/mixtral_dark.png'
|
||||
import MoonshotModelLogo from '@renderer/assets/images/models/moonshot.png'
|
||||
import MoonshotModelLogoDark from '@renderer/assets/images/models/moonshot_dark.png'
|
||||
import PalmModelLogo from '@renderer/assets/images/models/palm.png'
|
||||
import PalmModelLogoDark from '@renderer/assets/images/models/palm_dark.png'
|
||||
import QwenModelLogo from '@renderer/assets/images/models/qwen.png'
|
||||
import QwenModelLogoDark from '@renderer/assets/images/models/qwen_dark.png'
|
||||
import StabilityModelLogo from '@renderer/assets/images/models/stability.png'
|
||||
import StabilityModelLogoDark from '@renderer/assets/images/models/stability_dark.png'
|
||||
import StepModelLogo from '@renderer/assets/images/models/step.png'
|
||||
import StepModelLogoDark from '@renderer/assets/images/models/step_dark.png'
|
||||
import WenxinModelLogo from '@renderer/assets/images/models/wenxin.png'
|
||||
import WenxinModelLogoDark from '@renderer/assets/images/models/wenxin_dark.png'
|
||||
import YiModelLogo from '@renderer/assets/images/models/yi.png'
|
||||
import YiModelLogoDark from '@renderer/assets/images/models/yi_dark.png'
|
||||
import { Model } from '@renderer/types'
|
||||
|
||||
const TEXT_TO_IMAGE_REGEX = /flux|diffusion|stabilityai|sd-turbo|dall|cogview/i
|
||||
const VISION_REGEX = /llava|moondream|minicpm|gemini-1.5|claude-3|vision|glm-4v|gpt-4|qwen-vl/i
|
||||
const EMBEDDING_REGEX = /embedding/i
|
||||
|
||||
export function getModelLogo(modelId: string) {
|
||||
const isLight = true
|
||||
|
||||
if (!modelId) {
|
||||
return undefined
|
||||
}
|
||||
|
||||
const logoMap = {
|
||||
'o1-': isLight ? ChatGPTo1ModelLogo : ChatGPTo1ModelLogoDark,
|
||||
'gpt-3': isLight ? ChatGPT35ModelLogo : ChatGPT35ModelLogoDark,
|
||||
'gpt-4': isLight ? ChatGPT4ModelLogo : ChatGPT4ModelLogoDark,
|
||||
'text-moderation': isLight ? ChatGPTo1ModelLogo : ChatGPTo1ModelLogoDark,
|
||||
glm: isLight ? ChatGLMModelLogo : ChatGLMModelLogoDark,
|
||||
deepseek: isLight ? DeepSeekModelLogo : DeepSeekModelLogoDark,
|
||||
qwen: isLight ? QwenModelLogo : QwenModelLogoDark,
|
||||
gemma: isLight ? GemmaModelLogo : GemmaModelLogoDark,
|
||||
'yi-': isLight ? YiModelLogo : YiModelLogoDark,
|
||||
llama: isLight ? LlamaModelLogo : LlamaModelLogoDark,
|
||||
mixtral: isLight ? MistralModelLogo : MistralModelLogo,
|
||||
mistral: isLight ? MistralModelLogo : MistralModelLogoDark,
|
||||
moonshot: isLight ? MoonshotModelLogo : MoonshotModelLogoDark,
|
||||
phi: isLight ? MicrosoftModelLogo : MicrosoftModelLogoDark,
|
||||
baichuan: isLight ? BaichuanModelLogo : BaichuanModelLogoDark,
|
||||
claude: isLight ? ClaudeModelLogo : ClaudeModelLogoDark,
|
||||
gemini: isLight ? GeminiModelLogo : GeminiModelLogoDark,
|
||||
embedding: isLight ? EmbeddingModelLogo : EmbeddingModelLogoDark,
|
||||
bison: isLight ? PalmModelLogo : PalmModelLogoDark,
|
||||
palm: isLight ? PalmModelLogo : PalmModelLogoDark,
|
||||
step: isLight ? StepModelLogo : StepModelLogoDark,
|
||||
abab: isLight ? HailuoModelLogo : HailuoModelLogoDark,
|
||||
'ep-202': isLight ? DoubaoModelLogo : DoubaoModelLogoDark,
|
||||
cohere: isLight ? CohereModelLogo : CohereModelLogoDark,
|
||||
command: isLight ? CohereModelLogo : CohereModelLogoDark,
|
||||
minicpm: isLight ? MinicpmModelLogo : MinicpmModelLogoDark,
|
||||
'360': isLight ? Ai360ModelLogo : Ai360ModelLogoDark,
|
||||
aimass: isLight ? AimassModelLogo : AimassModelLogoDark,
|
||||
codegeex: isLight ? CodegeexModelLogo : CodegeexModelLogoDark,
|
||||
copilot: isLight ? CopilotModelLogo : CopilotModelLogoDark,
|
||||
dalle: isLight ? DalleModelLogo : DalleModelLogoDark,
|
||||
'dall-e': isLight ? DalleModelLogo : DalleModelLogoDark,
|
||||
dbrx: isLight ? DbrxModalLogo : DbrxModalLogo,
|
||||
flashaudio: isLight ? FlashaudioModelLogo : FlashaudioModelLogoDark,
|
||||
flux: isLight ? FluxModelLogo : FluxModelLogoDark,
|
||||
gork: isLight ? GorkModelLogo : GorkModelLogoDark,
|
||||
hunyuan: isLight ? HunyuanModelLogo : HunyuanModelLogoDark,
|
||||
internlm: isLight ? InternlmModelLogo : InternlmModelLogoDark,
|
||||
llava: isLight ? LLavaModelLogo : LLavaModelLogoDark,
|
||||
magic: isLight ? MagicModelLogo : MagicModelLogoDark,
|
||||
midjourney: isLight ? MidjourneyModelLogo : MidjourneyModelLogoDark,
|
||||
minimax: isLight ? MinimaxModelLogo : MinimaxModelLogoDark,
|
||||
wenxin: isLight ? WenxinModelLogo : WenxinModelLogoDark,
|
||||
voice: isLight ? FlashaudioModelLogo : FlashaudioModelLogoDark,
|
||||
tts: isLight ? FlashaudioModelLogo : FlashaudioModelLogoDark,
|
||||
stability: isLight ? StabilityModelLogo : StabilityModelLogoDark
|
||||
}
|
||||
|
||||
for (const key in logoMap) {
|
||||
if (modelId.toLowerCase().includes(key)) {
|
||||
return logoMap[key]
|
||||
}
|
||||
}
|
||||
|
||||
return undefined
|
||||
}
|
||||
|
||||
export const SYSTEM_MODELS: Record<string, Model[]> = {
|
||||
ollama: [],
|
||||
silicon: [
|
||||
|
||||
@ -1,25 +1,8 @@
|
||||
import BaicuanAppLogo from '@renderer/assets/images/apps/baixiaoying.webp'
|
||||
import KimiAppLogo from '@renderer/assets/images/apps/kimi.jpg'
|
||||
import YuewenAppLogo from '@renderer/assets/images/apps/yuewen.png'
|
||||
import BaichuanModelLogo from '@renderer/assets/images/models/baichuan.png'
|
||||
import ChatGLMModelLogo from '@renderer/assets/images/models/chatglm.png'
|
||||
import ChatGPTModelLogo from '@renderer/assets/images/models/chatgpt.jpeg'
|
||||
import ClaudeModelLogo from '@renderer/assets/images/models/claude.png'
|
||||
import CohereModelLogo from '@renderer/assets/images/models/cohere.webp'
|
||||
import DeepSeekModelLogo from '@renderer/assets/images/models/deepseek.png'
|
||||
import DoubaoModelLogo from '@renderer/assets/images/models/doubao.png'
|
||||
import EmbeddingModelLogo from '@renderer/assets/images/models/embedding.png'
|
||||
import GeminiModelLogo from '@renderer/assets/images/models/gemini.png'
|
||||
import GemmaModelLogo from '@renderer/assets/images/models/gemma.jpeg'
|
||||
import HailuoModelLogo from '@renderer/assets/images/models/hailuo.png'
|
||||
import LlamaModelLogo from '@renderer/assets/images/models/llama.jpeg'
|
||||
import MicrosoftModelLogo from '@renderer/assets/images/models/microsoft.png'
|
||||
import MinicpmModelLogo from '@renderer/assets/images/models/minicpm.webp'
|
||||
import MixtralModelLogo from '@renderer/assets/images/models/mixtral.jpeg'
|
||||
import PalmModelLogo from '@renderer/assets/images/models/palm.svg'
|
||||
import QwenModelLogo from '@renderer/assets/images/models/qwen.png'
|
||||
import StepModelLogo from '@renderer/assets/images/models/step.jpg'
|
||||
import YiModelLogo from '@renderer/assets/images/models/yi.png'
|
||||
import AiHubMixProviderLogo from '@renderer/assets/images/providers/aihubmix.jpg'
|
||||
import AnthropicProviderLogo from '@renderer/assets/images/providers/anthropic.jpeg'
|
||||
import BaichuanProviderLogo from '@renderer/assets/images/providers/baichuan.png'
|
||||
@ -31,8 +14,7 @@ import GithubProviderLogo from '@renderer/assets/images/providers/github.svg'
|
||||
import GraphRagProviderLogo from '@renderer/assets/images/providers/graph-rag.png'
|
||||
import GroqProviderLogo from '@renderer/assets/images/providers/groq.png'
|
||||
import MinimaxProviderLogo from '@renderer/assets/images/providers/minimax.png'
|
||||
import MoonshotProviderLogo from '@renderer/assets/images/providers/moonshot.jpg'
|
||||
import MoonshotModelLogo from '@renderer/assets/images/providers/moonshot.jpg'
|
||||
import MoonshotProviderLogo from '@renderer/assets/images/providers/moonshot.png'
|
||||
import OllamaProviderLogo from '@renderer/assets/images/providers/ollama.png'
|
||||
import OpenAiProviderLogo from '@renderer/assets/images/providers/openai.png'
|
||||
import OpenRouterProviderLogo from '@renderer/assets/images/providers/openrouter.png'
|
||||
@ -86,47 +68,6 @@ export function getProviderLogo(providerId: string) {
|
||||
}
|
||||
}
|
||||
|
||||
export function getModelLogo(modelId: string) {
|
||||
if (!modelId) {
|
||||
return undefined
|
||||
}
|
||||
|
||||
const logoMap = {
|
||||
o1: OpenAiProviderLogo,
|
||||
gpt: ChatGPTModelLogo,
|
||||
glm: ChatGLMModelLogo,
|
||||
deepseek: DeepSeekModelLogo,
|
||||
qwen: QwenModelLogo,
|
||||
gemma: GemmaModelLogo,
|
||||
'yi-': YiModelLogo,
|
||||
llama: LlamaModelLogo,
|
||||
mixtral: MixtralModelLogo,
|
||||
mistral: MixtralModelLogo,
|
||||
moonshot: MoonshotModelLogo,
|
||||
phi: MicrosoftModelLogo,
|
||||
baichuan: BaichuanModelLogo,
|
||||
claude: ClaudeModelLogo,
|
||||
gemini: GeminiModelLogo,
|
||||
embedding: EmbeddingModelLogo,
|
||||
bison: PalmModelLogo,
|
||||
palm: PalmModelLogo,
|
||||
step: StepModelLogo,
|
||||
abab: HailuoModelLogo,
|
||||
'ep-202': DoubaoModelLogo,
|
||||
cohere: CohereModelLogo,
|
||||
command: CohereModelLogo,
|
||||
minicpm: MinicpmModelLogo
|
||||
}
|
||||
|
||||
for (const key in logoMap) {
|
||||
if (modelId.toLowerCase().includes(key)) {
|
||||
return logoMap[key]
|
||||
}
|
||||
}
|
||||
|
||||
return undefined
|
||||
}
|
||||
|
||||
export const PROVIDER_CONFIG = {
|
||||
openai: {
|
||||
api: {
|
||||
|
||||
@ -3,7 +3,8 @@ import UserPopup from '@renderer/components/Popups/UserPopup'
|
||||
import { FONT_FAMILY } from '@renderer/config/constant'
|
||||
import { APP_NAME, AppLogo, isLocalAi } from '@renderer/config/env'
|
||||
import { startMinAppById } from '@renderer/config/minapp'
|
||||
import { getModelLogo } from '@renderer/config/provider'
|
||||
import { getModelLogo } from '@renderer/config/models'
|
||||
import { useTheme } from '@renderer/context/ThemeProvider'
|
||||
import { useAssistant } from '@renderer/hooks/useAssistant'
|
||||
import useAvatar from '@renderer/hooks/useAvatar'
|
||||
import { useModel } from '@renderer/hooks/useModel'
|
||||
@ -35,6 +36,7 @@ const MessageItem: FC<Props> = ({ message, index, onDeleteMessage }) => {
|
||||
const { assistant, setModel } = useAssistant(message.assistantId)
|
||||
const model = useModel(message.modelId)
|
||||
const { userName, showMessageDivider, messageFont, fontSize } = useSettings()
|
||||
const { theme } = useTheme()
|
||||
|
||||
const isLastMessage = index === 0
|
||||
const isAssistantMessage = message.role === 'assistant'
|
||||
@ -54,7 +56,7 @@ const MessageItem: FC<Props> = ({ message, index, onDeleteMessage }) => {
|
||||
const avatarSource = useMemo(() => {
|
||||
if (isLocalAi) return AppLogo
|
||||
return message.modelId ? getModelLogo(message.modelId) : undefined
|
||||
}, [message.modelId])
|
||||
}, [message.modelId, theme])
|
||||
|
||||
const avatarName = useMemo(() => firstLetter(assistant?.name).toUpperCase(), [assistant?.name])
|
||||
|
||||
@ -81,7 +83,8 @@ const MessageItem: FC<Props> = ({ message, index, onDeleteMessage }) => {
|
||||
style={{
|
||||
borderRadius: '20%',
|
||||
cursor: 'pointer',
|
||||
border: '1px solid var(--color-border)'
|
||||
border: isLocalAi ? '1px solid var(--color-border-soft)' : 'none',
|
||||
filter: theme === 'dark' ? 'invert(0.05)' : undefined
|
||||
}}
|
||||
onClick={showMiniApp}>
|
||||
{avatarName}
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
import VisionIcon from '@renderer/components/Icons/VisionIcon'
|
||||
import { isVisionModel } from '@renderer/config/models'
|
||||
import { getModelLogo } from '@renderer/config/provider'
|
||||
import { getModelLogo, isVisionModel } from '@renderer/config/models'
|
||||
import { useProviders } from '@renderer/hooks/useProvider'
|
||||
import { getModelUniqId } from '@renderer/services/model'
|
||||
import { Model } from '@renderer/types'
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
import { LoadingOutlined, MinusOutlined, PlusOutlined, QuestionCircleOutlined } from '@ant-design/icons'
|
||||
import VisionIcon from '@renderer/components/Icons/VisionIcon'
|
||||
import { isVisionModel, SYSTEM_MODELS } from '@renderer/config/models'
|
||||
import { getModelLogo } from '@renderer/config/provider'
|
||||
import { getModelLogo, isVisionModel, SYSTEM_MODELS } from '@renderer/config/models'
|
||||
import { useProvider } from '@renderer/hooks/useProvider'
|
||||
import { fetchModels } from '@renderer/services/api'
|
||||
import { Model, Provider } from '@renderer/types'
|
||||
|
||||
@ -7,8 +7,7 @@ import {
|
||||
PlusOutlined
|
||||
} from '@ant-design/icons'
|
||||
import VisionIcon from '@renderer/components/Icons/VisionIcon'
|
||||
import { isVisionModel } from '@renderer/config/models'
|
||||
import { getModelLogo } from '@renderer/config/provider'
|
||||
import { getModelLogo, isVisionModel } from '@renderer/config/models'
|
||||
import { PROVIDER_CONFIG } from '@renderer/config/provider'
|
||||
import { useTheme } from '@renderer/context/ThemeProvider'
|
||||
import { useProvider } from '@renderer/hooks/useProvider'
|
||||
|
||||