从开发到部署:一站式指南创建个性化 Slack App 问答机器人

查看 22|回复 0
作者:楚子沦i   
从开发到部署:一站式指南创建个性化 Slack App 问答机器人
01 简介
做这个教程是因为看别人拿免费的割韭菜很不爽,所以准备做个教程来教大家如何搭建一个问答机器人
内核其实就是利用了slack提供的官方api,自己创建app然后获取艾特信息,将数据转发到gpt的api上进行对话。
语音对话其实也没什么,就是slack支持发送语音消息,然后可以通过api获取到文件数据,之后利用语音转文本以及文本转语音实现语音对话。
之前其实是没有做语音对话的功能的,可惜当时看到了一个公众号上发的这个,用来割韭菜。
slack不需要翻墙,并且支持多端操作,我一般都用网页端。
注册的话,邮箱需要是非国内的,建议用outlook。

02 准备工作
我现在做开发一般都是用的python3.9,小版本的话最高支持的就可以,建议用anaconda安装
然后就是slack注册啥的就不说了,简单说一下权限吧。

  • 权限具体到需要哪个我其实也不记得了,我建议像我一样都给。
  • app_mentions:read
  • channels:history
  • channels:read
  • chat:write
  • files:read
  • files:write
  • im:write
  • mpim:write

  • 然后需要的token有
  • User OAuth Token
  • Signing Secret
  • App-level tokens

  • 创建一个新的 Slack App:步骤展示如何创建一个新的 Slack App,并选择适当的权限和功能。

  • 这里我简单演示一下

  • 进入 Slack API 平台,创建一个 Slack App。

  • 进入Your app

  • 点击Create New App


  • 点击From scratch


  • 生成认证令牌和安装应用到工作区:演示如何生成用于认证的令牌,并将应用程序安装到 Slack 工作区中。
  • 弄好权限后点击install App即可


    python需要的库
  • slack_bolt
  • logging
  • gtts
  • whisper
  • openai
  • json
  • io
  • requests
  • redis
  • re
  • time

    简单介绍一下这几个库。
    slack_bolt操作slack_app的,logging日志,gtts文本转语音,whisper语音转文本,requests模拟请求
    具体的流程就是下面的这几个
  • 利用slack_bolt接入bot
  • 接收用户信息
  • 单独回复
  • 接入openai
  • 获取语音消息
  • 文本转换
  • 流式输出

    用到的工具有:
  • Pycharm
  • Chat GPT
  • Google
  • Redis

    程序的几个主要的方法有下面这几个
  • chat
  • 调用openai
  • download
  • 下载音频附件
  • get_text
  • 语音转文本
  • 利用的是openai的whisper库,这个其实也可以使用它的那个openai库里的whisper
  • is_chinese
  • 判断是否为中文
  • gen_voice
  • 生成语音
  • 文本转语音使用pyttsx3在Windows上效果非常好,可惜在Linux上不行
  • 使用gtts效果一般
  • handle_app_mention_events
  • bot主进程


    那么接下来就开始开发slack app吧

    语音, 文本

  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部