大家在忙碌的时候,有没有想过让AI替你回复未读的微信消息,哈哈,虽然很有可能会出大问题,不过感兴趣的各位uu还是可以尝试尝试。有很多方法可以实现这个功能,接下来让我给大家介绍一个简单的实现方法,让我们开始吧!
step1:大语言模型调用(APIKEY)
什么是大语言模型的APIKEY?
大语言模型的APIKEY,即应用程序接口密钥,是用于验证和授权API请求的代码。它允许开发者在应用程序中集成第三方服务,如大语言模型,同时保证数据的安全传输。
APIKEY的用途主要包括:
- 身份验证和授权:APIKEY用于识别和授权应用程序或开发人员访问特定API的权限。在每次使用API时,开发人员需要将APIKEY与API请求一起提交,以便验证其身份和授权权限。这有助于确保只有经过授权的应用程序或开发人员才能访问和使用API。
- 访问控制:通过APIKEY,API提供商可以控制对API的访问,包括限制访问频率、访问量等。这有助于防止恶意攻击和滥用API资源。
- 跟踪和监控:APIKEY还可以用于跟踪和监控API的使用情况,包括调用次数、调用方式、调用来源等。这有助于API提供商了解API的使用情况,以便进行性能优化、故障排查等。
常见的大语言模型基本都提供应用程序接口功能,这次我们选择百度的文心一言,可以参考文心一言开发者中心。
首先我们登录自己的飞浆paddlepaddle,在控制台获取访问令牌。
如图所示,访问令牌即Access Token,在令牌旁边点击眼睛的小图标查看复制即可,然后我们使用以下代码,即可对大语言模型进行初步的设定。
import erniebot # 导入文心一言的开发程序包
erniebot.api_type = 'aistudio'
erniebot.access_token = '6c8axxxxxxxxxxxxxxxxxxxxxxxxxxxx8025' # 个人的访问令牌
response = erniebot.ChatCompletion.create(
model='ernie-3.5',
messages=[{'role': 'user', 'content': last_msg}],
system="注意,你是一个爱笑的大学生,从现在起你将以大学生的身份回复问题",
)
下边我们对上方代码进行一点点解释:
import erniebot是在导入文心一言程序包,可以看看使用教程,导入该包需要首先pip一下~:pip install erniebot==0.5.0
system="注意,你是一个爱笑的大学生,从现在起你将以大学生的身份回复问题"是对文心一言回答问题的初步形象设定,此处你可以发挥发挥想象力,让你的回复更具个性!
messages=[{'role': 'user', 'content': last_msg}]中,last_msg即为文心一言收到的信息,当文心一言收到last_msg信息后,response将会将信息传入大语言模型里边获得模型的输出,可以使用response.get_result()得到输出。
step2:微信自动回复程序的实现
微信实现自动回复有多个方法,为了简单便捷,此处,我们参考了作者:不会写代码 只会CVhttps://blog.csdn.net/m0_64642443的原创文章,进行了设计。代码程序如下:
from uiautomation import WindowControl # 引入uiautomation库中的WindowControl类
# 绑定微信主窗口
wx = WindowControl(
Name='微信',
searchDepth=1
)
# 切换窗口
wx.ListControl()
wx.SwitchToThisWindow()
# 寻找会话控件绑定
hw = wx.ListControl(Name='会话')
# 死循环接收消息
while True:
# 从查找未读消息
we = hw.TextControl(searchDepth=4)
# 死循环维持,没有超时报错
while not we.Exists():
pass
# 存在未读消息
if we.Name:
# 点击未读消息
we.Click(simulateMove=False)
# 读取最后一条消息
last_msg = wx.ListControl(Name='消息').GetChildren()[-1].Name
# 导入文心一言
import erniebot
erniebot.api_type = 'aistudio'
erniebot.access_token = '6c8axxxxxxxxxxxxxxxxxxxxxxxxxxx8025' # 个人的访问令牌
response = erniebot.ChatCompletion.create(
model='ernie-3.5',
messages=[{'role': 'user', 'content': last_msg}],
system="注意,你是一个爱笑的大学生,从现在起你将以大学生的身份回复问题",
)
# 发送消息
wx.SendKeys(response.get_result(), waitTime=5)
wx.SendKeys('{Enter}', waitTime=1)
wx.TextControl(SubName=last_msg[:5]).Click()
** 在运行上述代码前,我们首先需要在电脑端打开微信,且让微信窗口处在任务栏中**:
然后,在终端运行python文件即可,让我们看看最终的效果吧~
** 可以看到AI的回复还是带着点AI的味道,读者可以自行尝试一下新的改进哦~**
相关技术文章:
动手做个AI机器人,帮我回消息
chatgpt:将你的微信变成智能聊天机器人
版权归原作者 love you joyfully 所有, 如有侵权,请联系我们删除。