+
## Configuration
@@ -113,8 +115,8 @@ def main() -> dict:
This code snippet has the following issues:
-* **Unauthorized file access:** The code attempts to read the "/etc/passwd" file, which is a critical system file in Unix/Linux systems that stores user account information.
-* **Sensitive information disclosure:** The "/etc/passwd" file contains important information about system users, such as usernames, user IDs, group IDs, home directory paths, etc. Direct access could lead to information leakage.
+- **Unauthorized file access:** The code attempts to read the "/etc/passwd" file, which is a critical system file in Unix/Linux systems that stores user account information.
+- **Sensitive information disclosure:** The "/etc/passwd" file contains important information about system users, such as usernames, user IDs, group IDs, home directory paths, etc. Direct access could lead to information leakage.
Dangerous code will be automatically blocked by Cloudflare WAF. You can check if it's been blocked by looking at the "Network" tab in your browser's "Web Developer Tools".
@@ -126,7 +128,48 @@ DO NOT edit this section!
It will be automatically generated by the script.
*/}
+The **Code Fix** feature enables **automatic code correction** by leveraging the previous run’s `current_code` and `error_message` variables.
+
+# When a Code Node fails:
+
+- The system captures the code and error message.
+- These are passed into the prompt as context variables.
+- A new version of the code is generated for review and retry.
+
+**Configuration:**
+
+1. **Write Repair Prompt**:
+
+ In the prompt editor, use the variable insertion menu (`/` or `{`) to insert variables. You may customize a prompt like:
+
+`Fix the following code based on this error message: Code: {{current_code}} Error: {{error_message}}`
+
+
+
-***
+---
### Advanced Features
@@ -136,188 +139,174 @@ If you do not understand what these parameters are, you can choose to load prese
**Structured Outputs**: Ensures LLM returns data in a usable, stable, and predictable format, helping users to control exactly how their LLM nodes return data.
+ 
-***
+---
### 应用场景
LLM 节点是 Chatflow/Workflow 的核心节点。该节点能够利用大语言模型的对话/生成/分类/处理等能力,根据给定的提示词处理广泛的任务类型,并能够在工作流的不同环节使用。
-* **意图识别**,在客服对话情景中,对用户问题进行意图识别和分类,导向下游不同的流程。
-* **文本生成**,在文章生成情景中,作为内容生成的节点,根据主题、关键词生成符合的文本内容。
-* **内容分类**,在邮件批处理情景中,对邮件的类型进行自动化分类,如咨询/投诉/垃圾邮件。
-* **文本转换**,在文本翻译情景中,将用户提供的文本内容翻译成指定语言。
-* **代码生成**,在辅助编程情景中,根据用户的要求生成指定的业务代码,编写测试用例。
-* **RAG**,在知识库问答情景中,将检索到的相关知识和用户问题重新组织回复问题。
-* **图片理解**,使用 vision 能力的多模态模型,能对图像内的信息进行理解和问答。
+- **意图识别**,在客服对话情景中,对用户问题进行意图识别和分类,导向下游不同的流程。
+- **文本生成**,在文章生成情景中,作为内容生成的节点,根据主题、关键词生成符合的文本内容。
+- **内容分类**,在邮件批处理情景中,对邮件的类型进行自动化分类,如咨询/投诉/垃圾邮件。
+- **文本转换**,在文本翻译情景中,将用户提供的文本内容翻译成指定语言。
+- **代码生成**,在辅助编程情景中,根据用户的要求生成指定的业务代码,编写测试用例。
+- **RAG**,在知识库问答情景中,将检索到的相关知识和用户问题重新组织回复问题。
+- **图片理解**,使用 vision 能力的多模态模型,能对图像内的信息进行理解和问答。
选择合适的模型,编写提示词,你可以在 Chatflow/Workflow 中构建出强大、可靠的解决方案。
-***
+---
### 配置示例
-在应用编辑页中,点击鼠标右键或轻点上一节点末尾的 + 号,添加节点并选择 LLM。
+在应用编辑页中,点击鼠标右键或轻点上一节点末尾的 \+ 号,添加节点并选择 LLM。
-
+ 
**配置步骤:**
@@ -55,18 +55,18 @@ LLM 节点是 Chatflow/Workflow 的核心节点。该节点能够利用大语言
如果在编写系统提示词(SYSTEM)时没有好的思路,也可以使用提示生成器功能,借助 AI 能力快速生成适合实际业务场景的提示词。
-
+ 
在提示词编辑器中,你可以通过输入 **"/"** 呼出 **变量插入菜单**,将 **特殊变量块** 或者 **上游节点变量** 插入到提示词中作为上下文内容。
-
+ 
5. **高级设置**,可以开关记忆功能并设置记忆窗口、开关 Vision 功能或者使用 Jinja-2 模板语言来进行更复杂的提示词等。
-***
+---
### 特殊变量说明
@@ -89,7 +89,7 @@ LLM 节点是 Chatflow/Workflow 的核心节点。该节点能够利用大语言
> 会话历史变量应用并不广泛,仅在 Chatflow 中选择文本补全类模型时可以插入使用。
-
+ 
**模型参数**
@@ -97,23 +97,23 @@ LLM 节点是 Chatflow/Workflow 的核心节点。该节点能够利用大语言
模型的参数会影响模型的输出效果。不同模型的参数会有所区别。下图为`gpt-4`的参数列表。
-
+ 
主要的参数名词解释如下:
-* **温度:** 通常是0-1的一个值,控制随机性。温度越接近0,结果越确定和重复,温度越接近1,结果越随机。
-* **Top P:** 控制结果的多样性。模型根据概率从候选词中选择,确保累积概率不超过预设的阈值P。
-* **存在惩罚:** 用于减少重复生成同一实体或信息,通过对已经生成的内容施加惩罚,使模型倾向于生成新的或不同的内容。参数值增加时,对于已经生成过的内容,模型在后续生成中被施加更大的惩罚,生成重复内容的可能性越低。
-* **频率惩罚:** 对过于频繁出现的词或短语施加惩罚,通过降低这些词的生成概率。随着参数值的增加,对频繁出现的词或短语施加更大的惩罚。较高的参数值会减少这些词的出现频率,从而增加文本的词汇多样性。
+- **温度:** 通常是0-1的一个值,控制随机性。温度越接近0,结果越确定和重复,温度越接近1,结果越随机。
+- **Top P:** 控制结果的多样性。模型根据概率从候选词中选择,确保累积概率不超过预设的阈值P。
+- **存在惩罚:** 用于减少重复生成同一实体或信息,通过对已经生成的内容施加惩罚,使模型倾向于生成新的或不同的内容。参数值增加时,对于已经生成过的内容,模型在后续生成中被施加更大的惩罚,生成重复内容的可能性越低。
+- **频率惩罚:** 对过于频繁出现的词或短语施加惩罚,通过降低这些词的生成概率。随着参数值的增加,对频繁出现的词或短语施加更大的惩罚。较高的参数值会减少这些词的出现频率,从而增加文本的词汇多样性。
如果你不理解这些参数是什么,可以选择**加载预设**,从创意、平衡、精确三种预设中选择。
-
+ 
-***
+---
### 高级功能
@@ -137,221 +137,207 @@ LLM 节点是 Chatflow/Workflow 的核心节点。该节点能够利用大语言
**结构化输出**:确保 LLM 返回的数据格式可用、稳定、可预测,减少错误处理和格式转换的工作。
ITvBfkzTV<
z(e>f8|DMAua}R&dvUPVOyb8WwlT^9aCU=-LAAZGhkwi6u%xeu>tU2YM(jF?CKfV9=
zie e9Uj?q9N)008q^IeLO+1}%z;sRe)Gq!A7Iy(?Q9l0aFkcyy9iTUDIT
zBxu-UvG@PvBh@JgTmysxP3FH+;M_h3Jt xMcq@U6?L7!efw!X7B)si7)C`=5ud|567kN@OoJTI3r`ru(}LRb8sG6;Vb&?E
z0a2V*<$S 8rvIG8mXxDID$rJ=VDi1Jz!F+-h-KU4eJ-IGzcUfQy55jXLmU
z002%UN*MnE)HN^NH`J6wK53~Na}l*Ub~5^zYR7&_*>KC!2ZYMV-<4xEFa+e0XYB&
z2%}V8;+N8(!EK%aShI-(V_ZW(RE4{an_uWcQC_48N1_{%H2~@bdLzi6Rv*Fo*??=y
zRcuC$qgz=piQCNXd1L4kxY5vHZm~qT==Z%}VW@EW!Q54)3DoAgpcu1*3|TnTcJk?QSr(Ud&uV-09^!yI4H9C9b{379B<$5`;xh{wK
zSvrGw+yTEPmQDkk86`hA6)U)<^} VKCln`du*fNgBJ
z6MUTQpTl7!#wQ+`fTE$zRCgLqi4g0)RflHt;8Otibk_N@9LzhjTe-6S=IP+C=&fV1
zv8*0hs6nHOqZe?qyr;jsEW&GCvsl4BV1`qfDpKt@@jBi0>Y}G=e0(wdm{HaB*?rch
zaIU>}VRq|6cF0z%$>J9&ajfS0LmkQ5#W9jjnRR+R<`z3g{Azqs1Y)iJ;{9!q7yO#g
zJJezwEXiz~0?JQc*-Q(lK5m;o@5Z8~j1E;++Cb&QnCQkkj`KdE2{&$T(&%fHCMqxy
z0plz%9SQg1wUgU!m6%!G+k}{#EKW05^`2s0A99YS Y6v&gp*b6!S0K{s*+r`|2d961aY6>Fkl!fYo$YF<0K
zi3FpdWCXZuh6>8(@+AM*Hm%uU3hq4yU^0GfcDXRJV%$yk^#y*YCdupKx9%
zklgs9+vVZ=fW!|-zCJHp74ir5oL9p;S@-mwlm1fy_LRX#y-Yt*!WCfHzIk8TM4b=Y
z>{o}#}c@f8GO{AUvu^~zTl
zS-)#=FYXfd54G(B9qEaXJc73aoLrFL-fC@I=*T!wnX)Dl6VXO*DJLOJbU>F|h&!DE
z&+kh!P6ALS>P6vTba%JSEOR!m*#0E4w06lQ^)>inc)AAyp|NEIQ8TtjwYIkAfx2qR
znvBi0DZB9uW&Y0Qe3+M{a>I#YlA^}Da&NM|Jbr(0gbZq^paRXLvJL9dOZS)C;P9ZL
zMrMARTuRRU%A6?H#5ZKc2TZfK*g?&$S`8MXrWe1dY?4fdt;@a_Cbt@{UQV+EYjl}Y
z<)z2!W=nBEfxf;pILM?jp;m!;o?bcj;{;GjVa{ll3LS=flv`E9ABEzPTa7E++)9LG
zL?w&%#devgTFfbL!CR1B5
~S5R3LaG#uIvWtXE+EzJgPi^dSY&H7PzmxLh*FO{(}i`^#Y0wW_07
z(pLO$dM~7iU*&fZCn(-tpHFH$-xiYo{GU{g1f_l>FrbAnF%#%jC(Fnk1?ntfUY-Ba
z*y4!0;Rm`e8uM{B6-W12`$__P(Egv&jy;!adZ)l=kg~IMjJG!fm3oM!C?F%f0E|A%
zGTHYY?ad}}|7Eu3RZ00!c$Rbee|3VoaDorVjbE}YN54{O{qfW4nZk1ifkH9`c2+nv
zRB!E3L6ZYBNQ?sJzL^T}3kzG;F3$oRT!k&~E!{#2%}=yIjJbZ7ij;|QL6^%5^
71ziINz3&H9iy@9^)EL-hb+mtg|RiJHk#jd+NA!
zJTCMULr;Ifkr9GMG+9*z17}_bgyK5n2$Z96
zFqv8|{@9MHAe2;j2U}6YhOXa4p0PIMl9`jE72B#57W*E=$<+V{|8SJ^9=q;?@}Xn1
zM5!C{CkT)tOJ(zLa-OXFBr5;w%OwcjY5Ud|bM%P9JPOQqu#lC>3a{R~Sw9{$H_J$B
zz