Commit Graph
360 Commits
Author SHA1 Message Date
QuantumGhostandGitHub 501d3b6203 feat(api): Explicitly define version method for all BaseNode subclasses (#21443)
This PR addresses issue #21441 by implementing explicit `version` method definitions for all `BaseNode` subclasses to improve code maintainability.

### Changes

Added explicit `version` method definitions for all `BaseNode` subclasses:

- `QuestionClassifierNode`
- `KnowledgeRetrievalNode` 
- `AgentNode`

Added comprehensive test suite to validate:

1. All subclasses of `BaseNode` have explicitly defined `version` method
2. All subclasses have required `_node_type` property
3. The `(node_type, node_version)` combination is unique across all subclasses
2025-06-24 20:27:22 +08:00
quicksandandGitHub 45146edb31 fix(document_extractor): xlsx file column int type error (#21408) 2025-06-24 13:42:13 +08:00
QuantumGhostandGitHub 10b738a296 feat: Persist Variables for Enhanced Debugging Workflow (#20699)
This pull request introduces a feature aimed at improving the debugging experience during workflow editing. With the addition of variable persistence, the system will automatically retain the output variables from previously executed nodes. These persisted variables can then be reused when debugging subsequent nodes, eliminating the need for repetitive manual input.

By streamlining this aspect of the workflow, the feature minimizes user errors and significantly reduces debugging effort, offering a smoother and more efficient experience.

Key highlights of this change:

- Automatic persistence of output variables for executed nodes.
- Reuse of persisted variables to simplify input steps for nodes requiring them (e.g., `code`, `template`, `variable_assigner`).
- Enhanced debugging experience with reduced friction.

Closes #19735.
2025-06-24 09:05:29 +08:00
QuantumGhostandGitHub 3f9ced5374 Revert "feat:conversation variable support file array" (#21273) 2025-06-20 19:57:28 +08:00
6325129761 fix wrongly remove reset nodes (#20880)
Co-authored-by: zhuqingchao <[email protected]>
2025-06-19 11:37:07 +08:00
2bb19f85c6 feat:conversation variable support file array (#21174)
Co-authored-by: kino.lu <[email protected]>
2025-06-19 10:26:38 +08:00
W_OODandGitHub 0476937f55 fix(agent_node):Fix spelling errors. (#21094) 2025-06-17 17:48:43 +08:00
-LAN-andGitHub 0dcacdf83d feat: add a flask_context_manager. (#21061)
Signed-off-by: -LAN- <[email protected]>
2025-06-17 16:31:29 +08:00
yihongandGitHub 909259da37 fix: delete some dead code using vulture (#20999)
Signed-off-by: yihong0618 <[email protected]>
2025-06-16 12:07:41 +08:00
-LAN-andGitHub 1e03c97663 fix(llm_node): missing parameters for structure outputs (#20915)
Signed-off-by: -LAN- <[email protected]>
2025-06-11 18:56:07 +08:00
JyongandGitHub 21a50e22d2 fix auto metadata filter (#20845) 2025-06-10 10:46:17 +02:00
QuantumGhostandGitHub c439e82038 refactor(api): Decouple ParameterExtractorNode from LLMNode (#20843)
- Extract methods used by `ParameterExtractorNode` from `LLMNode` into a separate file.
- Convert `ParameterExtractorNode` into a subclass of `BaseNode`.
- Refactor code referencing the extracted methods to ensure functionality and clarity.
- Fixes the issue that `ParameterExtractorNode` returns error when executed.
- Fix relevant test cases.

Closes #20840.
2025-06-10 11:47:50 +08:00
QuantumGhostandGitHub a97ff587d2 fix(api): Resolve error encountered when executing QuestionClassifieNode (#20829)
The `QuestionClassifierNode` class extends `LLMNode`, meaning that, per the Liskov Substitution Principle, `QuestionClassifierNodeData` **SHOULD** be compatible in contexts where `LLMNodeData` is expected.

However, the absence of the `structured_output_enabled` attribute violates this principle, causing `QuestionClassifierNode` to fail during execution.

This commit implements a quick and temporary workaround. A proper resolution would involve refactoring to decouple `QuestionClassifierNode` from `LLMNode` to address the underlying design issue.

Fixes #20725.
2025-06-10 00:34:51 +08:00
Bowen LiangandGitHub c1a13fa553 chore: replace pseudo-random generators with secrets module (#20616) 2025-06-06 10:48:28 +08:00
HaiyangPGitHubhaiyangpengai <xxxx>
3fb9b41fe5 A more concise and effective extractor for excel and csv files (#20625)
Co-authored-by: haiyangpengai <xxxx>
2025-06-05 14:59:55 +08:00
ArcanerandGitHub ad2f25875e fix(llm_node): update file variable mapping to use vision configs (#20417) 2025-06-05 09:58:24 +08:00
-LAN-andGitHub 5ccfb1f4ba refactor: Improve model status handling and structured output (#20586)
Signed-off-by: -LAN- <[email protected]>
2025-06-04 19:56:54 +08:00
-LAN-andGitHub 275e86a26c refactor: Removes tenant ID check from rate limit logic (#20585)
Signed-off-by: -LAN- <[email protected]>
2025-06-03 18:56:38 +08:00
非法操作andGitHub ca0b268ae5 fix: variable aggregator with group and file raise exception (#20581) 2025-06-03 18:17:34 +08:00
-LAN-andGitHub 36f1b4b222 fix: Ensure model config integrity in retrieval processes (#20576)
Signed-off-by: -LAN- <[email protected]>
2025-06-03 16:36:18 +08:00
-LAN-andGitHub 72fdafc180 refactor: Replaces direct DB session usage with context managers (#20569)
Signed-off-by: -LAN- <[email protected]>
2025-06-03 16:16:06 +08:00
ContrailandGitHub a145c2a8fe fix: ensure proper conversation role alternation for vLLM (#18837) 2025-06-03 12:47:39 +08:00
-LAN-andGitHub a6ea15e63c Refactor/message cycle manage and knowledge retrieval (#20460)
Signed-off-by: -LAN- <[email protected]>
2025-05-30 14:36:44 +08:00
yihongandGitHub 5a991295e0 fix: drop some type fixme (#20344) 2025-05-30 14:10:09 +08:00
-LAN-andGitHub 32e779eef3 refactor(workflow): Rename NodeRunMetadataKey to WorkflowNodeExecutionMetadataKey (#20457)
Signed-off-by: -LAN- <[email protected]>
2025-05-30 04:47:56 +08:00
-LAN-andGitHub 482e50aae9 Refactor/remove db from cycle manager (#20455)
Signed-off-by: -LAN- <[email protected]>
2025-05-30 04:34:13 +08:00
YeuolyandGitHub d4408e0f54 fix: handle values in output arrays for CodeNode transformation (#20437) 2025-05-29 17:55:20 +08:00
-LAN-andGitHub f59fb94dae feat(agent_node): ensure that the enum-checking syntax is compatible with Python 3.11. (#20373)
Signed-off-by: -LAN- <[email protected]>
2025-05-28 19:56:17 +08:00
teawoong KimandGitHub 400ae664bb fix(http): force multipart/form-data even without files(#20322) (#20323) 2025-05-28 17:04:38 +08:00
-LAN-andGitHub f233a64eb5 fix(workflow): fetch user failed when workflow run in parallel mode (#20321)
Signed-off-by: -LAN- <[email protected]>
2025-05-27 22:41:07 +08:00
-LAN-andGitHub 9c9d3d7bd0 feat: document extractor chardet encoding (#20269)
Signed-off-by: -LAN- <[email protected]>
2025-05-27 13:27:46 +08:00
b9b5d43dc6 fix: add 'floatfmt' when extract number from excel ( #20153 ) (#20193)
Co-authored-by: wangheyang <[email protected]>
Co-authored-by: crazywoola <[email protected]>
2025-05-26 16:41:57 +08:00
1b4fea1794 fix: Referencing Metadata in the response of the External Knowledge A… (#19637) (#19644)
Co-authored-by: satou.kazuhiro <[email protected]>
2025-05-14 15:05:28 +08:00
fabfc7d4d8 fix: remove error message $ symbol (#19587)
Co-authored-by: 刘江波 <[email protected]>
Co-authored-by: crazywoola <[email protected]>
2025-05-13 16:20:29 +08:00
57b3912227 fix: common prerequisite node workflow remove reachable node that failed to streaming llm… (#19552)
Co-authored-by: zhangshibo <[email protected]>
2025-05-13 13:47:29 +08:00
非法操作andGitHub b00f94df64 fix: replace all dataset.Model.query to db.session.query(Model) (#19509) 2025-05-12 13:52:33 +08:00
LeanDeRandGitHub c720e0dd04 refactor(workflow): revamp logging module for loop & iteration nodes (#19484) 2025-05-12 09:32:41 +08:00
Bowen LiangandGitHub cbc8ebd8f5 chore: bump pydantic to 2.11 and pydantic-settings to 2.9 (#15049) 2025-05-08 17:39:51 +08:00
WillandGitHub 58d9d35515 fix: inconsistent metadata definitions (#19343) 2025-05-08 16:33:28 +08:00
WillandGitHub bfa652f2d0 fix: metadata filtering condition variable unassigned; fix External K… (#19208) 2025-05-07 14:52:09 +08:00
NoviceandGitHub 0cfc82d731 fix(structured-output): reasoning model's json format parsing (#19261) 2025-05-06 13:16:08 +08:00
kenwoodjwandGitHub c5568f756f fix basic auth if not base64 encode (#19242)
Signed-off-by: kenwoodjw <[email protected]>
2025-05-06 09:18:37 +08:00
Hao ChengandGitHub 9bcf837f17 fix: use only supported operators in metadata filter system prompts (#19195) 2025-05-03 20:08:08 +08:00
WillandGitHub a212a63e6a fix: time type metadata filtering error (#19192) 2025-05-03 20:07:37 +08:00
349c3cf7b8 feat(api): Add image multimodal support for LLMNode (#17372)
Enhance `LLMNode` with multimodal capability, introducing support for
image outputs.

This implementation extracts base64-encoded images from LLM responses,
saves them to the storage service, and records the file metadata in the
`ToolFile` table. In conversations, these images are rendered as
markdown-based inline images.
Additionally, the images are included in the LLMNode's output as
file variables, enabling subsequent nodes in the workflow to utilize them.

To integrate file outputs into workflows, adjustments to the frontend code
are necessary.

For multimodal output functionality, updates to related model configurations
are required. Currently, this capability has been applied exclusively to
Google's Gemini models.

Close #15814.

Signed-off-by: -LAN- <[email protected]>
Co-authored-by: -LAN- <[email protected]>
2025-04-30 17:28:02 +08:00
-LAN-andGitHub bcc95e520b feat: support remove first and remove last in variable assigner (#19144)
Signed-off-by: -LAN- <[email protected]>
2025-04-30 15:50:00 +08:00
WillandGitHub 69b43a955f fix: inconsistent case expression in _process_metadata_filter_func (#19146) 2025-04-30 15:14:01 +08:00
QuantumGhostandGitHub bd1bbfee4b Enhance Code Consistency Across Repository with .editorconfig (#19023) 2025-04-29 18:04:33 +08:00
JyongandGitHub b8bb45b106 remove unstructured api key check (#18989) 2025-04-28 17:26:30 +08:00
quicksandandGitHub 5de01c1444 feat (document_extractor): support .properties file (#18969) 2025-04-28 15:28:11 +08:00