feat: add graphrag provider

This commit is contained in:
kangfenmao 2024-08-13 20:48:38 +08:00
parent 4485a00395
commit 7b72783ae7
10 changed files with 36 additions and 4 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -21,11 +21,12 @@ import DashScopeProviderLogo from '@renderer/assets/images/providers/dashscope.p
import DeepSeekProviderLogo from '@renderer/assets/images/providers/deepseek.png' import DeepSeekProviderLogo from '@renderer/assets/images/providers/deepseek.png'
import DoubaoProviderLogo from '@renderer/assets/images/providers/doubao.png' import DoubaoProviderLogo from '@renderer/assets/images/providers/doubao.png'
import GeminiProviderLogo from '@renderer/assets/images/providers/gemini.png' import GeminiProviderLogo from '@renderer/assets/images/providers/gemini.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 MoonshotProviderLogo from '@renderer/assets/images/providers/moonshot.jpeg' import MoonshotProviderLogo from '@renderer/assets/images/providers/moonshot.jpeg'
import MoonshotModelLogo from '@renderer/assets/images/providers/moonshot.jpeg' import MoonshotModelLogo from '@renderer/assets/images/providers/moonshot.jpeg'
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.jpeg' 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'
import SiliconFlowProviderLogo from '@renderer/assets/images/providers/silicon.png' import SiliconFlowProviderLogo from '@renderer/assets/images/providers/silicon.png'
import StepFunProviderLogo from '@renderer/assets/images/providers/stepfun.png' import StepFunProviderLogo from '@renderer/assets/images/providers/stepfun.png'
@ -66,6 +67,8 @@ export function getProviderLogo(providerId: string) {
return StepFunProviderLogo return StepFunProviderLogo
case 'doubao': case 'doubao':
return DoubaoProviderLogo return DoubaoProviderLogo
case 'graphrag-kylin-mountain':
return GraphRagProviderLogo
default: default:
return undefined return undefined
} }
@ -240,6 +243,12 @@ export const PROVIDER_CONFIG = {
models: 'https://console.volcengine.com/ark/region:ark+cn-beijing/endpoint' models: 'https://console.volcengine.com/ark/region:ark+cn-beijing/endpoint'
} }
}, },
'graphrag-kylin-mountain': {
api: {
url: '',
editable: true
}
},
openrouter: { openrouter: {
api: { api: {
url: 'https://openrouter.ai/api/v1/', url: 'https://openrouter.ai/api/v1/',

View File

@ -120,7 +120,8 @@ const resources = {
anthropic: 'Anthropic', anthropic: 'Anthropic',
aihubmix: 'AiHubMix', aihubmix: 'AiHubMix',
stepfun: 'StepFun', stepfun: 'StepFun',
doubao: 'Doubao' doubao: 'Doubao',
'graphrag-kylin-mountain': 'GraphRAG'
}, },
settings: { settings: {
title: 'Settings', title: 'Settings',
@ -340,7 +341,8 @@ const resources = {
anthropic: 'Anthropic', anthropic: 'Anthropic',
aihubmix: 'AiHubMix', aihubmix: 'AiHubMix',
stepfun: '阶跃星辰', stepfun: '阶跃星辰',
doubao: '豆包' doubao: '豆包',
'graphrag-kylin-mountain': 'GraphRAG'
}, },
settings: { settings: {
title: '设置', title: '设置',

View File

@ -105,10 +105,13 @@ const ProvidersList: FC = () => {
key={JSON.stringify(provider)} key={JSON.stringify(provider)}
className={provider.id === selectedProvider?.id ? 'active' : ''} className={provider.id === selectedProvider?.id ? 'active' : ''}
onClick={() => setSelectedProvider(provider)}> onClick={() => setSelectedProvider(provider)}>
{provider.isSystem && <Avatar src={getProviderLogo(provider.id)} size={25} />} {provider.isSystem && (
<Avatar shape="square" src={getProviderLogo(provider.id)} size={25} />
)}
{!provider.isSystem && ( {!provider.isSystem && (
<Avatar <Avatar
size={25} size={25}
shape="square"
style={{ backgroundColor: generateColorFromChar(provider.name), minWidth: 25 }}> style={{ backgroundColor: generateColorFromChar(provider.name), minWidth: 25 }}>
{getFirstCharacter(provider.name)} {getFirstCharacter(provider.name)}
</Avatar> </Avatar>

View File

@ -130,6 +130,15 @@ const initialState: LlmState = {
isSystem: true, isSystem: true,
enabled: false enabled: false
}, },
{
id: 'graphrag-kylin-mountain',
name: 'GraphRAG',
apiKey: '',
apiHost: '',
models: [],
isSystem: true,
enabled: false
},
{ {
id: 'openrouter', id: 'openrouter',
name: 'OpenRouter', name: 'OpenRouter',

View File

@ -330,6 +330,15 @@ const migrateConfig = {
models: SYSTEM_MODELS.doubao.filter((m) => m.enabled), models: SYSTEM_MODELS.doubao.filter((m) => m.enabled),
isSystem: true, isSystem: true,
enabled: false enabled: false
},
{
id: 'graphrag-kylin-mountain',
name: 'GraphRAG',
apiKey: '',
apiHost: '',
models: [],
isSystem: true,
enabled: false
} }
] ]
} }