Categorize 组件 (Categorize Component)
该组件用于对用户输入进行分类,并据此应用相应的处理策略。
Categorize (分类) 组件通常是 Interact (交互/Await response) 组件的下游。
适用场景 (Scenarios)
当您需要大语言模型 (LLM) 协助您识别用户意图并采用适当的处理策略时,Categorize 组件是必不可少的。
配置项 (Configurations)
Query variables (查询变量)
必填
选择要进行分类的数据源。
Categorize 组件依赖查询变量来指定其 data inputs(查询)。在 Categorize 组件之前定义的所有全局变量都可以在下拉列表中选择。
Input (输入)
Categorize 组件依赖输入变量来指定其 data inputs(查询)。点击 Input 区域中的 + Add variable (添加变量) 以添加所需的输入变量。有两种类型的输入变量:Reference (引用) 和 Text (文本)。
- Reference (引用):使用组件的输出或用户输入作为数据源。您需要从下拉菜单中进行选择:
- Component Output (组件输出) 下的组件 ID,或
- Begin input (起始输入) 下的全局变量(在 Begin 组件中定义)。
- Text (文本):使用固定的文本作为查询。您需要输入静态文本。
Model (模型)
点击 Model 的下拉菜单以显示模型配置窗口。
- Model (模型):要使用的聊天模型。
- 请确保已在 Model providers(模型提供商)页面正确设置了聊天模型。
- 您可以为不同的组件使用不同的模型,以增加灵活性或提高整体性能。
- Creativity (创造力):Temperature(温度)、Top P(核采样)、Presence penalty(存在惩罚)和 Frequency penalty(频率惩罚)设置的快捷方式,表示模型的自由度级别。从 Improvise (即兴)、Precise (精准) 到 Balance (平衡),每个预设配置都对应 Temperature、Top P、Presence penalty 和 Frequency penalty 的独特组合。
此参数有三个选项:
- Improvise (即兴):产生更具创造性的回答。
- Precise (精准):(默认)产生更保守的回答。
- Balance (平衡):介于 Improvise 和 Precise 之间的折中方案。
- Temperature (温度):模型输出的随机性级别。
默认值为 0.1。- 较低的值会使输出更具确定性和可预测性。
- 较高的值会使输出更具创造性和多样性。
- 温度为 0 时,相同的提示词总是产生相同的输出。
- Top P (核采样):核采样。
- 通过设置阈值 P 并将采样限制在累积概率超过 P 的词元上,降低生成重复或不自然文本的可能性。
- 默认值为 0.3。
- Presence penalty (存在惩罚):鼓励模型在回答中包含更丰富多样的词元。
- 较高的 presence penalty 值会使模型更有可能生成尚未包含在已生成文本中的新词元。
- 默认值为 0.4。
- Frequency penalty (频率惩罚):防止模型在生成的文本中过于频繁地重复相同的单词或短语。
- 较高的 frequency penalty 值会使模型在重复使用已出现的词元时更加保守。
- 默认值为 0.7。
- Max tokens (最大词元数):
用于设置模型输出的最大长度(以词元数衡量)。默认情况下它是禁用的,允许模型自主决定其响应中的词元数量。
- 所有组件不一定必须使用相同的模型。如果特定模型在某项任务中表现不佳,可以考虑换用其他模型。
- 如果您对 Temperature、Top P、Presence penalty 和 Frequency penalty 的底层机制不太确定,只需从 Creativity 的三个选项中选择一个即可。
Message window size (消息窗口大小)
一个整数,指定输入到大语言模型 (LLM) 中的历史对话轮数。例如,如果设置为 12,则最后 12 轮对话的 token 将提供给大语言模型。此功能会消耗额外的 token。
默认值为 1。
此功能仅用于多轮对话。如果您的 Categorize 组件不属于多轮对话的一部分(即,它不在循环中),请保持该字段的默认值不变。
Category name (分类名称)
一个 Categorize 组件必须至少包含两个分类。此字段设置分类的名称。点击 + Add Item (添加项) 可以包含所需的分类。
您会发现分类名称是自动填充的。请不用担心,每个分类在创建时都会被赋予一个随机名称。您可以自由地将其修改为大语言模型易于理解的名称。
Description (描述)
该分类的描述。
您可以输入一些判定标准、具体场景或信息,帮助大语言模型决定哪些输入属于这一分类。
Examples (示例)
辅助大语言模型判定哪些输入属于该分类的额外示例。
如果您希望大语言模型将特定情况归入此类,示例会比描述更加有用。
添加新分类后,在画布上导航到 Categorize 组件,找到对应情况旁边的 + 按钮,点击它以指定下游组件。
Output (输出)
该组件输出的全局变量名称,可以被工作流中的其他组件所引用。默认值为 category_name。