Skip to content

Conversational AI Agent 节点#

Conversational Agent 进行类似人类的对话。它可以维护上下文,理解用户意图,并提供相关答案。此代理通常用于构建聊天机器人、虚拟助手和客户支持系统。

Conversational Agent 在系统提示中描述 工具 并解析工具调用的 JSON 响应。如果您首选的 AI 模型不支持工具调用或您正在处理更简单的交互,此代理是一个好的通用选项。它更灵活但可能不如 Tools Agent 准确。

请参考 AI Agent 获取有关 AI Agent 节点本身的更多信息。

您可以将此代理与聊天触发器节点一起使用。附加一个记忆子节点,以便用户可以通过多个查询进行持续对话。记忆不会在会话之间持续存在。

节点参数#

使用以下参数配置 Conversational Agent。

Prompt 提示#

选择您希望节点如何构建提示(也称为用户的查询或来自聊天的输入)。

选择:

  • 自动从前一个节点获取:如果您选择此选项,节点期望从名为 chatInput 的前一个节点获取输入。
  • 在下方定义:如果您选择此选项,在提示(用户消息)字段中提供静态文本或动态内容的表达式作为提示。

Require Specific Output Format 要求特定输出格式#

此参数控制您是否希望节点需要特定的输出格式。开启时,n8n 会提示您将以下输出解析器之一连接到节点:

节点选项#

使用这些选项来调整 Conversational Agent 节点的行为:

Human Message 人类消息#

告诉代理它可以使用的工具,并为用户的输入添加上下文。

您必须包含这些表达式和变量:

  • {tools}:一个 LangChain 表达式,提供您连接到 Agent 的工具字符串。提供一些关于谁应该使用工具以及他们应该如何使用工具的上下文或解释。
  • {format_instructions}:一个 LangChain 表达式,提供您连接的输出解析器节点的模式或格式。由于指令本身就是上下文,您不需要为此表达式提供上下文。
  • {{input}}:一个包含用户提示的 LangChain 变量。此变量用 Prompt 参数的值填充。提供一些关于这是用户输入的上下文。

以下是您可能如何使用这些字符串的示例:

示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
TOOLS
------
Assistant can ask the user to use tools to look up information that may be helpful in answering the user's original question. The tools the human can use are:

{tools}

{format_instructions}

USER'S INPUT
--------------------
Here is the user's input (remember to respond with a markdown code snippet of a JSON blob with a single action, and NOTHING else):

{{input}}

System Message 系统消息#

如果您想在对话开始前向代理发送消息,请输入您想要发送的消息。

使用此选项来指导代理的决策。

Max Iterations 最大迭代次数#

输入模型应运行的次数,以尝试从用户的提示生成好的答案。

默认值为 10

Return Intermediate Steps 返回中间步骤#

选择是否在最终输出中包含代理采取的中间步骤(开启)或不包含(关闭)。

这对于根据代理采取的步骤进一步改进代理的行为可能很有用。

模板和示例#

请参考主 AI Agent 节点的 模板和示例 部分。

常见问题#

有关常见问题或问题和建议的解决方案,请参考 常见问题

AI 术语表#

  • completion(完成/补全): 完成是由 GPT 等模型生成的响应。
  • hallucinations(幻觉): AI 中的幻觉是指大语言模型(LLM)错误地感知到不存在的模式或对象。
  • vector database(向量数据库): 向量数据库存储信息的数学表示。与嵌入和检索器一起使用,创建 AI 在回答问题时可以访问的数据库。
  • vector store(向量存储): 向量存储或向量数据库,存储信息的数学表示。与嵌入和检索器一起使用,创建 AI 在回答问题时可以访问的数据库。