【ChatGPT】基于GO语言实现的微信聊天和图片生成机器人

ChatGPT-DreamStudio WeChat Robot

🎨基于GO语言实现的微信聊天和图片生成机器人🎨

个人微信接入ChatGPT,实现和GPT机器人互动聊天,同时支持基于文本生成图像。支持私聊回复和群聊艾特回复。

GitHub源代码地址

实现功能

  • GPT机器人模型热度可配置
  • 提问增加上下文&指令清空上下文
  • DreamStudio图像生成模型参数可配置
  • 可设定图像生成触发指令
  • 机器人私聊回复&机器人群聊@回复
  • 好友添加自动通过可配置

实现机制

  1. 利用微信A作为机器人扫码登录程序模拟的微信电脑端,程序后端调用API接口进行文本回复和图片生成。其他微信账号与微信A聊天实现微信个人机器人功能。基于openwechat开源仓库实现

  2. 基于openai官网提供的GPT API,实现文本交互功能,每个新账号前三个月有18美元免费额度。

  3. 基于stability官网提供的DreamStudio API,实现图像生成功能,每个账号注册送500张图像生成免费额度,玩玩基本够用了,不够的话10$可购买5000张。

GPT的官方文档和详细参数示例 。

DreamStudio的官方文档和详细参数示例 。

使用前提

  • 有openai账号,并且创建好api_key,注册事项可以参考此文章 。
  • 有dreamstudio.ai账号,并且创建好api_key
  • 微信必须实名认证。最好用小号

注意事项

  • 项目仅供娱乐,滥用可能有微信封禁的风险,请勿用于商业用途。
  • 请注意收发敏感信息,本项目不做信息过滤。
  • dreamstudio图像生成 仅对英文的支持比较好

结果展示

Screenshot_20230324_181306_edit_70435407551751.jpg

docker运行

使用docker快速运行本项目。

1.基于配置文件挂载运行(推荐)

# 1. 创建目录
$ mkdir -p /data/openai
$ cd /data/openai
# 2. 创建配置文件
$ touch config.json
# 3. 编辑配置文件 ...  配置内容粘贴下文 【配置说明】并按需修改
$ vim config.json
# 4. 拉取镜像
$ docker run -dti --name wechatbot -v /data/openai/config.json:/app/config.json  yinqishuo/wechatbot:latest
# 5. 进入容器内部,打开日志文件扫码登陆
$ docker exec -it wechatbot bash 
$ tail -f -n 50 /app/run.log # 操作出错后删除容器的操作
$ docker stop wechatbot
$ docker remove wechatbot# 退出容器
$ exit

其中配置文件参考下边的配置文件说明。

2.基于环境变量运行

# 运行项目,环境变量参考下方配置说明
$ docker run -itd --name wechatbot --restart=always \-e GPTAPIKEY=换成你的GPT 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=我是来自机器人回复: \-e SESSION_CLEAR_TOKEN=下个问题 \-e DREAMSTDIO_APIKEY=换成你的dreamstudio key \-e ENGINE_ID=stable-diffusion-v1-5 \-e PICTURE_WIDTH=512 \-e PICTURE_HEIGHT=512 \-e STEPS=30 \-e CFG_SCALE= 7 \-e PICTURE_TOKEN=生成图片 \yinqishuo/wechatbot:latest#进入容器内部,打开日志文件扫码登陆
$ docker exec -it wechatbot bash 
$ tail -f -n 50 /app/run.log # 退出容器
$ exit

运行命令中映射的配置文件参考下边的配置文件说明。

3.配置说明

模板:

{"gpt_api_key": "你的gpt api key","auto_pass": true,"session_timeout": 60,"max_tokens": 1024,"model": "text-davinci-003","temperature": 1,"reply_prefix": "来自机器人回复:","session_clear_token": "我要问下一个问题了","dreamstdio_api_key":"你的dreamstdio账号api_key","engine_id":"stable-diffusion-v1-5","picture_width":512,"picture_height":512,"steps":30,"cfg_scale":7,"picture_token":"生成图片"
}

参数说明:

"gpt_api_key":						# openai账号里设置的api_key
"auto_pass":# 是否自动通过好友添加"session_timeout": 60,            # 会话超时时间,默认60秒,单位秒,在会话时间内所有发送给机器人的信息会作为上下文"max_tokens": 1024,               # GPT响应字符数,最大2048,默认值512。会影响接口响应速度,字符越大响应越慢"model": "text-davinci-003",      # GPT选用模型,默认text-davinci-003,具体选项参考官网训练场"temperature": 1,                 # GPT热度,0到1,默认0.9,数字越大创造力越强,但更偏离训练事实,越低越接近训练事实"reply_prefix": "来自机器人回复:", # 私聊回复前缀"session_clear_token": "清空会话"  # 会话清空口令,默认`下个问题`"dreamstdio_api_key":"你的dreamstdio账号api_key",     #dreamstdio账号的api_key"engine_id":"stable-diffusion-v1-5",     			  #dreamstdio模型的名称"picture_width":512,								  #生成图片的宽度,长度,默认512*512"picture_height":512,								#要求为64的倍数,且>=128,尺寸越大消耗的credits越多"steps":30,										#代表模型的渲染步数,越高图片越精细,所需的渲染时间也越长,默认为30,数值越大消耗的credits越多;"cfg_scale":7,									#表示生成图像与文本提示的相似度,越高越像"picture_token":"生成图片"						  #生成图像的触发口令

源码运行

适合了解go语言编程并想进行源码修改的同学,

# 获取项目
$ git clone https://github.com/yinqishuo/chatgpt-dreamstudio_wechat_robot# 进入项目目录
$ cd chatgpt_wechat_robot# 复制配置文件
$ cp config.dev.json config.json# 添加依赖
$ go mod tidy# 启动项目
$ go run main.go# 若想编译为可执行文件
$ go run main.go# 若想打包成docker镜像,需安装Docker ,建议在linux环境下打包,镜像名称为wechatbot
$ make docker# 执行镜像,步骤如上

常见问题

如无法登录login error: write storage.json: bad file descriptor
删除掉storage.json文件重新登录。

如无法登录login error: wechat network error: Get "https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage": 301 response missing Location header
一般是微信登录权限问题,先确保PC端能否正常登录。

其他无法登录问题
尝试删除掉storage.json文件,结束进程(linux一般是kill -9 进程id)之后重启程序,重新扫码登录。
如果为docket部署,Supervisord进程管理工具会自动重启程序。

机器人一直答非所问
可能因为上下文累积过多。切换不同问题时,发送指令:启动时配置的session_clear_token字段。会清空上下文

https://link.zhihu.com/?target=https%3A//github.com/Maks-s/sd-akashic

图像生成技巧

想让 AI 图像生成器创作出精准高质的图像,填写准确合适的文本提示词十分重要。

  1. 不要只输入一个简单的词语(raw prompt),如 Panda(熊猫)、A warrior(战士)等,这样生成的图像会缺少美感和艺术性。
  2. 使用风格提示词能让图像更具艺术性。在提示词中加入艺术风格的关键词,如 Realistic(写实)、Oil painting(油画)、Pencil drawing(铅笔画)、Concept art(概念艺术)等;此外写实风格的提示词有多重表达形式,如[ a photo of + raw prompt ]、[ a photograph of + raw prompt ]、[ raw prompt,hyperrealistic ]、[ raw prompt,realistic ]。
  3. 使用艺术家名称让风格更具像或保持风格一致。比如想表现抽象艺术,可以使用[made by Pablo Picassoa]或者 [ raw prompt,Picassoa]。还可以同时输入多名艺术家,效果会更加有趣。
  4. 最终修饰词。在文本末尾加上的一个修饰词,使图像更符合你想要的效果。比如想要逼真的灯光,可以加上“Unreal Engine”,展现精密细节加上“4K”或“8K”,想要更有艺术性可以加上“trending on artstation”等。

① Stable Diffusion Artist Studies

网址: https://proximacentaurib.notion.site/e2537cbf42c34b7e9a9a4126f81dfd0d

一个由国外网友收集建立的艺术家风格概览表,找到你喜欢的风格后在自己的提示词中加上对应艺术家的名字,就能生成类似风格的图片。

② Stable Diffusion prompting cheatsheet

网址: https://moritz.pm/posts/parameters

一个简短的提示词列表,里面列举了如果你想要实现 3D、精致细节、光照、大环境等效果,应该使用哪些关键词。

③ Stable Diffusion Akashic Records

网址: https://github.com/Maks-s/sd-akashic

一个专业的研究资料库,收集了关于模型原理、艺术风格、提示词、使用技巧和其他有用的工具,适合想深入了解文本-图像扩散模型的人阅读。

本段内容复制于AI绘画神器:DreamStudio - 知乎 (zhihu.com)

友情提示

本项目是 fork 他人的项目来进行学习和使用,请勿商用,可以下载下来做自定义的功能。
项目基于eatmoreapple/openwechat 、ZYallers/chatgpt_wechat_robot 、qingconglaixueit/wechatbot开发。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/3023.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT 使用 拓展资料:吴恩达大咖 Building Systems with the ChatGPT API 系统评估1

ChatGPT 使用 拓展资料:吴恩达大咖 Building Systems with the ChatGPT API 系统评估1 在前面的几段视频中,用户展示了如何使用一个小时来构建应用程序,从评估这些输入到处理输入,再到进行最终打开检查,再到向用户显示输出。显然是构建了这样一个系统。 你怎么知道它是如…

国内这么多“ChatGPT”是真是假

国内这些产品是真的吗?与国外的ChatGPT有什么联系? 用ChatGPT官方图标当头像 免费试用几次后开始收费 据澎湃科技报道,随手点开微信搜索框,就可以发现一系列与ChatGPT“沾亲带故”的产品,并以ChatGPT的官方图标为头像。…

国内最火chatgpt一款强大的国内智能AI语言模型(据说对接了chatgpt4)

简介 Cursor是一个集成了 GPT-4 的国内直接可以访问的,优秀而强大的免费代码生成器,可以帮助你快速编写、编辑和讨论代码。 它支持多种编程语言,如 Python, Java, C#, JavaScript 等,并且可以根据你的输入和需求自动生成代码片段…

给头像戴上口罩

刚搭建的给头像戴口罩的小网页给你的头像戴上口罩-宅主页,包含N95在内的10个口罩可选,欢迎试用

springboot+chatgpt+chatUI Pro开发智能聊天工具

应广大网友要求,也为了节约大家的时间现为大家奉献上源码下载地址:https://download.csdn.net/download/xiangyuanhong08/87708197源码下载后在IDEA导入项目后自己修改配置文件中apiKey运行即可。 一、技术介绍 1.chatgpt-java是一个OpenAI的Java版SDK&a…

如何制作 ChatGPT 清晰有效咒语与Chat GPT高效交流——基础篇 第二课

【ChatGPT】前些天发现了一个巨牛的人工智能学习电子书,通俗易懂,风趣幽默,无广告,忍不住分享一下给大家。(点击查看学习资料) 在上一篇文章中,我们已经了解了 ChatGPT 的特性、应用范围以及逆…

那些追赶ChatGPT,Disco Diffusion的软件合集

用了那么多AI工具后,我才真正地意识到那句话“科技改变生活”,知识的力量果真是无穷的。 那我就来盘点一下我用过自认可以比肩题主提到的两个工具的小宝藏吧~ 一、AI助手 - OpenAI ChatGPT侧边栏AI助手 - OpenAI ChatGPT侧边栏(国内免费使用) - Microso…

New Bing乘上ChatGPT的东风,日活突破1亿

我是卢松松,点点上面的头像,欢迎关注我哦! 注:本文由松松杰哥缮写,ChatGPT进行了补充和润色,你们可以看看本文和其他文有什么区别? 微软今天宣布,New Bing乘上ChatGPT的东风&#xf…

如何使用ChatGPT制作免费的数字人

传统的数字人制作过程 制作属于自己的免费的数字人是一个复杂的过程,需要涉及多个方面的知识和技术。以下是一个大致的步骤指南,以帮助你开始这个过程: 1. 确定数字人的目标和设计:首先,你需要确定数字人的用途和目标…

ChatGPT实战应用:与外国真人聊天并提升英语能力

目录 1.简介 2.HelloTalk 3.chatgpt的使用 4.结语 1.简介 如果你想通过和外国人聊天来提升英语技能或者了解他们国家的文化,但是却没有门路; 如果你有门路,奈何不知道该如何表达自己的想法或者不知道自己表达的意思到底是否准确&#xf…

人人都能懂的ChatGPT解读

作者 | 张杰,中关村科金技术副总裁 策划 | 刘燕 ChatGPT 发布了两个多月,热度不降反增,不断火爆出圈。是时候,为不懂 AI 技术的同学们白话科普一下了。本文将用浅显且不严谨的语言解惑以下问题:ChatGPT 为什么能火起来…

【哈士奇赠书活动 - 23期】-〖你好 ChatGPT〗

文章目录 ⭐️ 赠书 - 《你好 ChatGPT》⭐️ 内容简介⭐️ 作者简介⭐️ 精彩书评⭐️ 赠书活动 → 获奖名单 ⭐️ 赠书 - 《你好 ChatGPT》 ⭐️ 内容简介 人工智能(AI)时代已经来临,AIGC(人工智能生成内容)正在进一步…

半小时用ChatGPT构建你的虚拟形象

大家好,欢迎来到我的频道,今天我来教大家如何用ChatGPT创建一个虚拟形象,如下图和视频所示。 视频地址:https://www.bilibili.com/video/BV1nD4y1u7Ti/?vd_source8b5cb1818bd1c0e0ac8b604d1a720e2d 生成图片 首先,我…

面向ChatGPT编程

让AI编写一个聊天页面,先看一下成品图。 用react写一个聊天页面 让AI把聊天室页面加上好看的样式 要求让样式鲜艳一点 Windows浏览器的滚动条太丑了,让他美化一下 要求AI把聊天内容加上头像,就像微信一样 大功告成,顺利下岗~

idea好用插件分享——Bito-ChatGPT

文章目录 安装步骤:第一步:打开Setting第二步:选择Plugins,输入Bito,就可以搜索出来了,再点击安装第三步:安装完成回到IDEA主界面,右边区域可以看到Bito图标,点击展开&am…

让生产力加倍的ChatGPT快捷指令

我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情 Why use ChatGPT Shortcut? 🚀 简化流程:ChatGPT Shortcut 提供了快捷指令表,可以快速筛选和搜索适用于不同场景的提示词&…

欧洲多国对 ChatGPT 展开调查;高通被韩国罚款超50亿;能用ChatGPT 来炒股了?丨每日大事件...

‍ ‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 企业动态 腾讯发布超强算力集群 4月14日,据腾讯微信公众号消息,腾讯云新发布面向大模型训练的新一代HCC高性能计算集群,整体性能比过去提升了3倍。搭载了NVIDIA H800 Tensor Core GPU&…

ChatGPT热度再升级,AIGC的投资人开始关注“文生图”了

(图片来源:Pixabay) AIGC是一场老互联网人的豪赌,一次美元基金的狂欢,一个时代的进击。 数科星球 原创 作者丨科科 编辑丨十里香 在2023年的第一季度,ChatGPT以“狂飙”姿态火速出圈,由这款产品所带动的A…

ChatGPT时代,我的新书《智慧共生》上市了

告诉你一个好消息,我在人民邮电出版社的第二本书《智慧共生:ChatGPT 与 AIGC 生产力工具实践》刚刚上市,你现在就可以在 京东 和 当当买到了。 有人把 2022 年称作 AIGC(人工智能生成内容) 的元年,我深表赞…

Visual ChatGPT可视化的chatgpt

Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models 摘要 不仅发送和接收语言,还发送和接收图像提供复杂的视觉问题或视觉编辑指令,这些问题需要多个AI模型以多步骤协作提供反馈并要求纠正结果考虑到多输入/输出模型和需要视…