Chat Trigger 节点常见问题#
以下是使用 Chat Trigger 节点时可能遇到的常见错误和问题,以及解决方法或排查步骤。
从网站向嵌入式 Chat Trigger 节点传递数据#
当在网站中嵌入 Chat Trigger 节点时,您可能需要向 Chat Trigger 传递额外信息。例如,传递存储在网站 cookie 中的用户 ID。
要实现这一点,请在嵌入式聊天窗口中使用传递给 createChat
函数的 JSON 对象中的 metadata
字段:
1 2 3 4 5 6 |
|
metadata
字段可以包含任意数据,这些数据将与其他输出数据一起出现在 Chat Trigger 的输出中。之后,您可以使用 n8n 的数据处理功能像往常一样从下游节点查询和处理这些数据。
Chat Trigger 节点无法获取历史消息#
配置 Chat Trigger 节点时,如果不注意会话加载的配置方式,可能会遇到无法获取历史消息的问题。这种情况通常会表现为 workflow could not be started!
错误。
在 Chat Trigger 中,加载历史会话选项会使用 sessionID
获取会话的历史聊天消息。当您将加载历史会话选项设置为从内存加载时,最佳实践通常是将相同的内存节点连接到工作流中的 Chat Trigger 和 Agent:
- 在您的Chat Trigger节点中,将加载历史会话选项设置为从内存加载。此选项仅在聊天设置为公开可见时才会显示。
- 将一个Simple Memory节点连接到Memory连接器。
- 将同一个Simple Memory节点连接到您的Agent的Memory连接器。
- 在Simple Memory节点中,将会话ID设置为连接的Chat Trigger节点。
有一种情况您可能需要为 Chat Trigger 和 Agent 分别连接不同的内存节点:如果您希望在内存节点中将会话ID设置为下方定义。
如果通过表达式获取会话ID,则该表达式必须适用于所有连接到它的节点。如果表达式与需要内存的每个节点不兼容,您可能需要使用单独的内存节点,以便针对每个节点自定义会话ID的表达式。