相信大家最近被 ChatGPT 刷屏了,其实在差不多一个月前就火过一次,不会那会好像只在程序员的圈子里面火起来了,并没有被大众认知到,不知道最近是因为什么又火起来了,而且这次搞的人尽皆知。

想着这么火的 AI 完全可以好好玩一玩呀,于是就尝试着将 ChatGPT 接入到了个人微信中,实现在微信中调戏 AI

先看几个聊天截图

还可以拉入到一个群,进行群聊,可以看到 ChatGPT 的训练数据相当还是比较旧的,有些问题回答的还是历史的答案。不过从上面的 case 可以看到,目前的这个效果比以往要好很多的,最起码可以联系上下文了,不得不说,这绝对是一个里程碑。

流程

想要在微信中接入 ChatGPT 我们需要如下几个步骤

  1. 成功注册一个 OpenAi 的账号,获取的到一个 API key
  2. 基于开源项目 wechatbot 运行一个微信机器人程序;
  3. 用微信扫码登录(建议用小号);

注册

OpenAi 由于某些原因,在国内是无法正常注册账号的,并且连网站都是无法正常访问的,详细的注册流程不在本文的讨论范围之内,感兴趣的可以在 docs.qq.com/doc/DUE5NcFZQV1F5SHli 查看注册细节。

这里给大家演示一下注册成功后,如何获取一个 API key,当我们注册成功并且登录以后,可以在链接 https://platform.openai.com/account/api-keys,在页面上点击 Create new Secret key 即可生成一个 API key,复制 API key存放起来,后续备用。

运行机器人程序

对于技术出身的朋友,程序的运行有几种方式,可以基于源码来运行,也可以基于 docker 来运行,阿粉这边为了简单,就直接通过 docker 来运行,在服务上面安装好 docker 后,直接运行如下命令即可。

docker run -itd --name wechatbot --restart=always \
-e APIKEY=刚刚生成的 API key \
-e AUTO_PASS=false \
-e SESSION_TIMEOUT=60s \
-e MODEL=text-davinci-003 \
-e MAX_TOKENS=512 \
-e TEMPREATURE=0.9 \
-e REPLY_PREFIX=ChatGPT: \
-e SESSION_CLEAR_TOKEN=下一个问题 \
docker.mirrors.sjtug.sjtu.edu.cn/qingshui869413421/wechatbot:latest

正常了说启动了过后,通过 docker ps 命令我们可以看到有相应的 docker 进程如下。

接下来我们进入的容器中,去查询二维码,并扫码登录,依次执行下面两行代码,不出意外的话,可以看到一个二维码出来,用微信扫码登录一下即可(建议用小号)。

docker exec -it wechatbot bash
tail -f -n 50 /app/run.log

扫码登录过后,我们就可以愉快的玩耍了,不过需要注意的是,API 的调用对于每个账户是有额度限制的,目前每个账户限制的是 18 美元,所以大家用来自己玩玩,调戏调戏 AI 就好,wechatbot 的项目地址在这里 https://github.com/qingconglaixueit/wechatbot ,感兴趣的也可以去研究研究。

思考

ChatGPT 的出现打破了以往的人工智障,虽然现在也还有很多不足的地方,相信在后面的迭代和升级中可以有更好的表现。同时 AI 目前已经越来越成熟,相信以后会有更多的工作岗位和技能将会被取代。

对于我们来说,唯一不变的就是变化,所以我们要做好接受新事物的准备,同时也做好应对未来的准备,尽量让自己变成不可替代的。

不会搭建的小伙伴可以根据下面的提示添加阿粉微信,阿粉会将搭建好的机器人拉进专门的读者群,可以体验一下,坑位有限先到先得。

花了半个小时基于 ChatGPT 搭建了一个微信机器人的更多相关文章

  1. 基于perl面向对象开发的微信机器人

    <pre name="code" class="html">[root@wx03 lib]# ls -ltr total 40 -rw-r--r-- ...

  2. 使用wordpress搭建的一个微信小程序

  3. 智能聊天机器人——基于RASA搭建

    前言: 最近了解了一下Rasa,阅读了一下官方文档,初步搭建了一个聊天机器人. 官方文档:https://rasa.com/docs/ 搭建的chatbot项目地址: https://github.c ...

  4. 如何基于Go搭建一个大数据平台

    如何基于Go搭建一个大数据平台 - Go中国 - CSDN博客 https://blog.csdn.net/ra681t58cjxsgckj31/article/details/78333775 01 ...

  5. 基于jenkins搭建一个持续集成服务器

    1 引言 1.1 编写目的 指导质量管理部,业务测试组同事进行Jenkins环境部署,通过Jenkins解决测试环境不可控,开发测试环境不一致等问题. 1.2 使用对象 质量管理部.基础研发部,集成部 ...

  6. 从头开始基于Maven搭建SpringMVC+Mybatis项目(1)

    技术发展日新月异,许多曾经拥有霸主地位的流行技术短短几年间已被新兴技术所取代. 在Java的世界中,框架之争可能比语言本身的改变更让人关注.近几年,SpringMVC凭借简单轻便.开发效率高.与spr ...

  7. 基于SpringBoot搭建应用开发框架(二) —— 登录认证

    零.前言 本文基于<基于SpringBoot搭建应用开发框架(一)——基础架构>,通过该文,熟悉了SpringBoot的用法,完成了应用框架底层的搭建. 在开始本文之前,底层这块已经有了很 ...

  8. CentOS6下基于Nginx搭建mp4/flv流媒体服务器

    CentOS6下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具) 1.先添加几个RPM下载源 1.1)安装RPMforge的CentOS6源 [roo ...

  9. [转帖]我花了10个小时,写出了这篇K8S架构解析

    我花了10个小时,写出了这篇K8S架构解析 https://www.toutiao.com/i6759071724785893891/   每个微服务通过 Docker 进行发布,随着业务的发展,系统 ...

  10. 基于GTID搭建主从MySQL

    目录 基于gtid搭建主从MySQL 一.GTID的使用 二.GTID的简介 三.GTID的构成 四.查看GTID的执行情况 4.1 gtid_executed 4.2 gtid_own 4.3 gt ...

随机推荐

  1. 面试 个人摸底监测 考察JavaScript基础 (第三天)

    01,如何开启JS严格模式?JS严格模式有什么特点? 两种方式 全局开启在js开头加上 'use strict' 局部开启,在作用域开头加上 function fn(){ 'use strict' } ...

  2. solidedge型材库/.sldlfp格式转.par

    一.打开solidworks型材库:D:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\lang\chinese-simplified\weldment profi ...

  3. 学习 vue3 第一天 vue3简介,创建vue3项目 Composition Api 初识

    前言: 从今天开始来和大家一起学习 vue3 相信大家都不陌生,已经火了一段时间了,但是还是有不少人没有学习,那就跟着六扇老师来简单的入个门 废话不多说,来开始今天的学习 Vue3 简介: 2020年 ...

  4. 关于虚拟机使用桥接网络访问不到物理机IP的问题解决

    问题描述 物理机可以ping 到虚拟机IP,虚拟机 ping 不到物理机IP 解决方法 关闭物理机防火墙,重启虚拟机

  5. pyinstaller 打包多个资源文件到一个可执行文件

    前言 pyinstaller -w: 无终端状态 -F: 打包成一个可执行文件 开始 假设 main.py 脚本调用 test.mp4视频文件(main.py和test.mp4在同一级目录),那么将在 ...

  6. 命令查询职责分离 - CQRS

    概念 CQRS是一种与领域驱动设计和事件溯源相关的架构模式, 它的全称是Command Query Responsibility Segregation, 又叫命令查询职责分离, Greg Young ...

  7. Promise基础知识

    Promise 1.Promise的前置小知识 进程(厂房) 程序的运行环境 线程(工人) 线程是实际进行运算的东西 同步 通常情况代码都是自上向下一行一行执行的 前边的代码不执行后边的代码也不会执行 ...

  8. 4.10:Spark之wordcount

    〇.概述 1.拓扑结构 2.目标 使用spark完成计数实验 一.启动环境 二.新建数据文件 三.查看文件内容 四.启动spark服务 五.编写代码 复制以下代码到shell中(复制后在终端右键-&g ...

  9. 【每日一题】【链表or双指针循环条件】2022年2月26日-NC96 判断一个链表是否为回文结构

    描述给定一个链表,请判断该链表是否为回文结构.回文是指该字符串正序逆序完全一致. 思路: public boolean isPail (ListNode head) { ListNode node = ...

  10. 【离线数仓】Day01-用户行为数据采集:数仓概念、需求及架构、数据生成及采集、linux命令及其他组件常见知识

    一.数据仓库概念 二.项目需求及架构设计 1.需求分析 2.项目框架 3.框架版本选型 服务器选型:云主机 服务器规划 三.数据生成模块 1.数据基本格式 公共字段:所有手机都包含 业务字段:埋点上报 ...