File tree Expand file tree Collapse file tree 2 files changed +30
-6
lines changed
packages/components/nodes/agentflow Expand file tree Collapse file tree 2 files changed +30
-6
lines changed Original file line number Diff line number Diff line change @@ -756,7 +756,7 @@ class Agent_Agentflow implements INode {
756
756
/*
757
757
* If this is the first node:
758
758
* - Add images to messages if exist
759
- * - Add user message
759
+ * - Add user message if it does not exist in the agentMessages array
760
760
*/
761
761
if ( options . uploads ) {
762
762
const imageContents = await getUniqueImageMessages ( options , messages , modelConfig )
@@ -767,7 +767,7 @@ class Agent_Agentflow implements INode {
767
767
}
768
768
}
769
769
770
- if ( input && typeof input === 'string' ) {
770
+ if ( input && typeof input === 'string' && ! agentMessages . some ( ( msg ) => msg . role === 'user' ) ) {
771
771
messages . push ( {
772
772
role : 'user' ,
773
773
content : input
@@ -977,7 +977,19 @@ class Agent_Agentflow implements INode {
977
977
inputMessages . push ( ...runtimeImageMessagesWithFileRef )
978
978
}
979
979
if ( input && typeof input === 'string' ) {
980
- inputMessages . push ( { role : 'user' , content : input } )
980
+ if ( ! enableMemory ) {
981
+ if ( ! agentMessages . some ( ( msg ) => msg . role === 'user' ) ) {
982
+ inputMessages . push ( { role : 'user' , content : input } )
983
+ } else {
984
+ agentMessages . map ( ( msg ) => {
985
+ if ( msg . role === 'user' ) {
986
+ inputMessages . push ( { role : 'user' , content : msg . content } )
987
+ }
988
+ } )
989
+ }
990
+ } else {
991
+ inputMessages . push ( { role : 'user' , content : input } )
992
+ }
981
993
}
982
994
}
983
995
Original file line number Diff line number Diff line change @@ -410,7 +410,7 @@ class LLM_Agentflow implements INode {
410
410
/*
411
411
* If this is the first node:
412
412
* - Add images to messages if exist
413
- * - Add user message
413
+ * - Add user message if it does not exist in the llmMessages array
414
414
*/
415
415
if ( options . uploads ) {
416
416
const imageContents = await getUniqueImageMessages ( options , messages , modelConfig )
@@ -421,7 +421,7 @@ class LLM_Agentflow implements INode {
421
421
}
422
422
}
423
423
424
- if ( input && typeof input === 'string' ) {
424
+ if ( input && typeof input === 'string' && ! llmMessages . some ( ( msg ) => msg . role === 'user' ) ) {
425
425
messages . push ( {
426
426
role : 'user' ,
427
427
content : input
@@ -545,7 +545,19 @@ class LLM_Agentflow implements INode {
545
545
inputMessages . push ( ...runtimeImageMessagesWithFileRef )
546
546
}
547
547
if ( input && typeof input === 'string' ) {
548
- inputMessages . push ( { role : 'user' , content : input } )
548
+ if ( ! enableMemory ) {
549
+ if ( ! llmMessages . some ( ( msg ) => msg . role === 'user' ) ) {
550
+ inputMessages . push ( { role : 'user' , content : input } )
551
+ } else {
552
+ llmMessages . map ( ( msg ) => {
553
+ if ( msg . role === 'user' ) {
554
+ inputMessages . push ( { role : 'user' , content : msg . content } )
555
+ }
556
+ } )
557
+ }
558
+ } else {
559
+ inputMessages . push ( { role : 'user' , content : input } )
560
+ }
549
561
}
550
562
}
551
563
You can’t perform that action at this time.
0 commit comments