楚子沦i 发表于 2023-6-11 14:07

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

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

#### 01 简介

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

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

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

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

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

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

!(https://s2.loli.net/2023/05/25/PJXlZoM9LjAGB4R.png)

#### 02 准备工作

我现在做开发一般都是用的python3.9,小版本的话最高支持的就可以,建议用anaconda安装

然后就是slack注册啥的就不说了,简单说一下权限吧。

- 权限具体到需要哪个我其实也不记得了,我建议像我一样都给。
- (https://api.slack.com/scopes/app_mentions:read)
- (https://api.slack.com/scopes/channels:history)
- (https://api.slack.com/scopes/channels:read)
- (https://api.slack.com/scopes/chat:write)
- (https://api.slack.com/scopes/files:read)
- (https://api.slack.com/scopes/files:write)
- (https://api.slack.com/scopes/im:write)
- (https://api.slack.com/scopes/mpim:write)
- 然后需要的token有
- **User OAuth Token**
- **Signing Secret**
- **App-level tokens**

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

- 这里我简单演示一下

    - 进入 (https://api.slack.com/),创建一个 Slack App。
    - 进入(https://api.slack.com/apps)
    - 点击Create New App

    !(https://s2.loli.net/2023/05/25/JBwXKc2VIkhUg1u.png)

    - 点击From scratch

    !(https://s2.loli.net/2023/05/25/nKXrPRAvmsUwhVT.png)

- 生成认证令牌和安装应用到工作区:演示如何生成用于认证的令牌,并将应用程序安装到 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的(https://github.com/openai/whisper),这个其实也可以使用它的那个(https://platform.openai.com/docs/guides/speech-to-text/quickstart)
- is_chinese
- 判断是否为中文
- gen_voice
- 生成语音
    - 文本转语音使用pyttsx3在Windows上效果非常好,可惜在Linux上不行
    - 使用gtts效果一般
- handle_app_mention_events
- bot主进程



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

楚子沦i 发表于 2023-10-18 08:39

开源地址:https://github.com/datehoer/chatGPT_use/tree/main/slack_chat

Zercher 发表于 2023-10-18 18:00

楚子沦i 发表于 2023-10-18 10:08
可以正常访问GitHub啊

开源地址:https://github.com/datehoer/chatGPT_use/tree/main/slack_chat
这个网址不行哦
404

楚子沦i 发表于 2023-6-13 11:05

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

CryUshio 发表于 2023-6-16 11:28

有源码吗,学习一下

qinuay 发表于 2023-6-21 21:10

学习一下,试着部署

Onkeiiii 发表于 2023-7-28 14:22

感谢分享,有源码就更好了

duandaoren6 发表于 2023-10-17 19:33

可惜没有源码

lingwushexi 发表于 2023-10-18 09:14

感谢分享,学习一下{:1_921:}

Zercher 发表于 2023-10-18 09:58

怎么GitHuB 上面的404了? :eee

楚子沦i 发表于 2023-10-18 10:08

Zercher 发表于 2023-10-18 09:58
怎么GitHuB 上面的404了?

可以正常访问GitHub啊
页: [1] 2
查看完整版本: 从开发到部署:一站式指南创建个性化 Slack App 问答机器人