从开发到部署:一站式指南创建个性化 Slack App 问答机器人
01 简介
做这个教程是因为看别人拿免费的割韭菜很不爽,所以准备做个教程来教大家如何搭建一个问答机器人
内核其实就是利用了slack提供的官方api,自己创建app然后获取艾特信息,将数据转发到gpt的api上进行对话。
语音对话其实也没什么,就是slack支持发送语音消息,然后可以通过api获取到文件数据,之后利用语音转文本以及文本转语音实现语音对话。
之前其实是没有做语音对话的功能的,可惜当时看到了一个公众号上发的这个,用来割韭菜。
slack不需要翻墙,并且支持多端操作,我一般都用网页端。
注册的话,邮箱需要是非国内的,建议用outlook。
02 准备工作
我现在做开发一般都是用的python3.9,小版本的话最高支持的就可以,建议用anaconda安装
然后就是slack注册啥的就不说了,简单说一下权限吧。
-
权限具体到需要哪个我其实也不记得了,我建议像我一样都给。
-
然后需要的token有
- User OAuth Token
- Signing Secret
- App-level tokens
-
创建一个新的 Slack App:步骤展示如何创建一个新的 Slack App,并选择适当的权限和功能。
-
生成认证令牌和安装应用到工作区:演示如何生成用于认证的令牌,并将应用程序安装到 Slack 工作区中。
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
- download
- get_text
- is_chinese
- gen_voice
- 生成语音
- 文本转语音使用pyttsx3在Windows上效果非常好,可惜在Linux上不行
- 使用gtts效果一般
- handle_app_mention_events
那么接下来就开始开发slack app吧
|