fix: default assistant name

This commit is contained in:
kangfenmao 2024-08-23 21:41:16 +08:00
parent dfd42fe9a6
commit e353d0f8ee
5 changed files with 79 additions and 62 deletions

View File

@ -25,24 +25,30 @@ const PopupContainer: React.FC<Props> = ({ resolve }) => {
() => ({ () => ({
id: defaultAssistant.id, id: defaultAssistant.id,
name: defaultAssistant.name, name: defaultAssistant.name,
emoji: '', emoji: defaultAssistant.emoji || '',
prompt: defaultAssistant.prompt, prompt: defaultAssistant.prompt,
group: 'system' group: 'system'
}), }),
[defaultAssistant.id, defaultAssistant.name, defaultAssistant.prompt] [defaultAssistant.emoji, defaultAssistant.id, defaultAssistant.name, defaultAssistant.prompt]
) )
const agents = useMemo(() => { const agents = useMemo(() => {
const allAgents = [defaultAgent, ...userAgents, ...systemAgents] as Agent[] const allAgents = [...userAgents, ...systemAgents] as Agent[]
const list = allAgents.filter((agent) => !assistants.map((a) => a.id).includes(agent.id)) const list = [defaultAgent, ...allAgents.filter((agent) => !assistants.map((a) => a.id).includes(agent.id))]
return searchText return searchText
? list.filter((agent) => agent.name.toLowerCase().includes(searchText.trim().toLocaleLowerCase())) ? list.filter((agent) => agent.name.toLowerCase().includes(searchText.trim().toLocaleLowerCase()))
: list : list
}, [assistants, defaultAgent, searchText, userAgents]) }, [assistants, defaultAgent, searchText, userAgents])
const onCreateAssistant = (agent: Agent) => { const onCreateAssistant = (agent: Agent) => {
if (assistants.map((a) => a.id).includes(String(agent.id))) return if (agent.id !== 'default') {
if (assistants.map((a) => a.id).includes(String(agent.id))) {
return
}
}
const assistant = covertAgentToAssistant(agent) const assistant = covertAgentToAssistant(agent)
addAssistant(assistant) addAssistant(assistant)
resolve(assistant) resolve(assistant)
setOpen(false) setOpen(false)

View File

@ -3,6 +3,15 @@ import { Model } from '@renderer/types'
type SystemModel = Model & { enabled: boolean } type SystemModel = Model & { enabled: boolean }
export const SYSTEM_MODELS: Record<string, SystemModel[]> = { export const SYSTEM_MODELS: Record<string, SystemModel[]> = {
ollama: [
{
id: 'qwen2:0.5b',
provider: 'ollama',
name: ' Qwen2 0.5b',
group: 'Qwen2',
enabled: true
}
],
openai: [ openai: [
{ {
id: 'gpt-4o', id: 'gpt-4o',
@ -49,6 +58,36 @@ export const SYSTEM_MODELS: Record<string, SystemModel[]> = {
enabled: true enabled: true
} }
], ],
anthropic: [
{
id: 'claude-3-5-sonnet-20240620',
provider: 'anthropic',
name: 'Claude 3.5 Sonnet',
group: 'Claude 3.5',
enabled: true
},
{
id: 'claude-3-opus-20240229',
provider: 'anthropic',
name: 'Claude 3 Opus',
group: 'Claude 3',
enabled: true
},
{
id: 'claude-3-sonnet-20240229',
provider: 'anthropic',
name: 'Claude 3 Sonnet',
group: 'Claude 3',
enabled: true
},
{
id: 'claude-3-haiku-20240307',
provider: 'anthropic',
name: 'Claude 3 Haiku',
group: 'Claude 3',
enabled: true
}
],
silicon: [ silicon: [
{ {
id: 'Qwen/Qwen2-7B-Instruct', id: 'Qwen/Qwen2-7B-Instruct',
@ -465,35 +504,5 @@ export const SYSTEM_MODELS: Record<string, SystemModel[]> = {
group: 'Gemma', group: 'Gemma',
enabled: false enabled: false
} }
],
anthropic: [
{
id: 'claude-3-5-sonnet-20240620',
provider: 'anthropic',
name: 'Claude 3.5 Sonnet',
group: 'Claude 3.5',
enabled: true
},
{
id: 'claude-3-opus-20240229',
provider: 'anthropic',
name: 'Claude 3 Opus',
group: 'Claude 3',
enabled: true
},
{
id: 'claude-3-sonnet-20240229',
provider: 'anthropic',
name: 'Claude 3 Sonnet',
group: 'Claude 3',
enabled: true
},
{
id: 'claude-3-haiku-20240307',
provider: 'anthropic',
name: 'Claude 3 Haiku',
group: 'Claude 3',
enabled: true
}
] ]
} }

View File

@ -57,7 +57,7 @@ const resources = {
}, },
chat: { chat: {
save: 'Save', save: 'Save',
'default.name': '🔆 Default Assistant', 'default.name': 'Default Assistant',
'default.description': "Hello, I'm Default Assistant. You can start chatting with me right away", 'default.description': "Hello, I'm Default Assistant. You can start chatting with me right away",
'default.topic.name': 'Default Topic', 'default.topic.name': 'Default Topic',
'topics.title': 'Topics', 'topics.title': 'Topics',
@ -294,7 +294,7 @@ const resources = {
}, },
chat: { chat: {
save: '保存', save: '保存',
'default.name': '🔆 默认助手 - Assistant', 'default.name': '默认助手',
'default.description': '你好,我是默认助手。你可以立刻开始跟我聊天。', 'default.description': '你好,我是默认助手。你可以立刻开始跟我聊天。',
'default.topic.name': '默认话题', 'default.topic.name': '默认话题',
'topics.title': '话题', 'topics.title': '话题',

View File

@ -166,9 +166,11 @@ export async function checkApi(provider: Provider) {
const key = 'api-check' const key = 'api-check'
const style = { marginTop: '3vh' } const style = { marginTop: '3vh' }
if (!provider.apiKey) { if (provider.id !== 'ollama') {
window.message.error({ content: i18n.t('message.error.enter.api.key'), key, style }) if (!provider.apiKey) {
return false window.message.error({ content: i18n.t('message.error.enter.api.key'), key, style })
return false
}
} }
if (!provider.apiHost) { if (!provider.apiHost) {

View File

@ -18,10 +18,19 @@ export interface LlmState {
} }
const initialState: LlmState = { const initialState: LlmState = {
defaultModel: SYSTEM_MODELS.openai[0], defaultModel: SYSTEM_MODELS.ollama[0],
topicNamingModel: SYSTEM_MODELS.openai[0], topicNamingModel: SYSTEM_MODELS.ollama[0],
translateModel: SYSTEM_MODELS.openai[0], translateModel: SYSTEM_MODELS.ollama[0],
providers: [ providers: [
{
id: 'ollama',
name: 'Ollama',
apiKey: '',
apiHost: 'http://localhost:11434/v1/',
models: SYSTEM_MODELS.ollama.filter((m) => m.enabled),
isSystem: true,
enabled: true
},
{ {
id: 'openai', id: 'openai',
name: 'OpenAI', name: 'OpenAI',
@ -29,7 +38,7 @@ const initialState: LlmState = {
apiHost: 'https://api.openai.com', apiHost: 'https://api.openai.com',
models: SYSTEM_MODELS.openai.filter((m) => m.enabled), models: SYSTEM_MODELS.openai.filter((m) => m.enabled),
isSystem: true, isSystem: true,
enabled: true enabled: false
}, },
{ {
id: 'gemini', id: 'gemini',
@ -40,6 +49,15 @@ const initialState: LlmState = {
isSystem: true, isSystem: true,
enabled: false enabled: false
}, },
{
id: 'anthropic',
name: 'Anthropic',
apiKey: '',
apiHost: 'https://api.anthropic.com/',
models: SYSTEM_MODELS.anthropic.filter((m) => m.enabled),
isSystem: true,
enabled: false
},
{ {
id: 'silicon', id: 'silicon',
name: 'Silicon', name: 'Silicon',
@ -165,24 +183,6 @@ const initialState: LlmState = {
models: SYSTEM_MODELS.groq.filter((m) => m.enabled), models: SYSTEM_MODELS.groq.filter((m) => m.enabled),
isSystem: true, isSystem: true,
enabled: false enabled: false
},
{
id: 'anthropic',
name: 'Anthropic',
apiKey: '',
apiHost: 'https://api.anthropic.com/',
models: SYSTEM_MODELS.anthropic.filter((m) => m.enabled),
isSystem: true,
enabled: false
},
{
id: 'ollama',
name: 'Ollama',
apiKey: '',
apiHost: 'http://localhost:11434/v1/',
models: [],
isSystem: true,
enabled: false
} }
], ],
settings: { settings: {