Commit Graph

442 Commits (02f42313f98815a9ccaca07a6e60f81663148d2e)

Author SHA1 Message Date
fdb02983rhy 54eb6cf2c6 Add uses_sys_files_for_node flag to node calls
Introduces the uses_sys_files_for_node parameter to knowledge retrieval and question classifier node calls, enabling more explicit control over system file usage. Also cleans up redundant imports in the LLM node implementation.
11 months ago
fdb02983rhy e723b1b686 Persist file usage for vision-enabled LLM nodes
Adds logic to persist file usage for nodes with vision enabled and a variable selector configured, allowing subsequent turns or nodes to access this information. Updates prompt message construction and memory handling to support this feature by passing relevant flags and parameters.
11 months ago
Kalo Chin 3dc299aaa3
Merge pull request #1 from fdb02983rhy/main
merge main
11 months ago
Chieh Wang 30aa052a57
feat: Add Citations and Attributions to Agent Node (#18558)
Co-authored-by: oneness0 <2902216407@qq.com>
Co-authored-by: Novice <novice12185727@gmail.com>
11 months ago
QuantumGhost 2c1ab4879f
refactor(api): Separate SegmentType for Integer/Float to Enable Pydantic Serialization (#22025)
refactor(api): Separate SegmentType for Integer/Float to Enable Pydantic Serialization (#22025)

This PR addresses serialization issues in the VariablePool model by separating the `value_type` tags for `IntegerSegment`/`FloatSegment` and `IntegerVariable`/`FloatVariable`. Previously, both Integer and Float types shared the same `SegmentType.NUMBER` tag, causing conflicts during serialization.

Key changes:
- Introduce distinct `value_type` tags for Integer and Float segments/variables
- Add `VariableUnion` and `SegmentUnion` types for proper type discrimination
- Leverage Pydantic's discriminated union feature for seamless serialization/deserialization
- Enable accurate serialization of data structures containing these types

Closes #22024.
11 months ago
湛露先生 9823edd3a2
fix workflow node iterator . (#21008)
Signed-off-by: zhanluxianshen <zhanluxianshen@163.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
11 months ago
Kalo Chin 16159a54ec
Merge branch 'main' into fix-agent-node-file-hanlding-one-turn-delay-bug 11 months ago
Jacky Wu 3e96c0c468
fix: close session before doing long latency operation (#22306) 11 months ago
Novice 0e793a660d
fix: add the default value to the dark icon (#22149) 11 months ago
Yeuoly 94a13d7d62
feat: add support for dark icons in provider and tool entities (#22081) 11 months ago
Kalo Chin be69804f3d Fix import order and migration down_revision
Reordered the import of file_manager in agent_node.py for consistency. Updated the down_revision in the migration script to reference the correct previous migration.
11 months ago
Kalo Chin b32b70ac34
Merge branch 'main' into fix-agent-node-file-hanlding-one-turn-delay-bug 11 months ago
湛露先生 edf5fd28c9
update worklow events logs. (#19871)
Signed-off-by: zhanluxianshen <zhanluxianshen@163.com>
11 months ago
Novice 535fff62f3
feat: add MCP support (#20716)
Co-authored-by: QuantumGhost <obelisk.reg+git@gmail.com>
11 months ago
baonudesifeizhai 18b58424ec
Fix: Resolve issue with json_output (#22053) 11 months ago
Davide Delbianco 816210d744
Expose LLM usage in workflows (#21766)
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
11 months ago
NeatGuyCoding 2ffbf5435d
minro fix: fix duplicate local import of ToolProviderType (#22013)
Signed-off-by: neatguycoding <15627489+NeatGuyCoding@users.noreply.github.com>
11 months ago
Kalo Chin 6436e0d82a Minor code cleanup in memory and agent node modules
Refactored list comprehension in token_buffer_memory.py for conciseness and added minor formatting improvements in agent_node.py. No functional changes were made.
11 months ago
Kalo Chin b448a2fccf feat: Add node file usage tracking and filtering
Introduces the NodeFileUsage model and migration to track file usage per node in conversations. Updates token buffer memory and agent node logic to filter file attachments based on node context, preventing cross-node file leakage. Also registers the new model in the models package.
11 months ago
-LAN- 8f723697ef
refactor(graph_engine): Take GraphRuntimeState out of GraphEngine (#21882) 11 months ago
baonudesifeizhai 108cc3486f
fix(agent): show agent run steps, fixes #21718 (#21945)
Co-authored-by: crazywoola <427733928@qq.com>
11 months ago
Kalo Chin 87530438c0 Update agent_node.py 11 months ago
Kalo Chin 4f733af60f Update agent_node.py 11 months ago
Kalo Chin f3b75f9b4a Update agent_node.py 11 months ago
Kalo Chin 0126cccba2 Add support for file segments in agent node prompts
Enhanced the AgentNode to handle FileSegment and ArrayFileSegment types when constructing user prompt messages. Now, if file segments are present in the variable pool, they are included in the prompt contents using the file_manager, allowing richer prompt construction with both text and files.
11 months ago
Ganondorf c9c49200e0
use repair_json fix json parse error of HTTPRequestNode (#21909)
Co-authored-by: lizb <lizb@sugon.com>
11 months ago
Novice f3c8625fe2
fix: The statistics page cannot display the tokens consumed by agent node (#21861) 11 months ago
efrey kong 826bf25abf
Fix: prevent SQL errors when metadata filter Constant value is None or blank (#21803) 11 months ago
QuantumGhost 89250a36b7
fix(api): files not returned in the answer node (#21807) 11 months ago
QuantumGhost c2e599cd85
fix(api): Fix resetting sys var causing internal server error (#21604)
and sorts draft variables by their creation time, ensures a consist order.
11 months ago
jiangbo721 71d6cf1b1d
fix: Make the latency and logs of web applications consistent. (#21578)
Co-authored-by: 刘江波 <jiangbo721@163.com>
11 months ago
jiangbo721 9a4c1fe834
fix: if parameter is not required, continue (#21761)
Co-authored-by: 刘江波 <jiangbo721@163.com>
11 months ago
Han 69b6f6f5d2
Fixes issue 21157/20661 extra quote in agent node (#21674)
Co-authored-by: Wang Han <wanghan@zhejianglab.org>
11 months ago
Yeuoly 0cb00d5fd2
refactor: move structured output support outside LLM Node (#21565)
Co-authored-by: Novice <novice12185727@gmail.com>
12 months ago
NeatGuyCoding 6bb82f8ee0
Fix minor comment missing (#21517) 12 months ago
QuantumGhost 268da31332
fix(api): adding variable to variable pool recursively while loading draft variables. (#21478)
This PR fix the issue that `ObjectSegment` are not recursively added to the draft variable pool while loading draft variables from database. It also fixes an issue about loading variables with more than two elements in the its selector.

Enhances #19735.
Closes #21477.
12 months ago
QuantumGhost 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
12 months ago
quicksand 45146edb31
fix(document_extractor): xlsx file column int type error (#21408) 12 months ago
QuantumGhost 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.
12 months ago
QuantumGhost 3f9ced5374
Revert "feat:conversation variable support file array" (#21273) 12 months ago
ZalterCitty 6325129761
fix wrongly remove reset nodes (#20880)
Co-authored-by: zhuqingchao <zhuqingchao@xiaomi.com>
12 months ago
kinoooolu 2bb19f85c6
feat:conversation variable support file array (#21174)
Co-authored-by: kino.lu <kino.lu@vipshop.com>
12 months ago
-LAN- 879f839d75
refactor(graph_engine): Merge duplicated if block (#20784)
Signed-off-by: -LAN- <laipz8200@outlook.com>
12 months ago
W_OOD 0476937f55
fix(agent_node):Fix spelling errors. (#21094) 12 months ago
-LAN- 0dcacdf83d
feat: add a flask_context_manager. (#21061)
Signed-off-by: -LAN- <laipz8200@outlook.com>
12 months ago
yihong 909259da37
fix: delete some dead code using vulture (#20999)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
12 months ago
-LAN- 1e03c97663
fix(llm_node): missing parameters for structure outputs (#20915)
Signed-off-by: -LAN- <laipz8200@outlook.com>
1 year ago
Jyong 21a50e22d2
fix auto metadata filter (#20845) 1 year ago
QuantumGhost 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.
1 year ago
QuantumGhost 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.
1 year ago