基于ChatGPT的企业微信机器人

1、openAI账号

登录OpenAI的账号后,再点击右上角的“Personal”图标,然后点击“view API keys”进入API页面。

点击“create new secret key”按钮。

生成秘钥之后,把秘钥复制下来。

2、拉取项目代码

git clone https://github.com/zhayujie/chatgpt-on-wechat

3、配置项目

根目录下的config-template.json文件是配置文件的模板,复制该模板,修改复制的文件名为:config.json

打开刚才复制的config.json文件,把OpenAI的秘钥填到open_ai_api_key。

个人聊天中,需要以 "bot"或"@bot" 为开头的内容触发机器人,对应配置项 single_chat_prefix (如果不需要以前缀触发可以填写  "single_chat_prefix": [""])

机器人回复的内容会以 "[bot] " 作为前缀, 以区分真人,对应的配置项为 single_chat_reply_prefix (如果不需要前缀可以填写 "single_chat_reply_prefix": "")

4、企业微信配置

  • 登录企业微信PC端,点击“头像”->“管理企业”进入企业管理页面。
  • 进入应用管理标签页,点击创建应用。
  • 填写应用的基本信息,创建应用。
  • 复制以下内容到config.json文件。
  "channel_type": "wechatcom_app","wechatcom_corp_id": "",  # 企业微信公司的corpID"wechatcomapp_port": 9898,  # 企业微信app的服务端口, 不需要端口转发"wechatcomapp_agent_id": "",  # 企业微信app的agent_id"wechatcomapp_secret": "",  # 企业微信app的secret"wechatcomapp_token": "",  # 企业微信app的token"wechatcomapp_aes_key": "",  # 企业微信app的aes_key

wechatcom_corp_id是企业微信公司的企业ID: 

wechatcomapp_agent_id是企业微信app的AgentId,wechatcomapp_secret是企业微信app的Secret:


 

wechatcomapp_token和wechatcomapp_aes_key在设置API接收中获取:

企业微信后台URL填写格式改为http://url:9898/wxcomapp

5、运行项目

基于源码运行项目

(1) 安装python

建议Python版本在 3.7.1~3.9.X 之间,推荐3.8版本,3.10及以上版本在 MacOS 可用,其他系统上不确定能否正常运行。

(2)安装核心依赖(必选):

pip3 install -r requirements.txt

(3)拓展依赖(可选,建议安装):

pip3 install -r requirements-optional.txt

(4)运行项目

python3 app.py

基于docker运行项目

(1)安装docker和docker-compose

(2)修改配置文件

打开docker/docker-compose.yml

  • 添加端口映射9898:9898
  • 修改OPEN_AI_API_KEY
version: '2.0'
services:chatgpt-on-wechat:image: zhayujie/chatgpt-on-wechatcontainer_name: chatgpt-on-wechatenvironment:OPEN_AI_API_KEY: 'YOUR API KEY'MODEL: 'gpt-3.5-turbo'OPEN_AI_PROXY: ''SINGLE_CHAT_PREFIX: '["bot", "@bot"]'SINGLE_CHAT_REPLY_PREFIX: '"[bot] "'GROUP_CHAT_PREFIX: '["@bot"]'GROUP_NAME_WHITE_LIST: '["ChatGPT测试群", "ChatGPT测试群2"]'IMAGE_CREATE_PREFIX: '["画", "看", "找"]'CONVERSATION_MAX_TOKENS: 1000SPEECH_RECOGNITION: 'False'CHARACTER_DESC: '你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。'EXPIRES_IN_SECONDS: 3600USE_LINKAI: 'False'LINKAI_API_KEY: ''LINKAI_APP_CODE: ''

启动容器

docker-compose up -d

查看容器

docker ps

进入容器

docker exec -it 容器ID /bin/bash

配置文件config.json在容器中的路径是/app/config.json。

可以将config.json拷贝到容器外,将企业微信配置加入到配置文件中,然后再拷贝回容器,然后重启容器。

项目启动成功后,我们点击企业微信上的保存按钮,保存成功:

配置企业可信IP 

把服务器的IP地址输入进去: 

在企业微信PC端工作台进入机器人应用: 

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

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

相关文章

Kafka 基础概念学习

基础概念学习 一.基础概念二.结构图 一.基础概念 Kafka 基本概念:一种分布式的,基于发布/订阅的消息系统项目ValueBrokerKafka服务端(即部署了Kafka的机器)Producer生产者写数据到主副本Consumer消费者从主副本读数据Consumer Group消费者组&#xff0c…

Cesium Token申请

一、什么是Cesium ion? Cesium ion是一个提供瓦片图和3D地理空间数据的平台,支持把数据添加到用户自己的应用程序中。 二、为什么需要access token? 使用Cesium ion需要申请access token,当用户将数据添加到自己的账户后,便可以…

springboot+MySQL大学生体质测试管理系统

功能需求分析的任务是通过详细调查大学生体质测试的测试信息管理系统要处理的所有对象,通过充分了解大学生体质测试管理系统的工作流程,明确使用者的各种需求,充分思考之后可能扩充和改变的情况,然后在这个基础上来设计数据库。

【力扣算法02】之寻找两个正序数组的中位数 - python

文章目录 问题描述示例 1示例2提示 解题思路代码分析完整代码运行效果及示例代码示例代码1效果图 示例代码2效果图 完结 问题描述 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间…

每天几道高频算法题-DAY1

从今天开始 每天做几道高频算法题 备战秋招 如果有算法还没刷题的(买不起LeetCode会员的) 可以和我一起刷 题目一 给定一个有序数组arr,从左到右依次表示X轴上从左往右点的位置,给定一个正整数K,返回如果有一根长度为K的绳子,最多能盖住几个点绳子的边…

820. 递归求斐波那契数列

链接: 原题 题目: 请使用递归的方式求斐波那契数列的第 nn 项,下标从1开始。 斐波那契数列:1,1,2,3,5…1,1,2,3,5…,这个数列从第 33 项开始,每一项都等于前两项之和 输入格式 共一行,包含整数 …

卷积神经网络

目录 1、卷积运算 2、使用卷积运算实现垂直边缘检测 3、区分正边、负边 4、计算输出矩阵大小 5、边缘填充方法 6、卷积步长 7、三维卷积 8、单层卷积网络 9、卷积层的各种标记 10、简单卷积网络 11、池化层 12、卷 积 神 经 网 络 示 例 1、卷积运算 使用灰度图像…

保姆级指针进阶教程——【C语言】

在之前的博客中,我简单的介绍了什么是指针、指针的大小、运算、二级指针等等一些指针的基础知识,接下来我将带大家深入的了解一下指针,保证让大家对指针有更深刻的理解。 目录 字符指针 指针数组 数组指针 数组名VS&数组名 数组指针的…

第十二章 elk

1、ELK可以帮助我们解决哪些问题 日志分布在多台不同的服务器上,业务一旦出现故障,需要一台台查看日志 单个日志文件巨大,无法使用常用的文本工具分析,检索困难; 2、架构设计分析 Filebeat和Logstash ELK架构中使用Logstash收集、解析日志,但是Logstash对内存、cpu、i…

Spring IOC - Bean的扫描

Component及其衍生注解:Configuration、Controller、Service、Repository标记的类,被Spring IOC扫描到后,即可被容器管理起来。其原理基本涵盖在AnnotationConfigApplicationContext构造函数体的三行代码里。 public AnnotationConfigApplic…

6阶高清视频滤波驱动MS1681

MS1681 是一个单通道视频缓冲器,它内部集成6dB 增益的轨到轨输出驱动器和6 阶输出重建滤波器。MS1681 的-3dB 带宽为35MHz,压摆率为160V/us。MS1681 比无源LC 滤波器与外加驱动的解决方案能提供更好的图像质量。它单电源供电范围为2.5V 到5.5V&#xff0…

检验样本正态性

简介 在统计学中很多推论与正态分布有关,并且很多统计量构造为满足正态分布的形式,很多分布在特定条件近似于正态分布。因此,在统计推断中经常需要判断样本的正态性。本文介绍一些常用的方法。 环境和数据准备: import numpy a…