Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
dify
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ai-tech
dify
Commits
853cdd74
Unverified
Commit
853cdd74
authored
Jan 08, 2024
by
zxhlyh
Committed by
GitHub
Jan 08, 2024
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: update model list (#1967)
parent
69d42ae9
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
87 additions
and
47 deletions
+87
-47
hooks.ts
...nents/header/account-setting/model-provider-page/hooks.ts
+4
-6
index.tsx
...ents/header/account-setting/model-provider-page/index.tsx
+14
-3
index.tsx
...count-setting/model-provider-page/model-display/index.tsx
+0
-0
popup-item.tsx
...setting/model-provider-page/model-selector/popup-item.tsx
+4
-5
credential-panel.tsx
...el-provider-page/provider-added-card/credential-panel.tsx
+59
-27
quota-panel.tsx
...g/model-provider-page/provider-added-card/quota-panel.tsx
+3
-3
index.tsx
...count-setting/model-provider-page/provider-card/index.tsx
+3
-3
No files found.
web/app/components/header/account-setting/model-provider-page/hooks.ts
View file @
853cdd74
...
...
@@ -258,14 +258,12 @@ export const useModelProviders = () => {
}
}
export
const
useUpdateModelProviders
AndModelList
=
()
=>
{
export
const
useUpdateModelProviders
=
()
=>
{
const
{
mutate
}
=
useSWRConfig
()
const
updateModelList
=
useUpdateModelList
()
const
updateModelProviders
AndModelList
=
useCallback
(()
=>
{
const
updateModelProviders
=
useCallback
(()
=>
{
mutate
(
'/workspaces/current/model-providers'
)
updateModelList
(
1
)
},
[
mutate
,
updateModelList
])
},
[
mutate
])
return
updateModelProviders
AndModelList
return
updateModelProviders
}
web/app/components/header/account-setting/model-provider-page/index.tsx
View file @
853cdd74
...
...
@@ -13,7 +13,8 @@ import {
}
from
'./declarations'
import
{
useDefaultModel
,
useUpdateModelProvidersAndModelList
,
useUpdateModelList
,
useUpdateModelProviders
,
}
from
'./hooks'
import
{
AlertTriangle
}
from
'@/app/components/base/icons/src/vender/solid/alertsAndFeedback'
import
{
useProviderContext
}
from
'@/context/provider-context'
...
...
@@ -23,7 +24,8 @@ import { useEventEmitterContextContext } from '@/context/event-emitter'
const
ModelProviderPage
=
()
=>
{
const
{
t
}
=
useTranslation
()
const
{
eventEmitter
}
=
useEventEmitterContextContext
()
const
updateModelProvidersAndModelList
=
useUpdateModelProvidersAndModelList
()
const
updateModelProviders
=
useUpdateModelProviders
()
const
updateModelList
=
useUpdateModelList
()
const
{
data
:
textGenerationDefaultModel
}
=
useDefaultModel
(
1
)
const
{
data
:
embeddingsDefaultModel
}
=
useDefaultModel
(
2
)
const
{
data
:
rerankDefaultModel
}
=
useDefaultModel
(
3
)
...
...
@@ -57,13 +59,22 @@ const ModelProviderPage = () => {
currentCustomConfigrationModelFixedFields
:
customConfigrationModelFixedFields
,
},
onSaveCallback
:
()
=>
{
updateModelProvidersAndModelList
()
updateModelProviders
()
if
(
configurateMethod
===
ConfigurateMethodEnum
.
predefinedModel
)
{
provider
.
supported_model_types
.
forEach
((
type
)
=>
{
updateModelList
(
type
)
})
}
if
(
configurateMethod
===
ConfigurateMethodEnum
.
customizableModel
&&
provider
.
custom_configuration
.
status
===
CustomConfigurationStatusEnum
.
active
)
{
eventEmitter
?.
emit
({
type
:
UPDATE_MODEL_PROVIDER_CUSTOM_MODEL_LIST
,
payload
:
provider
.
provider
,
}
as
any
)
if
(
customConfigrationModelFixedFields
?.
__model_type
)
updateModelList
(
customConfigrationModelFixedFields
?.
__model_type
)
}
},
})
...
...
web/app/components/header/account-setting/model-provider-page/model-display/index.tsx
deleted
100644 → 0
View file @
69d42ae9
web/app/components/header/account-setting/model-provider-page/model-selector/popup-item.tsx
View file @
853cdd74
...
...
@@ -8,7 +8,7 @@ import type {
import
{
useLanguage
,
useUpdateModelList
,
useUpdateModelProviders
AndModelList
,
useUpdateModelProviders
,
}
from
'../hooks'
import
ModelIcon
from
'../model-icon'
import
ModelName
from
'../model-name'
...
...
@@ -16,7 +16,6 @@ import {
ConfigurateMethodEnum
,
MODEL_STATUS_TEXT
,
ModelStatusEnum
,
ModelTypeEnum
,
}
from
'../declarations'
import
{
Check
}
from
'@/app/components/base/icons/src/vender/line/general'
import
{
useModalContext
}
from
'@/context/modal-context'
...
...
@@ -38,7 +37,7 @@ const PopupItem: FC<PopupItemProps> = ({
const
{
setShowModelModal
}
=
useModalContext
()
const
{
modelProviders
}
=
useProviderContext
()
const
updateModelList
=
useUpdateModelList
()
const
updateModelProviders
AndModelList
=
useUpdateModelProvidersAndModelList
()
const
updateModelProviders
=
useUpdateModelProviders
()
const
currentProvider
=
modelProviders
.
find
(
provider
=>
provider
.
provider
===
model
.
provider
)
!
const
handleSelect
=
(
provider
:
string
,
modelItem
:
ModelItem
)
=>
{
if
(
modelItem
.
status
!==
ModelStatusEnum
.
active
)
...
...
@@ -53,11 +52,11 @@ const PopupItem: FC<PopupItemProps> = ({
currentConfigurateMethod
:
ConfigurateMethodEnum
.
predefinedModel
,
},
onSaveCallback
:
()
=>
{
updateModelProviders
AndModelList
()
updateModelProviders
()
const
modelType
=
model
.
models
[
0
].
model_type
if
(
modelType
!==
ModelTypeEnum
.
textGeneration
)
if
(
modelType
)
updateModelList
(
modelType
)
},
})
...
...
web/app/components/header/account-setting/model-provider-page/provider-added-card/credential-panel.tsx
View file @
853cdd74
import
type
{
FC
}
from
'react'
import
{
useTranslation
}
from
'react-i18next'
import
{
useSWRConfig
}
from
'swr'
import
type
{
ModelProvider
}
from
'../declarations'
import
{
ConfigurateMethodEnum
,
CustomConfigurationStatusEnum
,
PreferredProviderTypeEnum
,
}
from
'../declarations'
import
{
useUpdateModelList
}
from
'../hooks'
import
{
useUpdateModelList
,
useUpdateModelProviders
,
}
from
'../hooks'
import
PrioritySelector
from
'./priority-selector'
import
PriorityUseTip
from
'./priority-use-tip'
import
{
UPDATE_MODEL_PROVIDER_CUSTOM_MODEL_LIST
}
from
'./index'
import
Indicator
from
'@/app/components/header/indicator'
import
{
Settings01
}
from
'@/app/components/base/icons/src/vender/line/general'
import
Button
from
'@/app/components/base/button'
import
{
changeModelProviderPriority
}
from
'@/service/common'
import
{
useToastContext
}
from
'@/app/components/base/toast'
import
{
useEventEmitterContextContext
}
from
'@/context/event-emitter'
type
CredentialPanelProps
=
{
provider
:
ModelProvider
...
...
@@ -25,12 +30,14 @@ const CredentialPanel: FC<CredentialPanelProps> = ({
})
=>
{
const
{
t
}
=
useTranslation
()
const
{
notify
}
=
useToastContext
()
const
{
mutate
}
=
useSWRConfig
()
const
{
eventEmitter
}
=
useEventEmitterContextContext
()
const
updateModelList
=
useUpdateModelList
()
const
updateModelProviders
=
useUpdateModelProviders
()
const
customConfig
=
provider
.
custom_configuration
const
systemConfig
=
provider
.
system_configuration
const
priorityUseType
=
provider
.
preferred_provider_type
const
customConfiged
=
customConfig
.
status
===
CustomConfigurationStatusEnum
.
active
const
configurateMethods
=
provider
.
configurate_methods
const
handleChangePriority
=
async
(
key
:
PreferredProviderTypeEnum
)
=>
{
const
res
=
await
changeModelProviderPriority
({
...
...
@@ -41,12 +48,24 @@ const CredentialPanel: FC<CredentialPanelProps> = ({
})
if
(
res
.
result
===
'success'
)
{
notify
({
type
:
'success'
,
message
:
t
(
'common.actionMsg.modifiedSuccessfully'
)
})
mutate
(
'/workspaces/current/model-providers'
)
updateModelList
(
1
)
updateModelProviders
()
configurateMethods
.
forEach
((
method
)
=>
{
if
(
method
===
ConfigurateMethodEnum
.
predefinedModel
)
provider
.
supported_model_types
.
forEach
(
modelType
=>
updateModelList
(
modelType
))
})
eventEmitter
?.
emit
({
type
:
UPDATE_MODEL_PROVIDER_CUSTOM_MODEL_LIST
,
payload
:
provider
.
provider
,
}
as
any
)
}
}
return
(
<>
{
provider
.
provider_credential_schema
&&
(
<
div
className=
'shrink-0 relative ml-1 p-1 w-[112px] rounded-lg bg-white/[0.3] border-[0.5px] border-black/5'
>
<
div
className=
'flex items-center justify-between mb-1 pt-1 pl-2 pr-[7px] h-5 text-xs font-medium text-gray-500'
>
API-KEY
...
...
@@ -76,6 +95,19 @@ const CredentialPanel: FC<CredentialPanelProps> = ({
}
</
div
>
)
}
{
systemConfig
.
enabled
&&
customConfiged
&&
!
provider
.
provider_credential_schema
&&
(
<
div
className=
'ml-1'
>
<
PrioritySelector
value=
{
priorityUseType
}
onSelect=
{
handleChangePriority
}
/>
</
div
>
)
}
</>
)
}
export
default
CredentialPanel
web/app/components/header/account-setting/model-provider-page/provider-added-card/quota-panel.tsx
View file @
853cdd74
import
type
{
FC
}
from
'react'
import
{
useSWRConfig
}
from
'swr'
import
{
useTranslation
}
from
'react-i18next'
import
type
{
ModelProvider
}
from
'../declarations'
import
{
...
...
@@ -10,6 +9,7 @@ import {
import
{
useAnthropicBuyQuota
,
useFreeQuota
,
useUpdateModelProviders
,
}
from
'../hooks'
import
PriorityUseTip
from
'./priority-use-tip'
import
{
InfoCircle
}
from
'@/app/components/base/icons/src/vender/line/general'
...
...
@@ -24,10 +24,10 @@ const QuotaPanel: FC<QuotaPanelProps> = ({
provider
,
})
=>
{
const
{
t
}
=
useTranslation
()
const
{
mutate
}
=
useSWRConfig
()
const
updateModelProviders
=
useUpdateModelProviders
()
const
handlePay
=
useAnthropicBuyQuota
()
const
handleFreeQuotaSuccess
=
()
=>
{
mutate
(
'/workspaces/current/model-providers'
)
updateModelProviders
(
)
}
const
handleFreeQuota
=
useFreeQuota
(
handleFreeQuotaSuccess
)
const
customConfig
=
provider
.
custom_configuration
...
...
web/app/components/header/account-setting/model-provider-page/provider-card/index.tsx
View file @
853cdd74
import
type
{
FC
}
from
'react'
import
{
useSWRConfig
}
from
'swr'
import
{
useTranslation
}
from
'react-i18next'
import
type
{
ModelProvider
,
...
...
@@ -14,6 +13,7 @@ import {
useAnthropicBuyQuota
,
useFreeQuota
,
useLanguage
,
useUpdateModelProviders
,
}
from
'../hooks'
import
ModelBadge
from
'../model-badge'
import
ProviderIcon
from
'../provider-icon'
...
...
@@ -48,10 +48,10 @@ const ProviderCard: FC<ProviderCardProps> = ({
})
=>
{
const
{
t
}
=
useTranslation
()
const
language
=
useLanguage
()
const
{
mutate
}
=
useSWRConfig
()
const
updateModelProviders
=
useUpdateModelProviders
()
const
handlePay
=
useAnthropicBuyQuota
()
const
handleFreeQuotaSuccess
=
()
=>
{
mutate
(
'/workspaces/current/model-providers'
)
updateModelProviders
(
)
}
const
handleFreeQuota
=
useFreeQuota
(
handleFreeQuotaSuccess
)
const
configurateMethods
=
provider
.
configurate_methods
.
filter
(
method
=>
method
!==
ConfigurateMethodEnum
.
fetchFromRemote
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment