MCPcopy Create free account
hub / github.com/ModelEngine-Group/app-platform / Memory

Function Memory

agent-flow/src/components/start/Memory.jsx:28–152  ·  view source on GitHub ↗
({config, disabled})

Source from the content-addressed store, hash-verified

26 * @returns {JSX.Element} 开始节点Memory组件的Dom
27 */
28export default function Memory({config, disabled}) {
29 const dispatch = useDispatch();
30 const data = useDataContext();
31 const memoryTypeValue = data.find(item => item.name === 'memory').value.find(item => item.name === 'type').value;
32 const memoryValueValue = data.find(item => item.name === 'memory').value.find(item => item.name === 'value').value;
33
34 const handleSelectClick = (event) => {
35 event.stopPropagation(); // 阻止事件冒泡
36 };
37
38 // 处理内部组件值变化的回调函数
39 const handleComponentValueChange = (valueType, newValue) => {
40 dispatch({actionType: 'changeMemory', memoryType: memoryTypeValue, memoryValueType: valueType, memoryValue: newValue});
41 };
42
43 // 根据不同的值渲染不同的组件
44 const renderComponent = () => {
45 switch (memoryTypeValue) {
46 case 'ByConversationTurn': // 按对话轮次(一问一答,0-10,默认3)
47 return <ByConversationTurn disabled={disabled}
48 propValue={memoryValueValue}
49 onValueChange={handleComponentValueChange}/>;
50 case 'ByNumber': // 按条数(默认20)
51 return <ByNumber disabled={disabled}
52 propValue={memoryValueValue}
53 onValueChange={handleComponentValueChange}/>;
54 case 'ByTokenSize': // 按token大小
55 return <ByTokenSize disabled={disabled}
56 propValue={memoryValueValue}
57 onValueChange={handleComponentValueChange}/>;
58 case 'ByTime': // 按时间
59 return <ByTime disabled={disabled}
60 propValue={memoryValueValue}
61 onValueChange={handleComponentValueChange}/>;
62 case 'Customizing': // 自定义(选fitable)
63 return <Customizing disabled={disabled}
64 propValue={memoryValueValue}
65 onValueChange={handleComponentValueChange}
66 config={config}/>;
67 case 'UserSelect': // 用户自己勾选(true、false)
68 return null;
69 case 'NotUseMemory': // 不使用历史记录
70 return null;
71 default:
72 return null;
73 }
74 };
75
76 const onChange = (e) => {
77 let memoryValueType = ''; // 初始化 memoryValueType
78 let memoryValue = null; // 初始化 memoryValue
79
80 // 由于一级菜单变化时,二级菜单的render还没到,所以二级菜单默认值设置在此,用于dispatch至jadeConfig中,二级菜单读取jadeConfig值进行渲染
81 // 根据选择的值设置 memoryType 和 memoryValueType
82 switch (e) {
83 case 'ByConversationTurn':
84 memoryValueType = 'Integer';
85 memoryValue = '3';

Callers

nothing calls this directly

Calls 6

useDispatchFunction · 0.90
useDataContextFunction · 0.90
onChangeFunction · 0.70
getOptionsFunction · 0.70
renderComponentFunction · 0.70
findMethod · 0.65

Tested by

no test coverage detected