Commit Graph

94 Commits

Author SHA1 Message Date
Eternity
cdcac262a3 fix(workflow): fix LLM node streaming execution configuration error 2026-01-14 12:24:41 +08:00
Eternity
938a99a59c Merge branch 'develop' into fix/workflow 2026-01-14 10:58:13 +08:00
mengyonghao
95b61e9972 perf(workflow): optimize default value of rerank_id configuration 2026-01-14 10:55:05 +08:00
mengyonghao
84e24ede04 fix(workflow): move node config validation to runtime for proper error handling 2026-01-14 10:47:38 +08:00
mengyonghao
4448296e7b feat(workflow): officially support workflow session variables 2026-01-14 10:46:23 +08:00
谢俊男
eef0ee5f5c feat(workflow tool node): Change the data output variable of the tool node to a string 2026-01-13 18:00:45 +08:00
谢俊男
c780d4be14 feat(workflow tool node): add a string type output variable 2026-01-13 17:41:03 +08:00
mengyonghao
e60bc37fbf fix(workflow): set default empty value for custom variables in start node 2026-01-13 17:28:41 +08:00
Eternity
7a5792ba01 Fix/workflow (#92)
* fix(workflow): use loose rendering for end-node variables

* fix(workflow): use int type for memory node config id

* fix(workflow): handle missing environment variable defaults

* fix(workflow): render jinja variables with actual values in non-strict mode

* fix(workflow): support reordering without a rerank model in knowledge base

* fix(workflow): fix typo in key value
2026-01-13 15:42:00 +08:00
mengyonghao
ada63d9f5c fix(workflow): fix typo in key value 2026-01-13 15:40:22 +08:00
mengyonghao
8f114b0dfa fix(workflow): support reordering without a rerank model in knowledge base 2026-01-13 15:34:57 +08:00
mengyonghao
9427584825 fix(workflow): render jinja variables with actual values in non-strict mode 2026-01-13 15:10:01 +08:00
mengyonghao
592c2ac217 fix(workflow): handle missing environment variable defaults 2026-01-13 15:09:06 +08:00
mengyonghao
dd7abc0d27 fix(workflow): use int type for memory node config id 2026-01-13 15:06:12 +08:00
mengyonghao
fe4a53563e fix(workflow): use loose rendering for end-node variables 2026-01-13 15:04:44 +08:00
谢俊男
ab02f610e5 feat(workflow node): The execution records of the tool remove the foreign key that binds to the user, and directly store the user ID. 2026-01-13 14:59:12 +08:00
mengyonghao
c1fba39496 feat(workflow): add conversation_id parameter 2026-01-12 21:13:21 +08:00
mengyonghao
6a78ed7c8a fix(workflow): fix default values in parameter extraction node and incorrect value retrieval in comparison operations 2026-01-12 20:32:17 +08:00
Eternity
c5dd09cf50 Feature/memory work (#61)
* refactor(conversation): separate service and repository layers for conversation module

- Split ConversationService and repository/UnitOfWork layers
- Service layer now only handles business logic and orchestration
- Repository layer handles all direct database operations
- UnitOfWork encapsulates transactional operations for messages
- Ensured all public methods have clear English docstrings with arguments, return values, and exceptions

* feat(memory): implement work memory endpoints and services

- Added API routes for conversation count, conversation list, messages, and detail.
- Integrated ConversationService for database queries and LLM-based summary generation.

* feat(memory): implement work memory endpoints and services

- Added API routes for conversation count, conversation list, messages, and detail.
- Integrated ConversationService for database queries and LLM-based summary generation.

* feat(workflow): fix issues causing workflow failures

if-else None value error
knowledge empty list rerank
end node output none node value
assigner input none value

* feat(memory): convert memory file creation time to timestamp and include title and first-line fields in file type

* fix(memory): fix serialization output and default value issues

* fix(workflow): fix issue with hybrid search logic in knowledge retrieval node
2026-01-08 18:48:29 +08:00
mengyonghao
569a211810 fix(workflow): remove environment variable fields from default workflow template 2026-01-07 17:53:53 +08:00
Eternity
c52b360068 Feature/memory perceptual (#48)
* perf(workflow): pass JSON data to HTTP node as a string

* perf(prompt_opt): simplify log output

* feat(memory): add perceptual memory page API and related database schema

* perf(log): clean up API exception log output

* perf(memory): simplify perceptual memory timeline response by removing metadata
2026-01-07 16:00:22 +08:00
mengyonghao
a716c607d7 fix(workflow): optimize input_type validation for loop variables 2026-01-06 18:44:40 +08:00
谢俊男
962b74a68a fix(workflow node): Workflow nodes and question classifier nodes - bug fixes 2026-01-06 12:09:55 +08:00
mengyonghao
411525687e fix(workflow): temporarily ignore non-text fields in knowledge retrieval node 2026-01-06 11:38:03 +08:00
mengyonghao
049642ae48 fix(workflow): require end node only in main graph during runtime validation 2026-01-06 10:46:55 +08:00
mengyonghao
0300abc454 feat(workflow): fix concurrent update conflict of looping flag in parallel loop nodes 2026-01-06 10:35:43 +08:00
mengyonghao
71c5b54532 fix(workflow): throw exception when HTTP request node error handler is empty 2026-01-05 18:22:17 +08:00
mengyonghao
e1e77f70f9 feat(workflow): support context injection in LLM node 2026-01-05 17:37:45 +08:00
mengyonghao
d4a87187cb fix(workflow): fix memory node message field not supporting variables 2026-01-05 17:32:20 +08:00
mengyonghao
29ccf956ec pref(workflow): skip orphan node check in runtime execution 2026-01-05 17:30:28 +08:00
mengyonghao
35db38c2de feat(workflow): support context injection in LLM node 2026-01-05 17:17:52 +08:00
Eternity
78207aca34 feat(workflow): add memory read and write node (#24) 2026-01-05 15:57:04 +08:00
mengyonghao
fc4cf418e0 feat(workflow): add support for question classifier in graph construction 2026-01-05 11:29:27 +08:00
mengyonghao
63f0fa5da2 Merge branch 'develop' into feature/20251219_myh
# Conflicts:
#	api/app/core/workflow/executor.py
#	api/app/core/workflow/nodes/node_factory.py
#	api/app/core/workflow/nodes/question_classifier/node.py
2026-01-05 11:10:01 +08:00
mengyonghao
4685fd14ad refactor(workflow): refactor graph construction to support subgraph building 2026-01-05 11:06:21 +08:00
mengyonghao
5957eb9c1a fix(workflow): ensure default values are properly retrieved in HTTP nodes 2026-01-05 11:02:17 +08:00
mengyonghao
1f6835a8e0 feat(workflow): enable front-end to cover pre-rendered non-variable values 2026-01-05 11:00:50 +08:00
mengyonghao
b56994b999 feat(workflow): update workflow conditional logic 2026-01-05 10:57:44 +08:00
mengyonghao
eaf2437633 feat(prompt_opt): support streaming output for prompt optimization API 2026-01-05 10:53:53 +08:00
mengyonghao
fc831e04c1 feat(workflow): support retrieving variables wrapped in {{}} from variable pool 2026-01-05 10:52:46 +08:00
mengyonghao
55dac533d9 fix(workflow): fix passing of loop variable termination condition 2026-01-05 10:50:32 +08:00
mengyonghao
373b91143d feat(workflow): support variable types(TODO) 2026-01-05 10:49:30 +08:00
谢俊男
c0b29dd938 feat(workflow_node): question classifier node optimization 2026-01-04 19:06:51 +08:00
谢俊男
b731389c81 Merge branch 'refs/heads/develop' into feature/20251219_xjn 2026-01-04 15:35:57 +08:00
mengyonghao
e08e761319 fix(workflow): adapt node ID regex to support symbols 2025-12-31 12:07:59 +08:00
谢俊男
0475d80472 feat(tool system): add workflow tool nodes 2025-12-30 21:08:05 +08:00
孟永豪
0e5397bcf4 Merge #86 into develop from feature/20251219_myh
fix(workflow): prevent duplicate conditional branches in if-else nodes

* feature/20251219_myh: (3 commits squashed)

  - perf(workflow): adjust default template to be compatible with frontend format

  - fix: correct function naming for memory retrieval

  - fix(workflow): prevent duplicate conditional branches in if-else nodes

Signed-off-by: Eternity <1533512157@qq.com>
Reviewed-by: aliyun6762716068 <accounts_68cb7c6b61f5dcc4200d6251@mail.teambition.com>
Merged-by: aliyun6762716068 <accounts_68cb7c6b61f5dcc4200d6251@mail.teambition.com>

CR-link: https://codeup.aliyun.com/redbearai/python/redbear-mem-open/change/86
2025-12-30 07:53:49 +00:00
孟永豪
9bedcadca4 Merge #80 into develop from feature/20251219_myh
feat(workflow): support cycle nodes in workflow config validation and enhance node logging

* feature/20251219_myh: (11 commits squashed)

  - feat(workflow): update reranker model configuration for knowledge base retrieval

  - fix(workflow): fix output issue in parameter extraction node

  - fix(workflow): fix output issue in parameter extraction node

  - feat(workflow): add user prompt to parameter extraction node

  - perf(workflow): change grouped variable input to key-value format in variable aggregator

  - feat(workflow): Add new cycle node for iterative workflow execution
    
    - Introduce a new Loop/Iteration node in the workflow engine.
    - Supports both conditional loops and iteration over lists.
    - Allows parallel execution and flattening of iteration outputs.
    - Maintains runtime state, node outputs, and loop variables for downstream nodes.
    - Enhances workflow flexibility for complex, repeated operations.

  - Merge branch &#39;develop&#39; into feature/20251219_myh
    
    # Conflicts:
    #&#9;api/app/core/workflow/nodes/configs.py
    #&#9;api/app/core/workflow/nodes/node_factory.py

  - feat(workflow): Add new cycle node for iterative workflow execution
    
    - Introduce a new Loop/Iteration node in the workflow engine.
    - Supports both conditional loops and iteration over lists.
    - Allows parallel execution and flattening of iteration outputs.
    - Maintains runtime state, node outputs, and loop variables for downstream nodes.
    - Enhances workflow flexibility for complex, repeated operations.

  - feat(workflow): support cycle nodes in workflow config validation and enhance node logging

  - feat(workflow): support cycle nodes in workflow config validation and enhance node logging

  - fix(workflow): fix compatibility with some legacy node configurations

Signed-off-by: Eternity <1533512157@qq.com>
Reviewed-by: zhuwenhui5566@163.com <zhuwenhui5566@163.com>
Reviewed-by: aliyun6762716068 <accounts_68cb7c6b61f5dcc4200d6251@mail.teambition.com>
Merged-by: aliyun6762716068 <accounts_68cb7c6b61f5dcc4200d6251@mail.teambition.com>

CR-link: https://codeup.aliyun.com/redbearai/python/redbear-mem-open/change/80
2025-12-30 03:40:38 +00:00
孟永豪
b376c3d648 Merge #78 into develop from feature/20251219_myh
Merge branch &#39;develop&#39; into feature/20251219_myh

* feature/20251219_myh: (8 commits squashed)

  - feat(workflow): update reranker model configuration for knowledge base retrieval

  - fix(workflow): fix output issue in parameter extraction node

  - fix(workflow): fix output issue in parameter extraction node

  - feat(workflow): add user prompt to parameter extraction node

  - perf(workflow): change grouped variable input to key-value format in variable aggregator

  - feat(workflow): Add new cycle node for iterative workflow execution
    
    - Introduce a new Loop/Iteration node in the workflow engine.
    - Supports both conditional loops and iteration over lists.
    - Allows parallel execution and flattening of iteration outputs.
    - Maintains runtime state, node outputs, and loop variables for downstream nodes.
    - Enhances workflow flexibility for complex, repeated operations.

  - Merge branch &#39;develop&#39; into feature/20251219_myh
    
    # Conflicts:
    #&#9;api/app/core/workflow/nodes/configs.py
    #&#9;api/app/core/workflow/nodes/node_factory.py

  - feat(workflow): Add new cycle node for iterative workflow execution
    
    - Introduce a new Loop/Iteration node in the workflow engine.
    - Supports both conditional loops and iteration over lists.
    - Allows parallel execution and flattening of iteration outputs.
    - Maintains runtime state, node outputs, and loop variables for downstream nodes.
    - Enhances workflow flexibility for complex, repeated operations.

Signed-off-by: Eternity <1533512157@qq.com>
Reviewed-by: zhuwenhui5566@163.com <zhuwenhui5566@163.com>
Reviewed-by: aliyun6762716068 <accounts_68cb7c6b61f5dcc4200d6251@mail.teambition.com>
Merged-by: aliyun6762716068 <accounts_68cb7c6b61f5dcc4200d6251@mail.teambition.com>

CR-link: https://codeup.aliyun.com/redbearai/python/redbear-mem-open/change/78
2025-12-29 11:57:13 +00:00
谢俊男
284951900d feat(workflow-node): question_classfier node development 2025-12-29 17:01:19 +08:00