支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


如何使用N8N搭建AI客服

发布日期:2025-07-30 07:06:36 浏览次数: 1549
作者:东阁瞎折腾

微信搜一搜,关注“东阁瞎折腾”

推荐语

用N8N轻松搭建AI客服系统,仅需几步配置即可实现智能问答功能,大幅降低企业客服部署门槛。

核心内容:
1. N8N内置RAG模板快速搭建AI客服流程
2. 文件上传与向量数据库配置详解
3. 对话流程优化与生产环境部署建议

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

我们在之前的文章中介绍过N8N这个自动化流程工具。有朋友在文章下留言询问如何使用N8N来搭建自己的客服系统,而N8N提供的Chat Trigger本意就是应对智能客服场景,是可以很好地满足这种需要的。

像图片展示的这样,我们可以在N8N中,创建一个客服处理流程,然后将这个浮窗嵌入到我们自己的网站中。

AI客服的基本需求

基于大语言模型的AI客服实现具有显著优势:其部署门槛极低,仅需提供少量业务文档和规则即可快速构建。

这是由于大语言模型在预训练阶段已覆盖海量知识领域,即使在额外数据有限的情况下,也能展现出优秀的语义理解和应答能力,特别适合简单客服场景的快速落地。

我们作为示例,仅让客服应对回答用户关于产品信息咨询的场景。

对于这种情况来说,AI客服的主要问题就变成了检索文档并按照文档中的信息生成回答。

我们可以在N8N中构建一个简单的RAG来实现。

如何在N8N中构建RAG

其实在N8N中就内置了一个RAG示例模版:

http://localhost:5678/workflows/templates/rag-starter-template?fromJson=true

你可以把这个链接中的地址和端口号修改为你的N8N地址和端口,访问后会为你的N8N创建一个示例工作流。

N8N提供的RAG示例工作流

我们可以基于这个示例来构建一个简单的AI客服。

首先认识一下这个工作流的内容。 主要分为两个部分:左侧框体中是将文档上传加载到向量数据库流程,右侧是AI对话流程。我们下面一个一个地进行调整。

文件上传流程

我们先来看左侧的文件上传过程。

左侧第一个节点是一个Form Trigger,允许用户通过提交表单来进行触发。 表单中要求用户上传一个文件,这里可以配置支持的文件类型,这里我加上了.txt以方便我直接上传文本文档。

图中的是表单节点的配置信息


第二个节点则是一个Simple Vector Store节点,他是一个向量数据库类型的节点。 向量数据库可以让你用一个文本来检索与其语义相近的文本。 这个Simple Vector Store是存储在内存中的,断电就会失效,所以不建议用在生产环境中。 N8N支持包括Milvus在内的多种向量数据库,推荐在实际场景中使用。

图片中展示的是Simple Vector Store的配置

在这个节点中,操作是添加一个文档到数据库(Insert Documents),这里需要指定一个Memory Key,方便我们在后续获取对应的文档。我这里指定了Key为“产品信息“,后续就可以通过这个Key来检索”产品信息“相关的文档。

而Embedding Batch Size是批量处理文档相关的配置,本示例中不需要修改。 Clear Store则是指在上传文档时,是覆盖原本的文档,还是追加文档。 我这里考虑产品信息可能是会后续更新,就勾选了Clear Store。

Vector Store节点还有两个依赖节点,一个是Embedding节点,一个是Documet节点。

Embedding节点是接入一个Embedding模型,它提供从文本到向量的转换能力。 示例中使用了OpenAI的Embedding服务,在国内不好访问。 Embedding模型对硬件的要求并不高,所以我这里使用Ollama来部署了一个本地的Embedding模型来处理。

图片中删除了原本的OpenAIEmbedding节点,替换成了OllamaEmbedding节点
图片展示的是Ollama Embedding节点配置,使用了bge-m3模型来作为Embedding模型

而Document节点则是用来加载文档内容,使用了Default Data Loader节点,可以在节点配置中查看支持的文档格式,以及切分方式。 这个示例中,我们不做修改,使用默认。

完成了文档上传流程的调整之后,我们就可以上传一个产品信息文件。

会到Form Trgger中的配置中,我们点击左侧的那个Execute Step。

图中展示Execute Step之后会显示正在监听表单提交

这时就可以通过配置页中展示的URL打开一个表单提交页面。

图片中展示了表单提交页面,这里可以上传一个文档


这里我模拟了一个水果店里的水果信息,写了一份产品文档进行提交,像下面这样:

# 概览
当前水果商品清单(共10种):
- 苹果/香蕉/橙子/草莓/西瓜
- 芒果/葡萄/火龙果/猕猴桃/榴莲

# 明细
- 名称:苹果
  价格:5.8元/斤
  保存期限:7天
  推荐话术:"新鲜脆甜的山东红富士,富含膳食纤维,每日一苹果医生远离我!"

- 名称:香蕉
  价格:3.5元/斤
  保存期限:3天
  推荐话术:"海南自然熟香蕉,软糯香甜,补充能量首选,老人孩子都爱吃!"

- 名称:橙子
  价格:6.9元/斤
  保存期限:10天
  推荐话术:"赣南脐橙现摘现发,汁水充沛维C丰富,秋冬润燥必备水果!"

...

提交完成,我们现在去设置对话流程。

AI对话流程

我们先配置一下AI节点,就是那个图中那个有机器人图标的AI Agent节点。

可以看到这个节点默认接入了一个OpenAI对话模型和一个Simple Vector Store节点(Query Data Tool)。 国内不方便使用OpenAI,我们先把对话模型替换成DeepSeek。

图片中将模版中的OpenAI Chat Model替换成了DeepSeek Chat Model


然后在Vector Store节点中,也就是图中的Query Data Tool中配置成数据检索工具,检索目标是我们刚才的Memory Key。 并写一个描述,来说明这个工具的作用,以便模型能够正确的选择和使用。

图片中是AI对话侧的Vector Store配置

最后,我们来配置AI Agent节点本身。 主要是要给AI一个人设,能让它表现的更像一个客服。 我们点击配置最下方的Add Option按钮,给它添加一个系统提示词(System Message)。 这里我会给他一个基础人设和回答时的一些要求。 实际使用时,你可以给它更丰富的设定和要求。

图中给AI Agent添加了客服人设和要求


图中给AI Agent添加了客服人设和要求

我们现在就可以试着对话看看了。 我们可以在Chat Trigger节点处点击Execute Step,或者在其配置页面中点击Test Chat。 会在窗口的下方出现一个Chat面板。

图片中工作流面板的下方,靠左侧的位置有一个Chat面板


图片中工作流面板的下方,靠左侧的位置有一个Chat面板

试着问一些水果店客户会问的问题吧。

图片中展示了AI客服对一些问题的回答


图片中展示了AI客服对一些问题的回答

可以看到这些回答已经是符合了我们设定的人设要求,并且根据产品文档进行的答复了。 下面我们把这个AI客服部署到自己的网站就可以了。

如何部署AI客服

这时我们已经有了一个后端的AI客服,要如何把它嵌入到自己的网站中去呢?

首先需要配置一下Chat Trigger节点。 这里我们要把聊天窗口开放出去,选择Make Public。

图片中展示了Chat Trigger的配置方式


在多出来的配置中选择Embedded Chat模式,用于配置嵌入式对话气泡。 选择Add Option,添加Allowed Origins。 这里最好填写你要嵌入客服对话窗的网站域名。 我这里填*表示所有网站都可以嵌入这个窗口。

这时我们记下这个Chat URL,后面部署的时候会用到。

这时我们找到N8N提供的前端组件,链接:

https://www.npmjs.com/package/@n8n/chat

根据页面中的提示,我选择使用CDN Embed的方式来嵌入。 只需要嵌入这段代码,并把其中的webhookUrl替换成刚才的Chat URL就可以了。

<linkhref="https://cdn.jsdelivr.net/npm/@n8n/chat/dist/style.css"rel="stylesheet"/>
<scripttype="module">
import{ createChat }from'https://cdn.jsdelivr.net/npm/@n8n/chat/dist/chat.bundle.es.js';

createChat({
webhookUrl:'YOUR_PRODUCTION_WEBHOOK_URL'
});
</script>

参考这份文档,我们还可以再多一些定制化信息,比如这样:

<link
href="https://cdn.jsdelivr.net/npm/@n8n/chat/dist/style.css"
rel="stylesheet"
/>

<scripttype="module">
import{ createChat }from"https://cdn.jsdelivr.net/npm/@n8n/chat/dist/chat.bundle.es.js";

createChat({
      defaultLanguage:"zh",
      initialMessages:["你好呀!""我是您的AI客服,今天有什么需要帮助呢?"],
webhookUrl:
"YOUR_PRODUCTION_WEBHOOK_URL",
      i18n:{
        zh:{
          title:"欢迎光临水果店",
          subtitle:"新鲜水果咨询 · 专业推荐 · 优惠信息",
          footer:"四季鲜果坊 © 2023",
          getStarted:"开始会话",
          inputPlaceholder:"您想问什么呢?",
},
},
});
</script>

把这段代码放到我们自己的网站页面中试试,这里我做了一个静态页面做展示。

图片中是我做的一个静态页面,嵌入代码后会多出一个气泡图标


可以看到右下角多出了一个气泡图标,点开它就能看到我们的对话窗口。

图片中展示的是点击气泡图标就可以看到聊天窗口


用一些问题进行测试,也是顺利的进行了回答。

图片中AI客服已经可以顺利回答问题了

总结

本文只是对N8N构建客服的能力和流程进行了很简单的演示,对于真正的客服落地,还有很多事可以做。包括并不限于:

  • 记录用户的会话
  • 优化文档处理流程
  • 设置人工介入流程
  • 从库存系统或其他外部系统中查询数据
  • 根据用户的请求生成工单或触发其他自动化
  • 前端气泡的样式定制和美化

对于上面这些,在N8N的框架下也都是可以完成的。

其实写了上次N8N的文章之后,我已经很久没有用过它了。这次趁机部署了新版本来体验,感觉功能已经非常完备了。我现在非常好奇,大家在用它完成什么样的工作流呢?

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询