Python实战:wxauto与百度千帆大模型结合快速实现微信智能回复机器人


✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭~✨✨

🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。

我是Srlua小谢,在这里我会分享我的知识和经验。🎥

希望在这里,我们能一起探索IT世界的奥妙,提升我们的技能。🔮

记得先点赞👍后阅读哦~ 👏👏

📘📚 所属专栏:人工智能Python

欢迎访问我的主页:Srlua小谢 获取更多信息和资源。✨✨🌙🌙

​​​

​​​前言

在当今数字化时代,人工智能技术正在以前所未有的速度和创新力改变我们的生活方式与沟通方式。微信自动回复系统作为其中一种应用,展示了人工智能在实际场景中的强大应用潜力。本文将带领您深入探索,通过结合Python编程语言与百度千帆大模型,快速构建一个智能微信自动回复系统。从账号的创建、模型的体验,到应用的部署和完整代码的分享,您将一步步了解如何利用最先进的技术,为您的微信朋友亦或是群聊带来一场智能体验。

微信自动回复

github体验地址:

cluic/wxauto: Windows版本微信客户端(非网页版)自动化,可实现简单的发送、接收微信消息,简单微信机器人 (github.com)

​ 

我们需要再python的编译器中线安装wxauto包

如何安装不成功,可以使用修改源安装,这里就不说了,网上可以搜得到~~

import wxauto
WX = wxauto.Wechat()

简单两行代码即可跳转至微信界面

示例代码

from wxauto import *


# 获取当前微信客户端
wx = WeChat()


# 获取会话列表
wx.GetSessionList()

# 向某人发送消息(以`文件传输助手`为例)
msg = '你好~'
who = '文件传输助手'
wx.SendMsg(msg, who)  # 向`文件传输助手`发送消息:你好~


# 向某人发送文件(以`文件传输助手`为例,发送三个不同类型文件)
files = [
    'D:/test/wxauto.py',
    'D:/test/pic.png',
    'D:/test/files.rar'
]
who = '文件传输助手'
wx.SendFiles(filepath=files, who=who)  # 向`文件传输助手`发送上述三个文件


# 下载当前聊天窗口的聊天记录及图片
msgs = wx.GetAllMessage(savepic=True)   # 获取聊天记录,及自动下载图片

百度智能云——百度千帆大模型

账号创建

实现大模型的直接调研,超方便!

模型体验

在模型广场中可以体验这些大模型

​ 开通付费也有免费的可以使用,不慌~

应用创建

在模型服务中的应用接入中创建应用

 完善基本信息,服务默认全选即可,然后确定创建

创建好的应用会出现在这

我们待会要用到API Key与Secret Key

我们选的是ERNIE 4.0的话我们就查看这个API文档,里面有如何使用,和代码示例

我们可以直接复制,使用,把两个Key改成我们的Key

完整代码——个人、群聊均适用

群聊@版

结合以下代码

当目标@小谢同学,同时提问,AI就对其问题给出回复

如:@小谢同学 大学生一天睡多久合理

import requests
import json
from wxauto import WeChat

# Replace with your actual API credentials
CLIENT_ID = "你的API key"
CLIENT_SECRET = "你的Secret Key"

def get_access_token():
    """
    Retrieve access token using API Key and Secret Key.
    """
    url = f"https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={CLIENT_ID}&client_secret={CLIENT_SECRET}"
    headers = {
        'Content-Type': 'application/json',
        'Accept': 'application/json'
    }
    response = requests.post(url, headers=headers)
    return response.json().get("access_token")

def main(wx, msg):
    # Check if the message starts with '@小谢同学' or any other trigger phrase
    if msg.startswith('@小谢同学'):
        access_token = get_access_token()
        url = f"https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie-speed-128k?access_token={access_token}"
        payload = {
            "messages": [
                {
                    "role": "user",
                    "content": msg[len('@小谢同学'):].strip()  # Remove '@小谢同学' from the message content
                }
            ]
        }
        headers = {
            'Content-Type': 'application/json'
        }
        response = requests.post(url, headers=headers, data=json.dumps(payload))
        json_result = response.json()
        print(json_result)
        if 'result' in json_result:
            wx.SendMsg(msg=json_result['result'] + "--此内容为AI生成", who="你想发给的对象")

if __name__ == '__main__':
    wx = WeChat()
    while True:
        msgs = wx.GetAllMessage()
        if msgs:
            latest_msg = msgs[-1]
            if latest_msg.type == "friend":
                main(wx, latest_msg.content)

无需@版

修改发送目标,两个key,即可使用,记得安装wxauto包

import requests
import json
from wxauto import WeChat


def get_access_token():
    url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=[应用API Key]&client_secret=[应用Secret Key]"

    payload = json.dumps("")
    headers = {
        'Content-Type': 'application/json',
        'Accept': 'application/json'
    }

    response = requests.request("POST", url, headers=headers, data=payload)
    return response.json().get("access_token")


def main(wx1, msg1):
    url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie-speed-128k?access_token=" + get_access_token()

    payload = json.dumps({
        "messages": [
            {
                "role": "user",
                "content": msg1
            }
        ]
    })
    headers = {
        'Content-Type': 'application/json'
    }

    response = requests.request("POST", url, headers=headers, data=payload)
    json_result = json.loads(response.text)
    print(json_result)
    # print(response.text)
    wx.SendMsg(msg=json_result['result'] + "--此内容为AI生成", who="你的目标发送的人")


if __name__ == '__main__':
    wx = WeChat()
    while True:
        msgs = wx.GetAllMessage()
        if msgs:
            if msgs[-1].type == "friend":
                main(wx, msgs[-1].content)

示例:

​​​

希望对你有帮助!加油!

若您认为本文内容有益,请不吝赐予赞同并订阅,以便持续接收有价值的信息。衷心感谢您的关注和支持!

  • 19
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 20
    评论
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值