基于AppFlow和阿里云百炼实现微信公众号智能客服

在阿里云上只需 10 分钟即可将您的微信公众号(订阅号)变成 AI 智能客服,以便全天候(7x24)回应客户咨询,提升用户体验、增强业务竞争力。

方案概览

将微信公众号(订阅号)变成 AI 智能客服,只需 4 步:

  1. 创建大模型问答应用:我们将先通过百炼创建一个大模型应用,并获取调用大模型应用 API 的相关凭证。

  2. 搭建微信公众号连接流:基于阿里云的 AppFlow 服务,在无需编写代码的情况下,完成微信公众号和百炼 RAG 应用的关联,实现用户在微信公众号聊天中和 RAG 应用对话。

  3. 验证 AI 智能客服:接着您可以直接与公众号对话,验证是否配置成功。

  4. 增加私有知识:最后可以通过准备一些私有知识,让 AI 助理能回答原本无法准确回答的问题,帮助您更好地应对客户咨询。

image

7b29f72d-3b9d-4fb1-867f-fc19aa575644

1. 创建大模型问答应用

首先我们可以通过创建一个百炼应用,来获取大模型的推理 API 服务,用于实现 AI 助手。

1.1 创建应用

  1. 进入百炼控制台的我的应用在页面右侧点击新增应用。在对话框,选择智能体应用并创建。2024-09-22_11-25-00

  2. 应用设置页面,模型选择通义千问-Plus,其他参数保持默认。

    您也可以选择输入一些 Prompt,比如设置一些人设以引导大模型更好的应对客户咨询。
    你叫小助,是我们公司的 AI 助手,可以帮助客户解答产品选购、使用等方面的问题。
    请总是给出简短的回答,不要讲太多。

    33

  3. 在页面右侧可以提问验证模型效果。不过您会发现,目前它还无法准确回答你们公司的商品信息。点击右上角的发布,我们将在后面的步骤中去解决这一问题。 image.png

  4. 返回我的应用页面,获取应用ID2024-08-29_16-49-04

1.2 获取调用 API 所需的凭证

为了在后续通过 API 调用大模型应用的能力,我们需要获取一个百炼应用的 API-KEY 和应用 ID:

  1. 我的应用 > 应用列表中可以查看所有百炼应用 ID。保存应用 ID 到本地用于后续配置。2024-09-18_17-38-41

  2. 在顶部导航栏右侧,点击人型图标,点击API-KEY进入我的API-KEY页面。在页面右侧,点击创建我的API-KEY,在弹出窗口中创建一个新 API-KEY。保存 API-KEY 到本地用于后续配置。2024-09-18_17-23-56

2. 创建微信公众号连接流

AppFlow 可以让您在不写代码的情况下,通过界面配置就可以将百炼 RAG 应用和微信公众号连接起来。您可以通过预置的 AppFlow 模板创建一个微信公众号连接流。

如果您的微信公众号已经完成认证,您可以使用微信客户消息回复用户在公众号的咨询,如果您没有完成认证,只能使用被动回复消息功能回复用户,该功能将消息响应时间限制为 5 秒,超时将无法回复。

是否完成认证可以在微信公众号后台,在左侧菜单选择设置与开发 > 账号设置,在账号设置页面中查看。您可以根据认证情况选择下面的创建方案。bcc603653c5d4b75efee061b67274081

配置连接器凭证

微信公众号凭证

  1. 访问微信公众号后台,在左侧菜单选择设置与开发 > 开发接口管理。选择基本配置页签,获取 AppID。2024-11-07_16-27-30

  2. 登录AppFlow链接凭证页面,单击创建凭证选择公共连接器,并选择微信公众号单击去授权。

    image

  3. 在弹出的微信公众号代运营授权中将获取到的AppID填入文本框中并单击授权

    说明

    授权后,Appflow 会自动帮您配置公众号,您无需任何操作。

阿里云百炼凭证

  1. 登录AppFlow链接凭证页面,单击创建凭证

  2. 选择公共连接器,并选择阿里云百炼,填入凭证名称以及步骤一获取到的API-KEY

    image

  3. 单击确认完成配置。

配置连接流

已认证的公众号(使用模板)

  1. 使用AppFlow模板创建连接流,点击立即使用进入创建流程。2024-11-07_16-57-05

  2. 在连接流的账户授权配置向导页,选择已经配置的连接器凭证,单击下一步

    image

  3. 执行动作配置向导页,填入在百炼控制台我的应用中获取的应用ID,单击下一步

    image

  4. 基本信息配置向导页,填写连接流名称连接流描述(建议保持默认),完成后点击下一步

  5. 界面提示流程配置成功,点击发布2024-11-07_17-04-51

已认证的公众号(自定义配置)

进入AppFlow控制台创建,自定义连接流名称连接流叙述,并单击下一步,开始配置微信公众号大模型回复(订阅号、服务号)连接流:

  1. 步骤1 :接收文本消息

    1. 连接器选择微信公众号,触发事件选择为接受文本消息

      image

    2. 选择已配置的微信连接凭证。

      image

  2. 步骤2 :RAG检索增强

    1. 连接器选择阿里云百炼,执行动作选择为RAG检索增强)

      image

    2. 选择已配置的百炼连接凭证。

      image

    3. 在入参配置区块配置应用IDPrompt提示词

      image

  3. 步骤3 :获取被动回复文本消息

    1. 连接器选择微信公众号,触发事件选择为向指定用户回复文本消息

      image

    2. 选择已配置的微信连接凭证。

      image

    3. 在入参配置区块配置接收用户OpenID文本消息内容

      image

  4. 单击完成并保存流程,在跳转的连接流详情页版本列表中单击发布

    image

未认证的公众号(使用模板)

  1. 使用AppFlow模板创建连接流,点击立即使用进入创建流程。2024-11-07_17-07-32

  2. 在连接流的账户授权配置向导页,选择已经配置的连接器凭证,单击下一步

    image

  3. 执行动作配置向导页,填入在百炼控制台我的应用中获取的应用ID,单击下一步

    image

  4. 基本信息配置向导页,填写连接流名称连接流描述(建议保持默认),完成后点击下一步

  5. 界面提示流程配置成功,点击发布2024-11-07_16-53-08

未认证的公众号(自定义配置)

进入AppFlow控制台创建,自定义连接流名称连接流叙述,并单击下一步,配置微信公众号大模型自动回复(未认证)连接流需要4个步骤:

  1. 步骤1 :接收文本消息

    1. 连接器选择微信公众号,触发事件选择为接受文本消息

      image

    2. 选择已配置的微信连接凭证。

      image

  2. 步骤2 :百炼应用(流式)

    1. 连接器选择阿里云百炼,执行动作选择为百炼应用(流式)

      image

    2. 选择已配置的百炼连接凭证。

      image

    3. 在入参配置区块配置应用IDPrompt提示词

      说明

      应用ID填入在百炼控制台我的应用中获取的应用ID

      image

  3. 步骤3 :获取被动回复文本消息

    1. 连接器选择微信公众号,触发事件选择为获取被动回复文本消息

      image

    2. 选择已配置的微信连接凭证。

      image

    3. 在入参配置区块配置接收方账号(收到的OpenID)发送方账号(收到的OpenID)文本消息

      image

  4. 步骤4 :返回自定义内容

    1. 连接器选择自定义返回,触发事件选择为返回自定义内容

      image

    2. 在入参配置区块配置自定义内容

      image

  5. 单击保存,在跳转的连接流详情页版本列表中单击发布

    image

3. 验证公众号上的 AI 智能客服

现在,您可以访问公众号并发送消息,即可收到 AI 智能客服的回复。

image

4. 为 AI 客服增加私有知识

通过前面的步骤,您已经拥有了一个可以和客户对话的 AI 智能客服。但是,如果想让 AI 智能客服像公司员工一样,更加精准且专业地回答与商品相关的问题,我们还需要为大模型应用配置知识库。

假设您是一家售卖智能手机的公司。您的网站上会有很多与智能手机相关的信息,如支持双卡双待、屏幕、电池容量、内存等信息。不同机型的详细配置清单参考:百炼系列手机产品介绍.docx

4.1 配置知识库

接下来,我们可以尝试让大模型在面对客户问题时参考这份文档,以产出一个更准确的回答和建议。

  1. 上传文件:在百炼控制台的数据管理中的非结构化数据页签中点击导入数据,根据引导上传我们虚构的百炼系列手机产品介绍:

    根据您上传的文档大小,百炼需要一定时间解析,通常占用1~6分钟,请您耐心等待。

    image

  2. 建立索引:进入知识索引,根据引导创建一个新的知识库,并选择刚才上传的文件,其他参数保持默认即可。知识库将为上一步骤中准备的文档建立索引,以便后续大模型回答时检索参考。

    image

    选择向量存储类型时,如果您希望集中存储、灵活管理多个应用的向量数据,可选择ADB-PG

    image

    image

  3. 引用知识:完成知识库的创建后,可以返回我的应用进入到刚才创建的应用设置界面,打开知识检索增强开关、选择目标知识库,测试验证符合预期后点击发布。Prompt 中会被自动添加一段信息,以便大模型在后续回答时参考检索出来的信息。

    image

4.2 检验效果

有了参考知识,AI 智能客服就能准确回答关于您公司的商品的问题了。

image

总结

通过前面的学习,您已经能搭建一个大模型 RAG 应用,并且将其以 AI 智能客服的形式添加到微信公众号中来应对客户咨询,整个过程仅需 0 元(免费试用额度内) 10 分钟。

应用于生产环境

在正式的将 AI 智能客服引入到您的生产环境之前,建议您了解如下信息:

应用评测

建议在正式上线 AI 智能客服前,组织业务人员一起参与应用评测,确保大模型应用的回答效果符合预期。如果不符合预期,可以通过优化提示词、完善补充私有知识、调整文档切分策略等方法来改进回答效果。

持续改进

大模型课程

系统体验的改进优化永远没有终点,您可以考虑学习并通过阿里云大模型 ACA 认证,该认证配套的免费课程能帮助您进一步了解大模型的能力和应用场景,以及如何优化通过大模型的应用效果。

常见问题

公众号开启服务器配置后,自定义菜单无法使用怎么办?

当您在公众号后台开启服务器配置后,因为微信公众号的限制,您之前配置的自定义菜单会因为冲突而关闭。如果您未完成微信认证,则无法同时开启服务器配置和自定义菜单。如果您是服务号或订阅号完成了微信认证,这时您可以参考如下步骤通过接口配置自定义菜单:

1. 获取access_token。您可以参考获取 access_token 文档。通过访问下面的微信接口,获取access_token。您可以访问微信公众号后台,在左侧菜单选择设置与开发 > 基本配置。获取 AppID 和 AppSecret,并替换下面的您的AppID您的AppSecret

curl "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=您的AppID&secret=您的AppSecret"

2. 调用菜单接口。你可以参考创建菜单文档,通过执行下面的代码,替换代码中ACCESS_TOKEN,并设定你需要的菜单数据,创建自定义的菜单。

curl "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
     "button":[
     {	
          "type":"click",
          "name":"首页",
          "key":"home"
      },
      {
           "name":"菜单",
           "sub_button":[
           {	
               "type":"view",
               "name":"文档",
               "url":"https://help.aliyun.com/zh/model-studio/getting-started/what-is-model-studio"
            }]
       }]
 }'

配置完成后,与公众号对话没有反应,如何排查问题?

如果您是在 AppFlow 控制台点击运行一次进行测试时没有返回内容,是因为运行一次功能未包含内容输入,所以会报错。如果您是在微信与微信公众号对话时,没有返回内容,可以按照以下步骤进行排查:

  1. 访问AppFlow控制台,在表格操作列中单击运行日志,跳转到执行日志页面查看日志。2024-08-29_16-54-56

  2. 在执行日志页面,点击详情查看错误日志详情。查看运行失败的步骤,通过失败信息分析原因。

    2024-08-29_16-56-46image

常见的原因有:

  • 百炼应用 Id 配置错误,应用 Id 未正确配置百炼应用 Id 或配置时存在前后空格。应用 Id 可在百炼控制台我的应用查看并和配置比对。

  • 微信公众号未完成认证,但采用了已完成认证的工作流。需要重新配置工作流,选择没有认证的公众号对应的工作流。

  • 微信公众号凭证配置错误,可在AppFlow控制台连接凭证页面,查看微信公众号配置,与微信公众号后台进行比对。

  • 微信公众号未配置白名单 IP。可在AppFlow控制台连接凭证页面,查看微信公众号配置,获取白名单 IP。

  • 微信公众号未完成认证,百炼应用回答超过 5 秒,导致触发微信限制,未能成功回复。建议完成微信认证,使用已经完成认证的工作流。如果无法完成认证,可以在百炼应用 prompt 中添加“请总是给出简短的回答,不要讲太多。”或将百炼应用的模型选择通义千问-Turbo来提升模型回复速度,但此方法会降低模型回答效果。

记录 AI 助理对话日志

如果您想要记录 AI 助理对话日志并进行分析,您可以参考如下内容在 Appflow 中添加日志节点,将对话内容记录在阿里云日志服务中。

  1. 访问AppFlow控制台,在表格操作列点击详情,在详情页面右上角点击创建新版本2024-10-08_17-48-33

  2. 在编辑页面阿里云百炼步骤之后,点击+添加新的步骤。行业类型选择阿里云公共连接器选择SLS日志云服务2024-10-08_17-51-322024-10-08_17-52-43

  3. 选择执行动作写入日志,点击保存,进入下一步2024-10-09_10-22-08

  4. 点击添加新凭证。在创建凭证对话框,根据表单填入信息,完成角色创建和授权。创建完成后,选择凭证,并点击保存,进入下一步2024-10-09_10-25-292024-10-09_10-27-29

  5. 选择地域、Project 和 Logstore。填入所需的日志信息,左侧输入框是日志Key,直接输入,右侧是日志Value,通过插入变量获取上下文中信息。

    1. 如果您已经创建过用于存储 AI 助手日志的阿里云日志服务的Project和Logstore,则可以直接使用,如果没有创建过,可以参考创建Project和Logstore创建。创建完成后无需接入日志,进入Logstore详情页面,在页面右上角点击开启索引,使用默认的全文索引即可。开启索引后才可以在日志服务进行在线日志查询和分析。2024-10-09_10-36-532024-10-09_10-38-45

    2. 选择地域、Project 和 Logstore。填入所需的日志信息,左侧输入框是日志Key,直接输入,右侧是日志Value,通过插入变量获取上下文中信息。image

  6. 保存并发布连接流版本。2024-10-09_11-02-12

  7. 进行对话测试,并查看日志。2024-10-09_11-35-40