看到chatgpt这么火,我也做了个微信聊天机器人

article/2024/12/22 13:52:47

听说最近ChatGPT很火,我也做了个自动跟女朋友聊天的机器人

这两天ChatGPT火得很,各种报道ChatGPT可以聊天、可以写代码、甚至还写出了毁灭人类计划书!

真是看的我心痒痒啊,但是因为某些原因国内没法试用,加上这两天想讨女朋友开心,所以打算写个自动回复女朋友消息的聊天机器人,也算是一举两得。

思路也很简单,首先实现调用微信api进行消息接收和回复,其次实现一个简单的聊天机器人,能逗女朋友开心。

微信消息接收和回复

这里使用lich0821大佬WeChatFerry项目的代码,WeChatFerry通过hook的方式拦截了微信消息,并实现了python/c++/java的api调用。

安装方法是:

  1. 去下载github项目中最新的release文件,
  2. 解压后按照 readme.md文档进行安装

注意的点有

  • 微信版本和python版本需要匹配
  • 执行 python -m grpc_tools时填写的路径需要改成绝对路径

聊天机器人

聊天机器人我们也不需要太复杂的逻辑,只要能逗女朋友开心就行了,所以我们自己实现。

逻辑如下

  1. 聊天第一句一般都是问"你在干嘛?",我们反客为主,直接将"?"替换成"!",反问对方。
  2. 当对方说"我xxxx你"时,你需要表达跟对方相同的感受,所以需要回复"我也xxxx你"。
  3. 当对方进行询问"你xxxx?"的时候,你需要做出肯定的回复,所以我们回复"对啊!"。
  4. 当"你"和"我"同时在句子中时, 我们需要传递相同的感受,所以把"你"改成"我",把"我"改成"你"。
  5. 遇到疑问句或感叹句时,我们直接改变句意,把"!"和"?"互换。
  6. 最后做一个兜底回答,从"噢噢""这样啊""好吧"中选一个此进行回答。

具体代码如下

    def handle_recv_msg(msg: wcf.WxMsg):

        def replace(d):
            for i in range(len(msg_list)):
                for old, new in d.items():
                    if msg_list[i] == old:
                        send_msg[i] = new
                        continue

        if msg.sender != target_wxid:
            return
        msg_list = list(msg.content)
        send_msg = msg_list[:]

        if "你在" == "".join(msg_list[:2]):
            mapping = {
                "!""?",
                "?""!",
                "!""?",
                "?""!"
            }
            replace(mapping)
        elif "我" == msg_list[0] and "你" in msg_list:
            mapping = {
                "我""我也",
            }
            replace(mapping)
        elif "你" == msg_list[0] and ("?" == msg_list[-1] or "?" == msg_list[-1]):
            send_msg = "对啊!"
        elif "你" in msg_list and "我" in msg_list:
            mapping = {
                "我""你",
                "你""我"
            }
            replace(mapping)
        elif any([(i in msg_list) for i in ["?""?""!""!"]]):
            mapping = {
                "!""?",
                "?""!",
                "!""?",
                "?""!"
            }
            replace(mapping)
        else:
            send_msg = [random.choice(["噢噢""这样啊""好吧"])]
        time.sleep(0.5)
        print("收到消息:", msg.content, "发送消息:""".join(send_msg))
        wcf.send_text("".join(send_msg), target_wxid)

这样我们的微信哄女友开心机器人就写好啦,试一试效果

alt

怎么样,很不错吧,不过这是我实验的一段对话,真正的对话,刚才也试过了,给大家展示一下

alt
alt
alt

额。。。

看来女朋友是门外汉,还需要对女朋友做优化才能让这段程序正确运行啊,有女朋友的小伙伴也赶紧去试试吧。

需要源代码的请在评论区回复噢。

不说了,走廊里太冷了,我去消防通道睡觉去了。

end

本文由 mdnice 多平台发布


http://chatgpt.dhexx.cn/article/CX3E97CS.shtml

相关文章

ChatGPT 微信机器人原理解析(一):如何接入 ChatGPT API

本文在 3 月 29 日首发于我的“职场圈”知识星球: 本文是 ChatGPT 微信机器人的第三篇付费文章。之前的两篇付费文章为: 手把手带你搭建 ChatGPT 微信机器人!把 ChatGPT 微信机器人一键部署到免费服务器! 后续的付费文章包括但不限…

chatgpt+机器人控制器融合(一)

当今机器人技术面临的挑战,以及 ChatGPT 能提供的帮助 目前机器人的操作流是从工程师或技术用户开始,需要他们将任务需求转换为系统代码。工程师会处于工作流程的回路中,他们需要不断编写新的代码和规范来纠正机器人的行为。总得来说&#x…

【原创】什么是chatGPT?Unity结合OpenAI官方api实现类似chatGPT的AI聊天机器人

一、什么是ChatGPT 最近chatGPT爆火,网络铺天盖地的各种文章视频,各种牛逼之声。倒算不上第一时间使用,发布隔了一周多,才从同事那里听说了这么个神奇的技术。这周阳了,持续发烧在家,忙着养病也没时间去了解…

我开发了一个温柔的智能客服聊天机器人ChatBot,并回答为什么不是ChatGPT(附思路和代码)

前言 若问2023年科技领域什么最火,那当然是ChatGPT了,这么智能的对话机器人,给人带来无限的想象,围绕着ChatpGPT的各种热点和创意层出不穷。作为一个多年从事编程开发的程序员,我对于这么大的一个热点也很兴奋&#x…

基于小程序制作一个ChatGPT聊天机器人

在AI技术日新月异的浪潮中,将ChatGPT与实战开发相结合,制作一个随身携带的聊天机器人,紧贴前沿的同时稳固基础。 一、前言1.1、什么是ChatGPT1.2、什么是文本完成二、API2.1、ChatGPT官网申请API所需要的key2.2、搭建API2.3、创建控制器及动作方法三、小程序3.1、页面创建3.…

ChatGPT 的工作原理:机器人背后的模型

这篇对支持 ChatGPT 的机器学习模型的温和介绍,将从大型语言模型的介绍开始,深入探讨使 GPT-3 得到训练的革命性自我注意机制,然后深入研究人类反馈的强化学习,使 ChatGPT 与众不同的新技术。 大型语言模型 ChatGPT 是一类被称…

走进chatGPT新一代机器人

chatGPT这款新一代对话式人工智能便在全球范围狂揽1亿名用户,并成功从科技界破圈,成为街头巷尾的谈资。 chatGPT能干什么? 打开官网https://openai.com/blog/chatgpt/ ,完了,芭比Q了 试下其他家的接口 讲笑话 写代码 写…

AIGC:ChatGPT(一个里程碑式的对话聊天机器人)的简介(意义/功能/核心技术等)、使用方法(七类任务)、案例应用(提问基础性/事实性/逻辑性/创造性/开放性的问题以及编程相关)之详细攻略

AIGC:ChatGPT(一个里程碑式的对话聊天机器人)的简介(意义/功能/核心技术等)、使用方法(七类任务)、案例应用(提问基础性/事实性/逻辑性/创造性/开放性的问题以及编程相关)之详细攻略 导读:回拨到2020年5月,OpenAI提出了更强大的GPT-3模型&…

新技术前沿-2023-ChatGPT基于人工智能技术的聊天机器人

chatgpt镜像网站 一文带你了解爆火的Chat GPT ChatGPT系列文章 为什么ChatGPT这么强?—— 一文读懂ChatGPT原理! 1 简介 1.1 ChatGPT是什么 ChatGPT是一种基于人工智能技术的聊天机器人,它可以模拟人类对话,回答用户的问题和提…

ChatGPT万能提问技巧

ChatGPT火了这么久了,相信很多家人们都开始接触了,应该也有些家人们也要苦恼,每次提问,ChatGPT给出的回复不是自己满意的,总觉得还是缺些什么,这时候发现有效的prompt是真的很重要! 我们先看看g…

向chatgpt提问最重要的技巧

如何理解 Prompt ? prompt 通常指的是一个输入的文本段落或短语,作为生成模型输出的起点或引导。prompt 可以是一个问题、一段文字描述、一段对话或任何形式的文本输入,模型会基于 prompt 所提供的上下文和语义信息,生成相应的输出…

通过python代码向chatGPT提问,并接受返回结果打印

由于科研需求 过程 结果 步骤: 1 申请API https://platform.openai.com/docs/api-reference/introduction 2 得到一个密钥 3 放到上面的python 代码 # -*- coding:utf-8 -*-f import requestsimport openaiopenai.api_key "sk-( 放自己的&am…

《如何向ChatGPT提问并获得高质量的答案》

24种标准的提问范式,获取高质量答案 关于作者 易卜拉欣约翰(Ibrahim John) 伊布拉欣约翰是《从ChatGPT获得高质量答案的艺术:提示工程技术的完整指南》一书的作者。 他出生于坦桑尼亚,是科技和商业领域的知名人物。…

【ChatGPT高端玩法】ChatGPT提问指令大全——7个常用提问模板(上)

系列文章目录 第一章 ChatGPT一分钟制作PPT 第二章 ChatGPT生成Excel统计格式 第三章 ChatGPT生成Excel提取字符公式 第四章 ChatGPT生成思维导图 第五章 ChatGPT快速生成短视频 第六章 ChatGPT提问指令大全——7个常用提问模板(上) 第七章 Chat…

自媒体作者如何向ChatGPT提问

如何向ChatGPT提问,获得高质量的回复?针对这个问题,小编进行了相关的测试,今天跟大家分享向ChatGPT提问的技巧。 以自媒体作者为例,不同平台具有不同的阅读习惯,当我们想要创作一篇小红书笔记,…

《如何向ChatGPT提问并获得高质量的答案》—Prompt技术的完整指南

本教程收集于:AIGC从入门到精通教程 目录 第1章:提示工程技术简介 第2章:说明提示技术(Instructions Prompt Technique)

如何更好地向 ChatGPT 提问?

在与 ChatGPT 进行交互时,如何提出更好的问题可以让你更快地获得更准确的答案。 清晰明了的问题陈述:要确保问题具有清晰、明了、毫不含混的特点,能够帮助ChatGPT更快地理解你的问题。 具体化的问题:要为问题提供上下文和细节&am…

向ChatGPT提问

你想了解ChatGPT吗? 你想向ChatGPT提问题吗? 你想知道它会怎么回答你吗? 欢迎关注我的微信公众号(技术修道场),并在公众号后台直接发送你想问的任何问题,或者直接在该文章下留言,…

ChatGPT 提问技巧

说明:该文章由AI自动生成,仅供参考。😄 在使用 ChatGPT 进行提问时,如何提出清晰、明确的问题,是一个非常重要的问题。下面介绍一些 ChatGPT 提问技巧,帮助您更好地提出问题,获得更准确、有用的…

ChatGPT学习-如何向ChatGPT提问

​ 最近在学习chatGPT,怎么样的提问是一个好的提问。通过网上找资料肯定不是最好的方法,我想起一句话,“不识庐山真面目,只缘身在此山中”。最好的老师就是chatGPT! 下面先展示下提问成果,我通过xmind生成了思维导图 一…