admin管理员组文章数量:1631710
项目介绍
Slack 是一种流行的团队沟通平台,企业使用它来改善协作和生产力。 将人工智能支持的语言模型 ChatGPT 与 Slack 集成,可以自动执行各种任务并改进工作流程。
在本文中,我将引导您完成在 PC 环境中使用 Python 请求和在 W5100S-EVB-Pico 开发板环境中使用 Micropython urequests 设置 Slack 应用程序和集成 ChatGPT 的步骤。
我把题目定为学习英语单词。
先决条件
- OpenAI 帐户和 API 密钥
- Slack 帐户
- W5100S-EVB-Pico
- Thonny:Micropython 环境
创建一个 Slack 应用程序
应用程序创建和 API 令牌发行
将 ChatGPT 与 Slack 集成的第一步是创建一个新的 Slack 应用程序。 按照以下步骤创建一个新的 Slack 应用程序:
转到 Slack API 主页并登录您的帐户。
- Slack API: Applications | Slack
单击“创建应用程序”按钮开始应用程序创建过程。
为您的应用程序命名并选择要安装它的工作区。
创建应用程序后,您将被重定向到“基本信息”页面。 在这里,您可以找到您的“应用凭证”,例如“客户端 ID”、“客户端密码”和“验证令牌”。 这些凭据将用于验证您的应用程序并与 Slack API 交互。
接下来,单击左侧菜单中的“OAuth & Permissions”选项卡。 在这里,您会找到“机器人令牌”部分。 单击“添加机器人用户”按钮以将机器人添加到您的应用程序。
为您的机器人设置一个显示名称,然后单击“添加机器人用户”按钮以保存更改。
您现在将看到生成了一个新的“机器人用户 OAuth 访问令牌”。 此令牌将用于验证您的机器人并与 Slack API 交互。
发送消息测试
通过使用以下代码向频道发送消息来测试我的 Slack 应用程序是否正常工作。
import requests
import time
# Slack API Token and URL
SLACK_API_TOKEN = "<Slack API Token>"
SLACK_API_URL = "https://slack/api/chat.postMessage"
# Message to send
message = {
"channel": "#general",
"text": "Hello, World!"
}
for i in range(0, 2):
# Send message using Slack API
response = requests.post(
SLACK_API_URL,
headers={
"Authorization": "Bearer " + SLACK_API_TOKEN,
"Content-type": "application/json"
},
json=message
)
# Print response
print(response.json())
# Wait for seconds before sending the message again
time.sleep(30)
PC环境下使用Python请求的ChatGPT提示测试
基于用于邮件传输的ChatGPT提示修改
我以前使用 ChatGPT API 发送有用的电子邮件。 我是根据当时使用的提示修改的。
- Boost Your Day with Helpful Emails: W5100S-EVB-Pico and ChatGPT API in Action
在生成要通过电子邮件发送的内容时,我请求使用 HTML 格式。
但是,当我按原样将其发送到频道时,标签并未应用如下:
经过检查,我发现为了使用 Slack API 发布降价格式的消息,它需要使用一种称为块的格式。
因此,需要将其转换为适合 Slack API 的块格式。
将消息格式转换为适合 Slack API 的块格式
有几种方法可以将现有的 HTML 格式转换为块格式。
您可以直接执行此操作或使用库,但您也可以请求 ChatGPT 为您执行此操作。
我在提示中添加了以下内容以请求可用于 Slack API 请求的块格式响应。
# ChatGPT Prompt part
...
Please set the format as a 'blocks' value for Slack API
...
## RETURN ONLY THE MAIN RESPONSE. REMOVE PRE-TEXT AND POST-TEXT.
以这种方式请求时,以block格式给出,但解析时需要在前后加上解释或变量名。 解析可以在代码中实现,比较简单。
下面是一个响应示例。
在 W5100S-EVB-Pico 开发板环境中使用 Slack 和 ChatGPT API,使用 Micropython urequests
添加 urequests.py
您需要添加 urequests 库。 有几种安装库的方法,但我只是从下面的链接中复制了库文件。
- Micropython lib - urequests
在 Thonny 中创建一个新文件,然后从上面的链接复制并粘贴整个库代码。 将其保存为 urequests.py
.
修改 Micropython 的不兼容代码
要在 W5100S-EVB-Pico 板环境中使用 Slack 和 ChatGPT API,您需要修改 Python 代码以与 Micropython 兼容,Micropython 是为微控制器设计的 Python 轻量级实现。
您需要添加一个初始化函数才能在 W5100S-EVB-Pico 板上使用以太网。 然后,您可以通过将请求更改为 urequests 并在运行时修复任何兼容性问题来修改 Python 代码。
主要问题是在使用 urequest 时设置标题和正文。
下面是urequests的基本操作代码。 json和ujson都可以,可以使用值为json dump的data参数。
from machine import Pin, SPI
import network
import utime
import urequests
import ujson
# Slack API Token and URL
SLACK_API_TOKEN = "<Slack API Token>"
SLACK_API_URL = "https://slack/api/chat.postMessage"
# W5x00 init
def init_ethernet():
spi = SPI(0, 2_000_000, mosi=Pin(19), miso=Pin(16), sck=Pin(18))
nic = network.WIZNET5K(spi, Pin(17), Pin(20)) # spi, cs, reset pin
# Using DHCP
nic.active(True)
while not nic.isconnected():
utime.sleep(1)
# print(nic.regs())
print('Connecting ethernet...')
print(f'Ethernet connected. IP: {nic.ifconfig()}')
def main():
init_ethernet()
# Message to send
message = {
"channel": "#general",
"text": "Hello, World!"
}
# Repeat message every 30 seconds
for i in range(0, 1):
# Send message using Slack API
response = urequests.post(
SLACK_API_URL,
headers={
"Authorization": "Bearer " + SLACK_API_TOKEN,
"Content-type": "application/json"
},
data=ujson.dumps(message)
)
# Print response
print(response.json())
# Wait for seconds before sending the message again
utime.sleep(30)
main()
测试并得到结果
我编写了一个代码来使用 ChatGPT API 获取要发送到 Slack 频道的正文并将其发布到 Slack 频道。
我已经使用时间库将其设置为每小时发送一次消息。
代码已经分享到 Github 上。
- W5100S-EVB-Pico-Micropython/SlackWithChatGPT at main · renakim/W5100S-EVB-Pico-Micropython
以下是发布在 Slack 频道上的结果:
最初发布在#general 频道,但后来创建了#daily-english 频道并继续在那里发布。
我在 Thonny 上编写和执行代码。
检查在 Slack web 或 PC 应用程序上收到的消息。
消息的格式不一致。 需要及时改进。
结论
将 ChatGPT 与 Slack 集成可以自动执行各种任务并改进工作流程。 在本文中,我向您介绍了在 PC 环境中使用 Python 请求和在 W5100S-EVB-Pico 开发板环境中使用 Micropython urequests 设置 Slack 应用程序和集成 ChatGPT 的步骤。 按照本文概述的步骤,您可以轻松设置 ChatGPT 与 Slack 的集成并简化您的工作流程。
最后,这是 ChatGPT 写的关于这个项目的常见问题解答。 我把它留在这里,因为它可能有助于理解。
常见问题解答
- 什么是 ChatGPT,它是如何工作的?
- ChatGPT 是一种人工智能语言模型,它使用深度学习算法对自然语言提示生成类似人类的响应。 它的工作原理是在大型人类语言数据集上进行训练,并使用这些数据根据给定的输入生成新文本。
- 什么是 Slack,它在商业中的用途是什么?
- Slack 是企业用来改善协作和生产力的团队交流平台。 它允许团队成员实时沟通、共享文件和文档,并与其他工具和服务集成。
- 什么是 Micropython,它如何用于微控制器?
- Micropython 是为微控制器设计的 Python 的轻量级实现。 它允许开发人员编写可在微控制器等小型设备上运行的 Python 代码,从而使他们能够构建物联网设备和嵌入式系统。
- ChatGPT 在商业中的用例有哪些?
- ChatGPT 可用于广泛的业务应用程序,包括客户支持、内容创建、语言翻译等。 它可以自动执行重复性任务,并为员工腾出宝贵时间专注于更高级别的任务。
版权声明:本文标题:在 W5100S-EVB-Pico 上集成 ChatGPT 和 Slack API:制作英语学习机器人 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1729103523a1186776.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论