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

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

01 简介

做这个教程是因为看别人拿免费的割韭菜很不爽,所以准备做个教程来教大家如何搭建一个问答机器人

内核其实就是利用了slack提供的官方api,自己创建app然后获取艾特信息,将数据转发到gpt的api上进行对话。

语音对话其实也没什么,就是slack支持发送语音消息,然后可以通过api获取到文件数据,之后利用语音转文本以及文本转语音实现语音对话。

之前其实是没有做语音对话的功能的,可惜当时看到了一个公众号上发的这个,用来割韭菜。

slack不需要,并且支持多端操作,我一般都用网页端。

注册的话,邮箱需要是非国内的,建议用outlook。

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

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

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

    • 点击From scratch

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

  • 生成认证令牌和安装应用到工作区:演示如何生成用于认证的令牌,并将应用程序安装到 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吧

演示视频地址:

视频演示地址icon-default.png?t=N4P3https://space.bilibili.com/294039626/channel/seriesdetail?sid=3355981
录了gpt3.5,gpt4以及Claude的对话

你可能感兴趣的:(机器人)