如何创建Dify Slack Bot

Table of Contents

背景 #

公司两个老产品,功能多得不得了,学习曲线那叫一个陡峭。新员工培训耗时巨长,客服人员也经常遇到棘手的客户问题,得四处询问,费时费力。

去年,我们试着用Dify搭建客服聊天机器人,把产品帮助文章导入知识库,这样客服可以直接问机器人获取答案,省不少时间。虽然帮助文章有些过时,但还是有点用。不过,客服使用时还得打开Dify网页,不太方便。

由于公司内部用Slack沟通,我们希望把Dify机器人集成到Slack,实现直接在Slack提问并获取答案。

正好年前办公室买了一台Mac mini,我们在本地安装了Dify。通过在公司Slack工作区配置两个App,并连接到本地Dify客服机器人,我们终于实现了这个目标!

之所以用本地Dify,是因为公司层面需要购买Dify付费帐户或自建本地服务。鉴于公司有条件且Dify开源,我们就选择了本地部署。

最终的效果 #

如何配置 #

配置 Dify 客服聊天机器人 #

Dify 是个开源的大语言模型 (LLM) 应用开发平台,具有以下特点:

  • 支持超多模型
  • Prompt 编排界面简单直观
  • RAG 引擎质量高
  • Agent 框架稳健
  • 流程编排灵活
  • 还提供一套 易用的界面和 API

建议本地部署Dify,这里是官方本地部署文档

创建客服机器人 #

  1. 登录后点击「创建应用」
  2. 选择「对话型应用」类型
  3. 在提示词编排界面:
    • 配置系统提示词(示例): “你是一个专业的客服助手,能根据知识库内容准确回答产品使用问题”
    • 上传产品文档到知识库
    • 开启「文本生成」模型
  4. 保存后即可通过API接入Slack

在 Slack 官网创建 App #

  1. 访问 Slack API 平台
  2. 使用 manifest 方式 创建 Slack App,并选择要部署的 Slack 空间。
display_information:
  name: your bot name
features:
  bot_user:
    display_name: your bot name
    always_online: false
oauth_config:
  scopes:
    bot:
      - app_mentions:read
      - im:history
      - incoming-webhook
      - im:write
      - chat:write
      - channels:join
settings:
  event_subscriptions:
    bot_events:
      - app_mention
      - message.im
  interactivity:
    is_enabled: true
  org_deploy_enabled: false
  socket_mode_enabled: true
  token_rotation_enabled: false
  1. 可以参考提供的 manifest 代码
  2. 在创建好的 App 设置中,获取对应的 App-Level TokenAuth Token

获取App-Level Token

获取Auth Token

通过 Dify Slack Bot 插件把 Dify App 跟 Slack App 连起来 #

  • Dify 官网有开发 Slack Bot 插件的教程。
  • 本着能用开源就用开源的原则,可以选择 crazywoola 开发的 Dify-bot 插件。
  • 插件的具体配置请参考插件的文档。

测试,完成 #

  • 如果测试没问题,就可以告诉大家开始用了。 🎉