langgenius / dify

Dify is an open-source LLM app development platform. Dify's intuitive interface combines AI workflow, RAG pipeline, agent capabilities, model management, observability features and more, letting you quickly go from prototype to production.
https://dify.ai
Other
46.76k stars 6.61k forks source link

If input contains specific content when testing a single block, the test do not work #8839

Open cowcomic opened 1 day ago

cowcomic commented 1 day ago

Self Checks

Dify version

0.8.2

Cloud or Self Hosted

Self Hosted (Docker)

Steps to reproduce

create a block test input as "=1 group by" the pattern of the string as "={num}{space}group{space}by{space}" start run it seems to be running, but not a really running. The result is still the result of the last valid input

image

✔️ Expected Behavior

The result is still the result of the last valid input

❌ Actual Behavior

No response

dosubot[bot] commented 1 day ago

The issue you're encountering with the block test not working when the input contains specific content like =1 group by is likely related to how the input is tokenized and classified. The tokenizer in the pgsql.js file is designed to handle such inputs by classifying components as operators, numbers, and keywords. Specifically, = is classified as an operator, 1 as a number, and group and by as keywords [1].

However, the behavior you're describing, where the test seems to run but returns the result of the last valid input, suggests there might be a caching mechanism or an issue with how the test results are updated. According to the documentation, Dify updates the test results when you enter common user questions in the Source Text input box and click Test. There is no mention of conditions under which Dify might reuse previous results [2].

To address this issue, you might want to check if there are any caching mechanisms in place that could be affecting the test results. Additionally, ensure that the input is correctly tokenized and classified according to the defined rules in the pgsql.js file. If the problem persists, it might be worth investigating further into the specific implementation details of the block test mechanism and any potential caching behavior.

To continue talking to Dosu, mention @dosu.