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
e4701e26
Commit
e4701e26
authored
Feb 29, 2024
by
Joel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: add datasets
parent
04515698
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
61 additions
and
4 deletions
+61
-4
add-dataset.tsx
...flow/nodes/knowledge-retrieval/components/add-dataset.tsx
+41
-0
retrieval-config.tsx
...nodes/knowledge-retrieval/components/retrieval-config.tsx
+0
-1
panel.tsx
...p/components/workflow/nodes/knowledge-retrieval/panel.tsx
+9
-2
use-config.ts
...mponents/workflow/nodes/knowledge-retrieval/use-config.ts
+11
-1
No files found.
web/app/components/workflow/nodes/knowledge-retrieval/components/add-dataset.tsx
0 → 100644
View file @
e4701e26
'use client'
import
{
useBoolean
}
from
'ahooks'
import
type
{
FC
}
from
'react'
import
React
,
{
useCallback
}
from
'react'
import
AddButton
from
'@/app/components/base/button/add-button'
import
SelectDataset
from
'@/app/components/app/configuration/dataset-config/select-dataset'
import
type
{
DataSet
}
from
'@/models/datasets'
type
Props
=
{
selectedIds
:
string
[]
onChange
:
(
dataSets
:
DataSet
[])
=>
void
}
const
AddDataset
:
FC
<
Props
>
=
({
selectedIds
,
onChange
,
})
=>
{
const
[
isShowModal
,
{
setTrue
:
showModal
,
setFalse
:
hideModal
,
}]
=
useBoolean
(
false
)
const
handleSelect
=
useCallback
((
datasets
:
DataSet
[])
=>
{
onChange
(
datasets
)
hideModal
()
},
[
onChange
,
hideModal
])
return
(
<
div
>
<
AddButton
onClick=
{
showModal
}
/>
{
isShowModal
&&
(
<
SelectDataset
isShow=
{
isShowModal
}
onClose=
{
hideModal
}
selectedIds=
{
selectedIds
}
onSelect=
{
handleSelect
}
/>
)
}
</
div
>
)
}
export
default
React
.
memo
(
AddDataset
)
web/app/components/workflow/nodes/knowledge-retrieval/components/retrieval-config.tsx
View file @
e4701e26
...
...
@@ -39,7 +39,6 @@ const RetrievalConfig: FC<Props> = ({
const
{
defaultModel
:
rerankDefaultModel
,
currentModel
:
isRerankDefaultModelVaild
,
}
=
useModelListAndDefaultModelAndCurrentProviderAndModel
(
3
)
const
{
multiple_retrieval_config
}
=
payload
...
...
web/app/components/workflow/nodes/knowledge-retrieval/panel.tsx
View file @
e4701e26
...
...
@@ -4,6 +4,7 @@ import VarReferencePicker from '../_base/components/variable/var-reference-picke
import
useConfig
from
'./use-config'
import
{
mockData
}
from
'./mock'
import
RetrievalConfig
from
'./components/retrieval-config'
import
AddKnowledge
from
'./components/add-dataset'
import
Field
from
'@/app/components/workflow/nodes/_base/components/field'
import
Split
from
'@/app/components/workflow/nodes/_base/components/split'
import
OutputVars
,
{
VarItem
}
from
'@/app/components/workflow/nodes/_base/components/output-vars'
...
...
@@ -18,6 +19,7 @@ const Panel: FC = () => {
handleQueryVarChange
,
handleRetrievalModeChange
,
handleMultipleRetrievalConfigChange
,
handleOnDatasetsChange
,
}
=
useConfig
(
mockData
)
return
(
...
...
@@ -37,7 +39,7 @@ const Panel: FC = () => {
<
Field
title=
{
t
(
`${i18nPrefix}.knowledge`
)
}
operations=
{
<
div
className=
'flex'
>
<
div
className=
'flex
items-center space-x-1
'
>
<
RetrievalConfig
payload=
{
{
retrieval_mode
:
inputs
.
retrieval_mode
,
...
...
@@ -46,10 +48,15 @@ const Panel: FC = () => {
onRetrievalModeChange=
{
handleRetrievalModeChange
}
onMultipleRetrievalConfigChange=
{
handleMultipleRetrievalConfigChange
}
/>
<
div
className=
'w-px h-3 bg-gray-200'
></
div
>
<
AddKnowledge
selectedIds=
{
inputs
.
dataset_ids
}
onChange=
{
handleOnDatasetsChange
}
/>
</
div
>
}
>
list
</
Field
>
</
div
>
...
...
web/app/components/workflow/nodes/knowledge-retrieval/use-config.ts
View file @
e4701e26
...
...
@@ -3,10 +3,11 @@ import produce from 'immer'
import
type
{
ValueSelector
}
from
'../../types'
import
type
{
KnowledgeRetrievalNodeType
,
MultipleRetrievalConfig
}
from
'./types'
import
type
{
RETRIEVE_TYPE
}
from
'@/types/app'
import
type
{
DataSet
}
from
'@/models/datasets'
const
useConfig
=
(
initInputs
:
KnowledgeRetrievalNodeType
)
=>
{
const
[
inputs
,
setInputs
]
=
useState
<
KnowledgeRetrievalNodeType
>
(
initInputs
)
const
[
selectedDatasets
,
setSelectedDatasets
]
=
useState
<
DataSet
[]
>
([])
const
handleQueryVarChange
=
useCallback
((
newVar
:
ValueSelector
)
=>
{
const
newInputs
=
produce
(
inputs
,
(
draft
)
=>
{
draft
.
query_variable_selector
=
newVar
...
...
@@ -28,11 +29,20 @@ const useConfig = (initInputs: KnowledgeRetrievalNodeType) => {
setInputs
(
newInputs
)
},
[
inputs
,
setInputs
])
const
handleOnDatasetsChange
=
useCallback
((
newDatasets
:
DataSet
[])
=>
{
const
newInputs
=
produce
(
inputs
,
(
draft
)
=>
{
draft
.
dataset_ids
=
newDatasets
.
map
(
d
=>
d
.
id
)
})
setInputs
(
newInputs
)
setSelectedDatasets
(
newDatasets
)
},
[
inputs
,
setInputs
])
return
{
inputs
,
handleQueryVarChange
,
handleRetrievalModeChange
,
handleMultipleRetrievalConfigChange
,
handleOnDatasetsChange
,
}
}
...
...
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