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
55b5d76e
Commit
55b5d76e
authored
Mar 07, 2024
by
Joel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: move node run data to node hooks
parent
9693d014
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
49 additions
and
24 deletions
+49
-24
use-one-step-run.ts
...components/workflow/nodes/_base/hooks/use-one-step-run.ts
+6
-17
use-config.ts
web/app/components/workflow/nodes/llm/use-config.ts
+43
-7
No files found.
web/app/components/workflow/nodes/_base/hooks/use-one-step-run.ts
View file @
55b5d76e
...
...
@@ -2,14 +2,14 @@ import { useState } from 'react'
import
{
useWorkflow
}
from
'@/app/components/workflow/hooks'
import
type
{
CommonNodeType
,
InputVar
,
Variable
}
from
'@/app/components/workflow/types'
import
{
InputVarType
}
from
'@/app/components/workflow/types'
import
{
RETRIEVAL_OUTPUT_STRUCT
}
from
'@/app/components/workflow/constants'
type
Params
<
T
>
=
{
id
:
string
data
:
CommonNodeType
<
T
>
defaultRunInputData
:
Record
<
string
,
any
>
}
const
useOneStepRun
=
<
T
>
({
id
,
data
}:
Params
<
T
>
)
=>
{
const
useOneStepRun
=
<
T
>
({
id
,
data
,
defaultRunInputData
}:
Params
<
T
>
)
=>
{
const
{
handleNodeDataUpdate
}
=
useWorkflow
()
const
isShowSingleRun
=
data
.
_isSingleRun
const
hideSingleRun
=
()
=>
{
...
...
@@ -24,15 +24,8 @@ const useOneStepRun = <T>({ id, data }: Params<T>) => {
const
[
runningStatus
,
setRunningStatus
]
=
useState
(
'un started'
)
// TODO: test
const
[
inputVarValues
,
setInputVarValues
]
=
useState
<
Record
<
string
,
any
>>
({
name
:
'Joel'
,
age
:
'18'
,
})
const
[
visionFiles
,
setVisionFiles
]
=
useState
<
any
[]
>
([])
const
[
contexts
,
setContexts
]
=
useState
<
string
[]
>
([
RETRIEVAL_OUTPUT_STRUCT
])
// TODO: store to node
const
[
runInputData
,
setRunInputData
]
=
useState
<
Record
<
string
,
any
>>
(
defaultRunInputData
||
{})
const
toVarInputs
=
(
variables
:
Variable
[]):
InputVar
[]
=>
{
if
(
!
variables
)
...
...
@@ -58,12 +51,8 @@ const useOneStepRun = <T>({ id, data }: Params<T>) => {
toVarInputs
,
runningStatus
,
setRunningStatus
,
inputVarValues
,
setInputVarValues
,
visionFiles
,
setVisionFiles
,
contexts
,
setContexts
,
runInputData
,
setRunInputData
,
}
}
...
...
web/app/components/workflow/nodes/llm/use-config.ts
View file @
55b5d76e
...
...
@@ -9,6 +9,7 @@ import { ModelFeatureEnum } from '@/app/components/header/account-setting/model-
import
useNodeCrud
from
'@/app/components/workflow/nodes/_base/hooks/use-node-crud'
import
useOneStepRun
from
'@/app/components/workflow/nodes/_base/hooks/use-one-step-run'
import
type
{
PromptItem
}
from
'@/models/debug'
import
{
RETRIEVAL_OUTPUT_STRUCT
}
from
'@/app/components/workflow/constants'
const
useConfig
=
(
id
:
string
,
payload
:
LLMNodeType
)
=>
{
const
{
inputs
,
setInputs
}
=
useNodeCrud
<
LLMNodeType
>
(
id
,
payload
)
...
...
@@ -95,18 +96,53 @@ const useConfig = (id: string, payload: LLMNodeType) => {
toVarInputs
,
runningStatus
,
setRunningStatus
,
inputVarValues
,
setInputVarValues
,
visionFiles
,
setVisionFiles
,
contexts
,
setContexts
,
runInputData
,
setRunInputData
,
}
=
useOneStepRun
<
LLMNodeType
>
({
id
,
data
:
inputs
,
defaultRunInputData
:
{
'name'
:
'Joel'
,
'age'
:
'18'
,
'#context#'
:
[
RETRIEVAL_OUTPUT_STRUCT
],
'#vision#'
:
[],
},
})
console
.
log
(
contexts
)
const
inputVarValues
=
(()
=>
{
const
vars
:
Record
<
string
,
any
>
=
{}
Object
.
keys
(
runInputData
)
.
filter
(
key
=>
!
[
'#context#'
,
'#vision#'
].
includes
(
key
))
.
forEach
((
key
)
=>
{
vars
[
key
]
=
runInputData
[
key
]
})
return
vars
})()
const
setInputVarValues
=
useCallback
((
newPayload
:
Record
<
string
,
any
>
)
=>
{
const
newVars
=
{
...
newPayload
,
'#context#'
:
runInputData
[
'#context#'
],
'#vision#'
:
runInputData
[
'#vision#'
],
}
setRunInputData
(
newVars
)
},
[
runInputData
,
setRunInputData
])
const
contexts
=
runInputData
[
'#context#'
]
const
setContexts
=
useCallback
((
newContexts
:
string
[])
=>
{
setRunInputData
({
...
runInputData
,
'#context#'
:
newContexts
,
})
},
[
runInputData
,
setRunInputData
])
const
visionFiles
=
runInputData
[
'#vision'
]
const
setVisionFiles
=
useCallback
((
newFiles
:
any
[])
=>
{
setRunInputData
({
...
runInputData
,
'#vision#'
:
newFiles
,
})
},
[
runInputData
,
setRunInputData
])
const
varInputs
=
toVarInputs
(
inputs
.
variables
)
const
handleRun
=
()
=>
{
...
...
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