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 { Model } from '@renderer/types'
|
||||||
import { Avatar, AvatarProps } from 'antd'
|
import { Avatar, AvatarProps } from 'antd'
|
||||||
import { first } from 'lodash'
|
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'
|
import { Model } from '@renderer/types'
|
||||||
|
|
||||||
const TEXT_TO_IMAGE_REGEX = /flux|diffusion|stabilityai|sd-turbo|dall|cogview/i
|
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 VISION_REGEX = /llava|moondream|minicpm|gemini-1.5|claude-3|vision|glm-4v|gpt-4|qwen-vl/i
|
||||||
const EMBEDDING_REGEX = /embedding/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[]> = {
|
export const SYSTEM_MODELS: Record<string, Model[]> = {
|
||||||
ollama: [],
|
ollama: [],
|
||||||
silicon: [
|
silicon: [
|
||||||
|
|||||||
@ -1,25 +1,8 @@
|
|||||||
import BaicuanAppLogo from '@renderer/assets/images/apps/baixiaoying.webp'
|
import BaicuanAppLogo from '@renderer/assets/images/apps/baixiaoying.webp'
|
||||||
import KimiAppLogo from '@renderer/assets/images/apps/kimi.jpg'
|
import KimiAppLogo from '@renderer/assets/images/apps/kimi.jpg'
|
||||||
import YuewenAppLogo from '@renderer/assets/images/apps/yuewen.png'
|
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 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 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 AiHubMixProviderLogo from '@renderer/assets/images/providers/aihubmix.jpg'
|
||||||
import AnthropicProviderLogo from '@renderer/assets/images/providers/anthropic.jpeg'
|
import AnthropicProviderLogo from '@renderer/assets/images/providers/anthropic.jpeg'
|
||||||
import BaichuanProviderLogo from '@renderer/assets/images/providers/baichuan.png'
|
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 GraphRagProviderLogo from '@renderer/assets/images/providers/graph-rag.png'
|
||||||
import GroqProviderLogo from '@renderer/assets/images/providers/groq.png'
|
import GroqProviderLogo from '@renderer/assets/images/providers/groq.png'
|
||||||
import MinimaxProviderLogo from '@renderer/assets/images/providers/minimax.png'
|
import MinimaxProviderLogo from '@renderer/assets/images/providers/minimax.png'
|
||||||
import MoonshotProviderLogo from '@renderer/assets/images/providers/moonshot.jpg'
|
import MoonshotProviderLogo from '@renderer/assets/images/providers/moonshot.png'
|
||||||
import MoonshotModelLogo from '@renderer/assets/images/providers/moonshot.jpg'
|
|
||||||
import OllamaProviderLogo from '@renderer/assets/images/providers/ollama.png'
|
import OllamaProviderLogo from '@renderer/assets/images/providers/ollama.png'
|
||||||
import OpenAiProviderLogo from '@renderer/assets/images/providers/openai.png'
|
import OpenAiProviderLogo from '@renderer/assets/images/providers/openai.png'
|
||||||
import OpenRouterProviderLogo from '@renderer/assets/images/providers/openrouter.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 = {
|
export const PROVIDER_CONFIG = {
|
||||||
openai: {
|
openai: {
|
||||||
api: {
|
api: {
|
||||||
|
|||||||
@ -3,7 +3,8 @@ import UserPopup from '@renderer/components/Popups/UserPopup'
|
|||||||
import { FONT_FAMILY } from '@renderer/config/constant'
|
import { FONT_FAMILY } from '@renderer/config/constant'
|
||||||
import { APP_NAME, AppLogo, isLocalAi } from '@renderer/config/env'
|
import { APP_NAME, AppLogo, isLocalAi } from '@renderer/config/env'
|
||||||
import { startMinAppById } from '@renderer/config/minapp'
|
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 { useAssistant } from '@renderer/hooks/useAssistant'
|
||||||
import useAvatar from '@renderer/hooks/useAvatar'
|
import useAvatar from '@renderer/hooks/useAvatar'
|
||||||
import { useModel } from '@renderer/hooks/useModel'
|
import { useModel } from '@renderer/hooks/useModel'
|
||||||
@ -35,6 +36,7 @@ const MessageItem: FC<Props> = ({ message, index, onDeleteMessage }) => {
|
|||||||
const { assistant, setModel } = useAssistant(message.assistantId)
|
const { assistant, setModel } = useAssistant(message.assistantId)
|
||||||
const model = useModel(message.modelId)
|
const model = useModel(message.modelId)
|
||||||
const { userName, showMessageDivider, messageFont, fontSize } = useSettings()
|
const { userName, showMessageDivider, messageFont, fontSize } = useSettings()
|
||||||
|
const { theme } = useTheme()
|
||||||
|
|
||||||
const isLastMessage = index === 0
|
const isLastMessage = index === 0
|
||||||
const isAssistantMessage = message.role === 'assistant'
|
const isAssistantMessage = message.role === 'assistant'
|
||||||
@ -54,7 +56,7 @@ const MessageItem: FC<Props> = ({ message, index, onDeleteMessage }) => {
|
|||||||
const avatarSource = useMemo(() => {
|
const avatarSource = useMemo(() => {
|
||||||
if (isLocalAi) return AppLogo
|
if (isLocalAi) return AppLogo
|
||||||
return message.modelId ? getModelLogo(message.modelId) : undefined
|
return message.modelId ? getModelLogo(message.modelId) : undefined
|
||||||
}, [message.modelId])
|
}, [message.modelId, theme])
|
||||||
|
|
||||||
const avatarName = useMemo(() => firstLetter(assistant?.name).toUpperCase(), [assistant?.name])
|
const avatarName = useMemo(() => firstLetter(assistant?.name).toUpperCase(), [assistant?.name])
|
||||||
|
|
||||||
@ -81,7 +83,8 @@ const MessageItem: FC<Props> = ({ message, index, onDeleteMessage }) => {
|
|||||||
style={{
|
style={{
|
||||||
borderRadius: '20%',
|
borderRadius: '20%',
|
||||||
cursor: 'pointer',
|
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}>
|
onClick={showMiniApp}>
|
||||||
{avatarName}
|
{avatarName}
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
import VisionIcon from '@renderer/components/Icons/VisionIcon'
|
import VisionIcon from '@renderer/components/Icons/VisionIcon'
|
||||||
import { isVisionModel } from '@renderer/config/models'
|
import { getModelLogo, isVisionModel } from '@renderer/config/models'
|
||||||
import { getModelLogo } from '@renderer/config/provider'
|
|
||||||
import { useProviders } from '@renderer/hooks/useProvider'
|
import { useProviders } from '@renderer/hooks/useProvider'
|
||||||
import { getModelUniqId } from '@renderer/services/model'
|
import { getModelUniqId } from '@renderer/services/model'
|
||||||
import { Model } from '@renderer/types'
|
import { Model } from '@renderer/types'
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
import { LoadingOutlined, MinusOutlined, PlusOutlined, QuestionCircleOutlined } from '@ant-design/icons'
|
import { LoadingOutlined, MinusOutlined, PlusOutlined, QuestionCircleOutlined } from '@ant-design/icons'
|
||||||
import VisionIcon from '@renderer/components/Icons/VisionIcon'
|
import VisionIcon from '@renderer/components/Icons/VisionIcon'
|
||||||
import { isVisionModel, SYSTEM_MODELS } from '@renderer/config/models'
|
import { getModelLogo, isVisionModel, SYSTEM_MODELS } from '@renderer/config/models'
|
||||||
import { getModelLogo } from '@renderer/config/provider'
|
|
||||||
import { useProvider } from '@renderer/hooks/useProvider'
|
import { useProvider } from '@renderer/hooks/useProvider'
|
||||||
import { fetchModels } from '@renderer/services/api'
|
import { fetchModels } from '@renderer/services/api'
|
||||||
import { Model, Provider } from '@renderer/types'
|
import { Model, Provider } from '@renderer/types'
|
||||||
|
|||||||
@ -7,8 +7,7 @@ import {
|
|||||||
PlusOutlined
|
PlusOutlined
|
||||||
} from '@ant-design/icons'
|
} from '@ant-design/icons'
|
||||||
import VisionIcon from '@renderer/components/Icons/VisionIcon'
|
import VisionIcon from '@renderer/components/Icons/VisionIcon'
|
||||||
import { isVisionModel } from '@renderer/config/models'
|
import { getModelLogo, isVisionModel } from '@renderer/config/models'
|
||||||
import { getModelLogo } from '@renderer/config/provider'
|
|
||||||
import { PROVIDER_CONFIG } from '@renderer/config/provider'
|
import { PROVIDER_CONFIG } from '@renderer/config/provider'
|
||||||
import { useTheme } from '@renderer/context/ThemeProvider'
|
import { useTheme } from '@renderer/context/ThemeProvider'
|
||||||
import { useProvider } from '@renderer/hooks/useProvider'
|
import { useProvider } from '@renderer/hooks/useProvider'
|
||||||
|
|||||||