mirror of
https://github.com/langgenius/dify.git
synced 2026-04-28 20:17:29 +08:00
feat: knowledge query var
This commit is contained in:
parent
9c0d44fa09
commit
b2de27b7be
@ -6,9 +6,9 @@ import Workflow from '@/app/components/workflow'
|
|||||||
import { BlockEnum } from '@/app/components/workflow/types'
|
import { BlockEnum } from '@/app/components/workflow/types'
|
||||||
|
|
||||||
const nodes = [
|
const nodes = [
|
||||||
BlockEnum.LLM/* 3 */, BlockEnum.VariableAssigner/* 11 */, BlockEnum.Start/* 1 */, BlockEnum.DirectAnswer/* 2 */, BlockEnum.KnowledgeRetrieval/* 4 */, BlockEnum.QuestionClassifier/* 5 */,
|
BlockEnum.KnowledgeRetrieval/* 4 */, BlockEnum.Start/* 1 */, BlockEnum.DirectAnswer/* 2 */, BlockEnum.LLM/* 3 */, BlockEnum.QuestionClassifier/* 5 */,
|
||||||
BlockEnum.IfElse/* 6 */, BlockEnum.Code/* 7 */, BlockEnum.TemplateTransform/* 8 */, BlockEnum.HttpRequest/* 9 */, BlockEnum.Tool/* 10 */,
|
BlockEnum.IfElse/* 6 */, BlockEnum.Code/* 7 */, BlockEnum.TemplateTransform/* 8 */, BlockEnum.HttpRequest/* 9 */, BlockEnum.Tool/* 10 */,
|
||||||
BlockEnum.End/* 12 */,
|
BlockEnum.VariableAssigner/* 11 */, BlockEnum.End/* 12 */,
|
||||||
].map((item, i) => ({
|
].map((item, i) => ({
|
||||||
id: `${i + 1}`,
|
id: `${i + 1}`,
|
||||||
type: 'custom',
|
type: 'custom',
|
||||||
|
|||||||
@ -1,8 +1,9 @@
|
|||||||
|
import { BlockEnum } from '../../types'
|
||||||
import type { KnowledgeRetrievalNodeType } from './types'
|
import type { KnowledgeRetrievalNodeType } from './types'
|
||||||
import { RETRIEVE_TYPE } from '@/types/app'
|
import { RETRIEVE_TYPE } from '@/types/app'
|
||||||
|
|
||||||
export const mockData: KnowledgeRetrievalNodeType = {
|
export const mockData: KnowledgeRetrievalNodeType = {
|
||||||
type: 'KnowledgeRetrieval',
|
type: BlockEnum.KnowledgeRetrieval,
|
||||||
desc: 'xxx',
|
desc: 'xxx',
|
||||||
title: 'KnowledgeRetrieval',
|
title: 'KnowledgeRetrieval',
|
||||||
query_variable_selector: ['aaa', 'name'],
|
query_variable_selector: ['aaa', 'name'],
|
||||||
|
|||||||
@ -1,8 +1,36 @@
|
|||||||
import type { FC } from 'react'
|
import type { FC } from 'react'
|
||||||
|
import { useTranslation } from 'react-i18next'
|
||||||
|
import VarReferencePicker from '../_base/components/variable/var-reference-picker'
|
||||||
|
import useConfig from './use-config'
|
||||||
|
import { mockData } from './mock'
|
||||||
|
import Field from '@/app/components/workflow/nodes/_base/components/field'
|
||||||
|
|
||||||
|
const i18nPrefix = 'workflow.nodes.knowledgeRetrieval'
|
||||||
|
|
||||||
const Panel: FC = () => {
|
const Panel: FC = () => {
|
||||||
|
const { t } = useTranslation()
|
||||||
|
const readOnly = false
|
||||||
|
|
||||||
|
const {
|
||||||
|
inputs,
|
||||||
|
handleQueryVarChange,
|
||||||
|
} = useConfig(mockData)
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>start panel inputs</div>
|
<div className='mt-2'>
|
||||||
|
<div className='px-4 pb-4 space-y-4'>
|
||||||
|
<Field
|
||||||
|
title={t(`${i18nPrefix}.queryVariable`)}
|
||||||
|
>
|
||||||
|
<VarReferencePicker
|
||||||
|
readonly={readOnly}
|
||||||
|
isShowNodeName
|
||||||
|
value={inputs.query_variable_selector}
|
||||||
|
onChange={handleQueryVarChange}
|
||||||
|
/>
|
||||||
|
</Field>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,22 @@
|
|||||||
|
import { useCallback, useState } from 'react'
|
||||||
|
import produce from 'immer'
|
||||||
|
import type { ValueSelector } from '../../types'
|
||||||
|
import type { KnowledgeRetrievalNodeType } from './types'
|
||||||
|
|
||||||
|
const useConfig = (initInputs: KnowledgeRetrievalNodeType) => {
|
||||||
|
const [inputs, setInputs] = useState<KnowledgeRetrievalNodeType>(initInputs)
|
||||||
|
|
||||||
|
const handleQueryVarChange = useCallback((newVar: ValueSelector) => {
|
||||||
|
const newInputs = produce(inputs, (draft) => {
|
||||||
|
draft.query_variable_selector = newVar
|
||||||
|
})
|
||||||
|
setInputs(newInputs)
|
||||||
|
}, [inputs, setInputs])
|
||||||
|
|
||||||
|
return {
|
||||||
|
inputs,
|
||||||
|
handleQueryVarChange,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default useConfig
|
||||||
@ -54,6 +54,9 @@ const translation = {
|
|||||||
usage: 'Model Usage Information',
|
usage: 'Model Usage Information',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
knowledgeRetrieval: {
|
||||||
|
queryVariable: 'Query Variable',
|
||||||
|
},
|
||||||
http: {
|
http: {
|
||||||
inputVars: 'Input Variables',
|
inputVars: 'Input Variables',
|
||||||
api: 'API',
|
api: 'API',
|
||||||
|
|||||||
@ -53,6 +53,9 @@ const translation = {
|
|||||||
usage: '模型用量信息',
|
usage: '模型用量信息',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
knowledgeRetrieval: {
|
||||||
|
queryVariable: '查询变量',
|
||||||
|
},
|
||||||
http: {
|
http: {
|
||||||
inputVars: '输入变量',
|
inputVars: '输入变量',
|
||||||
api: 'API',
|
api: 'API',
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user