大家在忙碌的时候,有没有想过让AI替你回复微信消息呢?
小伙伴们早上好吖,本期小编给大家带来一个硬核干货:教你用Python解放双手,接入文心一言大模型 自动回复微信消息 !这听起来是不是很酷呀?更酷的是,全程只需要编写 20行代码 哦~
1
Part1 :什么是大语言模型的API Key
大型语言模型的 API Key 是一种 授权密钥 ,它允许开发者通过API(应用程序编程接口)访问大型语言模型的功能。这些API Key通常由模型提供商生成并分发给开发者,以便他们可以使用语言模型的服务。
使用API Key,开发者可以向模型发送请求,并获取模型返回的文本生成、文本分类、文本理解等功能的结果。API Key可以确保访问者有权使用模型,并帮助提供商追踪和管理访问者的使用情况,以及对服务进行监管和控制。
请注意,API Key应当被妥善保管,不应当公开或泄露,因为泄露API Key可能导致未经授权的访问者使用模型服务,从而可能产生安全风险或额外的费用。
大型语言模型的API Key具有以下用途:
- 身份验证与授权: API Key用于验证用户的身份和授权他们使用语言模型的服务。只有拥有有效 API Key 的用户才能访问语言模型的功能。
- 访问语言模型服务: 使用API Key,开发者可以通过API访问语言模型的各种功能,如文本生成、文本分类、文本理解等。
- 控制访问和使用限制: 语言模型提供商可以通过API Key控制用户的访问权限和使用配额。这样可以防止滥用或超出合理使用范围。
- 跟踪使用情况与分析: API Key允许提供商跟踪用户的使用情况,包括请求频率、使用模式等,从而进行分析和优化服务。
- 计费和付款: 对于一些服务,API Key也可以用于识别用户并进行计费。这样,语言模型提供商可以根据用户的使用情况收取费用。
总之,API Key是连接开发者和语言模型服务之间的桥梁,确保只有经过授权的用户可以使用模型的功能,并且提供了管理和监控使用情况的手段。
2
Part2 :获取文心一言的API Key
step1 : 首先进入以下网址,登录后单击左上角的头像进入个人中心。
https://aistudio.baidu.com/overview
step2 : 单击访问令牌,查看并复制Access Token。
3
Part3 :实现微信自动回复程序
step1 : 创建一个test.py文件,然后编写以下Python代码。
from uiautomation import WindowControl # 导入用于控制 Windows 窗口的库
import erniebot # 导入文心一言库
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 # 读取最后一条消息
erniebot.api_type = 'aistudio'
erniebot.access_token = '0f**********************************0b' # 设置个人的访问令牌
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() # 点击对应的消息
注意,代码中的*号要替换成上面复制的Access Token哦。
这段代码实现了一个简单的微信聊天机器人程序,下面是代码的具体分析。
-
from uiautomation import WindowControl:这行代码导入了一个用于控制Windows窗口的库。
-
import erniebot:这行代码导入了erniebot的库,一个用于聊天机器人的库。
-
wx = WindowControl(Name='微信', searchDepth=1): 这行代码创建了一个名为wx的窗口控制对象,并将它绑定到了微信的主窗口。
-
wx.ListControl():这行代码执行了一个操作,可能是为了切换窗口,但没有提供具体的功能说明。
-
wx.SwitchToThisWindow():这行代码切换到微信窗口。
-
hw = wx.ListControl(Name='会话'):这行代码似乎是在微信窗口中寻找一个名为“会话”的控件,并将其绑定到变量hw上。
-
while True:这是一个无限循环,用于持续接收消息。
-
we = hw.TextControl(searchDepth=4):这行代码似乎是在“会话”控件中查找未读信息。
-
while not we.Exists():这是一个循环,用于查找未读消息。
-
if we.Name:如果存在未读消息,则执行以下操作。
-
we.Click(simulateMove=False):点击未读消息。
-
last_msg = wx.ListControl(Name='消息').GetChildren()[-1].Name:获取最后一条消息。
-
设置文心一言库的参数。
-
使用文心一言库对最后一条消息进行聊天补全。
-
wx.SendKeys(response.get_result(), waitTime=5):将聊天补全的结果发送给微信。
-
wx.SendKeys('{Enter}', waitTime=1):模拟按下回车键。
-
wx.TextControl(SubName=last_msg[:5]).Click():点击对应的消息。
这段代码的作用是,当微信接收到消息时,它会自动点击消息并使用文心一言库对接收到的消息进行回复,然后将回复发送给对方。
step2 : 在电脑端登录微信,并让其处在任务栏中。
step3 : 运行test.py文件等待接收消息即可。
运行代码后,如果此时有人给你发消息,微信会自动回复消息哦(哈哈哈虽然可能不太靠谱)
可以看到,它回复了2023年12月份左右的电影。
最最最后,喜欢本篇文章的帅哥美女们可以留下👍🏻嘛~