ChatGLM接入微信公众号(cpolar的使用)

智谱ChatGLM轻松接入聊天工具 如何快速将通义千问、GLM等大模型例如接入到钉钉、卫星、飞书等聊天工具中? 阅读详情

一,尝试

  继上利用frp加上阿里云服务器,借助公网ip实现内网穿透,再加上申请域名,解析云服务器,再frp上建立http连接,但是由于阿里云免费的服务器,不支持备案,所以域名解析的服务器无法通过域名访问,所以我尝试去购买便宜的香港的服务器免去备案的麻烦,但是连接完之后,token依旧验证失败。

二,方法

2.1 解决验证问题

  我的连接问题我认为很大概率是我的域名和服务器的问题,所以得找到一个替代省去麻烦,最好就是找一个内网穿透的工具,可以建立http连接并且能够提供备案域名实现连接。

2.2 cpolar的使用

  我看到b站视频cpolar,这个工具可以免费进行内网穿透并提供备案域名,但是备案域名只是24h内随机域名,需要固定域名可以购买基础套餐

进入cpolar的官网

cpolar - secure introspectable tunnels to localhost

登录注册之后

 按照图片要求操作,下载对应版本的cpolar,解压缩之后,连接自己的账户

 ./cpolar http 80

开放端口进入

 实际效果应该是这样

只需要将对应的连接80端口的提供好的给你的域名,填入微信公众号验证就行,在加上token的验证代码,上一个文章也有,我粘贴部分

def wechat():
    timestamp = request.args.get("timestamp")
    nonce = request.args.get("nonce")
    echostr = request.args.get("echostr")
    signature = request.args.get("signature")
    if request.method == "GET":
        if not all([signature, echostr, nonce, timestamp]):
            abort(404)
        li = [wechatToken, timestamp, nonce]
        li.sort()
        tmp_str = "".join(li)
        sign = hashlib.sha1(tmp_str.encode("utf-8")).hexdigest()
        if signature != sign:
                abort(403)
        else:
            return echostr

因为微信在给你发送验证请求的是get请求,所以分开执行后面的post发送也会比较方便

2.3 验证成功

  输入对应的网址和运行代码就可以验证成功

 

 对应的也会有这个显示,代表了验证成功,可以去对接微信接口进行开发

三, 运行ChatGLM

3.1 公众号的选择

  因为当时在创建公众号的时候并没有过多的考虑,不经过微信认证的公众号所开的接口十分有限,在消息回复当中只有自动回复的接口可以使用。可以在接口权限中找到,我放一下我自己的公众号。

 3.2 实现聊天

github老哥的代码 ,完整代码在

pli2014/chatGLM-wechat: 【技术篇】个人微信公众号对接chatGLM-6B (github.com)

我截取部分

        xml = request.data
        if xml:
            try:
                msg = parse_message(xml)
                print("message from wechat msg:{}".format(msg))
                t1 = Thread(target=asyncTask, args=(msg.source, msg.content))
                t1.start()

这里是一个xml的一个解析,此刻一定要注意,老哥的代码使用的是明文模式,不能选择其他模式,否则就会出现找不到MsgType的情况,这个也弄了我好长时间,此处老哥的代码是一个线程运行,调用asyncTask的函数,后面的就是传进函数的参数,然后线程执行

问题1 老哥的代码使用权限问题

无论是这种

tokenizer = AutoTokenizer.from_pretrained("model/chatglm-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("model/chatglm-6b", trust_remote_code=True).float()


def asyncTask(userId, content):
    print("ask a quesion with userId:{}, content:{}".format(userId, content))
    response, history = model.chat(tokenizer, content, history=[])
    print("chat-GLB replay:{}".format(response))
    reply = create_reply('这是条文字消息', msg)
    return reply.render()

还是这种

tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b-int4", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm-6b-int4", trust_remote_code=True).float()


def asyncTask(userId, content):
    print("ask a quesion with userId:{}, content:{}".format(userId, content))
    response, history = model.chat(tokenizer, content, history=[])
    print("chat-GLB replay:{}".format(response))
    client.message.send_text(userId, response)

里面涉及到的消息转发的函数微信认证的公众号都不可以使用,所以我们需要利用xml的格式进行post转发

        xml = request.data
        if xml:
            try:
                xml = ET.fromstring(request.data)
                fromUser = xml.find('FromUserName').text
                toUser = xml.find('ToUserName').text
                msgType = xml.find("MsgType").text
                createTime = xml.find("CreateTime")
                content = xml.find('Content').text
                xml_sta = '<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[%s]]></Content></xml>'
                GLM_Reply = reply(content)
                res = make_response(xml_sta % (fromUser, toUser, str(int(time.time())), GLM_Reply))
                res.content_type = 'application/xml'
                return res

这样就不会报,没有接口权限的错误了

3.3 问题

  进行到这里,依旧出现了一个问题,当我向客户端发送你好的时候,GLM也作出了回答,但是传递公众号上却不显示,问题的点在于没有报错,所以也没弄明白原因,并且CPU和内存的占有率非常高,但是GPU性能却一点没用,也让我很困惑

这个CPU和内存访问超时的问题已经解决,核心就是在接口的调用错误,阿里云机器学习平台的现存是32G完全够用,然而老哥的代码时使用CPU本地部署,而且微信公众号也是微信认证的。

应仿照官方文档调用模型

问题1 因为是否可能是这个响应的问题超过五秒了,服务器拒绝了

这个问题已经有方法了,如果你们需要接入微信公众号,那么就必须要进行微信认证,获得24h的客服回复接口,才能避免生成结果超过5s的问题。

问题2 在尝试调用ChatGLM的api也会有响应问题,通过建立流式api,但在服务器运行过程中卡住,这个问题也没有解决,运行卡住了

科研绘图避坑指南:用PyMol制作期刊级蛋白-配体相互作用图(含氢键显示技巧) 本文是一份专业的科研绘图避坑指南,详细讲解如何利用PyMol软件制作符合期刊发表标准的蛋白-配体相互作用图。文章重点分享了从构图逻辑、精准选择到氢键等相互作用的艺术化表达技巧,并提供了视觉优化与期刊适配的终极参数设置,帮助科研人员产出兼具科学严谨性与视觉美感的专业图表。 阅读详情

相关推荐

ESP32-S3驱动PCA9685模块:I2C扩展16路舵机控制实战指南

本文提供了ESP32-S3通过I2C总线驱动PCA9685模块扩展16路PWM输出的完整实战指南。详细解析了PCA9685模块原理、硬件连接、I2C地址配置,并给出了核心驱动代码与角度控制函数,帮助开发者解决微控制器PWM引脚不足的问题,轻松实现多路舵机控制。

weixin_32005771的博客 514

记录ChatGLM接入微信公众号的过程,及错误总结(未解决)

本人本来的意思是去搭建一个Chatgbt和微信公众号的一个个人聊天工具,但是由于需要租用海外服务器,以及海外服务器是否能够去满足GBT大模型的训练,因此如果想要省点钱,来进行搭建,就得换个法子,就跟着师哥了解了ChatGLM。

PRATICKSTAR的博客 1767

解决在封装自定义IP时加入ila,或者其他ip核时出错的情况

在查阅很多资料后,明白了这个应该是软件bug,但是最终还是解决了问题 我们只需要删除

weixin_42553916的博客 3604

chatglm3部署使用

然后还有一个问题是requests异步访问有问题,所以用了httpx,修改front_end.py里面的@app.get(“/api/chat”)项目,模型地址换成本地的glm3,运行app文件即可,这里主要是环境的问题配了好久,之后会把环境文件导出附上。这里我踩的一个坑是没有自定义jupyter内核用glm3环境设置的,所以一直是有代码没图像。项目,这里面有连接互联网,查询天气和思维导图等很多功能,这里面遇到的问题是把前端vue里的。api用的8000端口,所以在front_end.py最后一行改为。

weixin_38226321的博客 2545

【Python・统计学】(两)多因素方差分析(原理及代码)

自学笔记,分享给对统计学原理不太清楚但需要在论文中用到的小伙伴,欢迎大佬们补充或绕道。ps:本文不涉及公式讲解(文科生小白友好体质)~(部分定义等来源于知乎) 本文重点:多因素方差分析 【1.多因素方差分析简单原理】 【2.多因素方差分析步骤】 【3.多因素方差分析代码】

TUTO_TUTO的博客 4864

akshare 布林通道策略

import datetime import pandas as pd import backtrader as bt import matplotlib.pyplot as plt from datetime import datetime import matplotlib import akshare as ak %matplotlib inline class Boll_strategy(bt.Strategy): #自定义参数,每次买入1800手 params=(('size'.

qq_26742269的博客 5335

1分钟快速将智能聊天机器人接入国产ChatGLM开源模型

“了解如何在短短1分钟内,让智能聊天机器人与国产ChatGLM开源模型无缝连接,为你的应用增添智能交流能力!”01—昨天发布ChatGPT微信助手体验群后,见《ChatGPT 微信助手上线!问答更便捷,功能持续升级中。》,有不少朋友进群体验。‍‍‍‍‍‍‍‍朋友们问了很多有意思的问题,也有请助手帮忙处理工作上的事,甚至还有数学题,简直是要累死ChatGPT机器人的节奏。‍‍‍‍‍‍‍‍‍“有一列...

1165

inno setup自定义卸载程序和美化

也就是DisplayName,因为我们在第一步的时候,将卸载程序名称也写入了注册表,所以,我们直接从注册表读DisplayName字段即可。1.要实现inno setup自定义卸载程序,首先需要关闭自带的卸载程序。在[Setup]的字段关闭卸载程序步骤和页面。2.删除应用程序目录里能够删除的并且返回进度。3.自定义卸载程序相关的注册表信息。4.删除启动菜单栏和guid注册表。2.自定义快捷方式和程序菜单。

cs821984831的博客 2347

用 10 万条微信记录和 280 篇文章,我拿 AI「克隆」了自己

将这些数据——我对不同消息的回复,我写的每一篇文章,每一句话,我发过的每一条微博等,全部汇入一个神经网络模型之中,去更新其中的参数,理论上就可以获得一个我的数字拷贝。很明显,他和 ChatGPT 差得极远,没办法帮我写代码,或者写文案,也不够聪明,因为训练用的数据不包含多轮对话,所以多轮对话的理解力更差,与此同时,他对我也不算特别了解,除了知道自己的名字(也就是我的名字),我的其他很多信息,他其实并不能准确回答,但是,他经常会说一些简单的几个字,让我有一种熟悉的感觉,也可能是错觉,谁知道呢。

aiboycoder的博客 8351

12、知识图谱数据处理与推理全解析

本文深入解析了知识图谱中的数据处理与推理技术,涵盖SHACL的多种约束类型(如值约束、范围约束、字符串约束、逻辑约束等)及其在数据质量控制中的应用,并介绍了常用的SHACL工具与实际案例。文章对比了SPARQL与SHACL的特点,探讨了RDF(S)的局限性,引出表达能力更强的OWL和OWL2语言及其在语义网和生物医学等领域的应用。此外,还阐述了规则在知识表示中的作用,包括产生式规则和Datalog规则,并总结了知识图谱中推理的重要性与典型流程,为构建高质量、可推理的知识图谱提供了全面的技术指导。

zz67890的博客 134

SAP-ABAP:接口多继承与复合接口设计:复杂业务场景下的能力组合实现方案

本文介绍了ABAP中通过接口多继承与复合接口设计实现能力组合的方案。文章首先辨析了类实现多个接口与接口继承接口的核心概念,指出ABAP虽不支持类多继承,但可通过这两种机制灵活组合能力。随后详细讲解了类实现多个接口的语法规则与三种调用方式,并给出了五个基础能力接口的设计示例(日志记录、权限校验、数据导出、消息通知、格式转换)。作者通过对比单继承与接口多重实现的差异,强调后者在解耦和扩展性上的优势,为复杂业务场景下的能力组合提供了实用解决方案。

baidu_35680696的博客 244

ChatGLM模型通过api方式调用响应时间慢怎么破,Fastapi流式接口来解惑,能快速提升响应速度

chatgpt的fastapi流式部署方法

xuxu96 2万+

⭐️VMwareWorkstation17.0虚拟机安装搭建Windows 7虚拟机(完整图文详细步骤含配置VMware Tools教程)

本教程为大家提供了从安装VMware Workstation 17.0开始,到在虚拟机上成功搭建Windows 7专业版系统的完整步骤。我们详细介绍了准备阶段所需的软件和硬件要求,以及在VMware中配置和安装Windows 7系统的每一步操作。此外,我们还特别提到了如何在虚拟机上配置VMware Tools,以便更好地与宿主机进行交互。 通过本教程的学习,读者不仅能够掌握在VMware Workstation 17.0上安装Windows 7虚拟机的技能,还能了解到如何配置虚拟机的硬件以及安装VMwar

Python老吕的博客 2万+

ChatGLM3 模型学习与实战

智谱AI于27日论坛上推出了全自研的第三代基座大模型ChatGLM3及相关系列产品,这也是智谱AI继推出千亿基座的对话模型ChatGLM和ChatGLM2之后的又一次重大突破。

争渡的博客 3066

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

魔搭社区LLM模型部署实践, 以ChatGLM3为例(二)

Xinference支持大语言模型, 语音识别模型, 多模态模型的部署, 简化了部署流程, 通过一行命令完 成模型的部署工作。并支持众多前沿的大语言模型, 结合GGML技术, 支持多端部署。chatglm.cpp的github地址是:https://github.com/li-plus/chatglm.cpp。魔搭社区和Xinference合作, 提供了模型GGML的部署方式, 以ChatGLM3为例。之后再Launch Model中搜索刚刚创建的模型名称, 点击火箭标识运行即可使用。

Maynor的博客 1515

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

清华开源语言大模型ChatGLM3联通one-api实现快速部署

通过http://localhost:3000/ root/123456 登录OneAPI。使用此种部署方法 按照这个进行填写,下一篇文章会讲如何和fastgpt联动。

Silver__Wolf的博客 2988

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

解决无公网IP的微信公众号开发调试问题,利用内网穿透的实践经验分享

在微信公众号开发中,微信要求开发者需要拥有自己的服务器资源来响应微信发送的token验证,这个服务器只能通过域名访问,不能使用ip地址来进行访问,如果购买服务器,再购买域名,将是一笔比较大的开销,如果能将本地服务暴露出去,再使用域名去访问,不仅能简化配置,还能减少开销,达到快速开发的效果。幸运的是,Cpolar帮您搞定这一点。启动Cpolar并将隧道的URL粘贴到微信公众号对接服务器的URL字段中,完成!

qq_72916130的博客 4060

使用Laf云平台,两步将机器人接入微信公众号

chatgpt把刚才保存的接口地址复制到服务器URL这里,下边的token与云函数代码中的token保持一致,下边的EncodingAESKey点击右侧随机生成就行,然后点击提交。首先默认你有一个公众号,然后登录微信公众平台,点开左侧的设置与开发,点击基本设置,服务器配置那里点击修改配置。可以说已经满大街可见了,到处都有各种各样的体验地址,有收费的也有免费的,总之是五花八门、花里胡哨。然后我们点击函数,函数列表右侧的加号,新增一个可以介入微信公众号的chatgpt云函数。注册登录之后,点击新建,建立一个应用

weixin_42560424的博客 1万+

微信公众号一、接入微信并实现机器人自动回复功能

一、说明 微信公众平台 https://mp.weixin.qq.com/cgi-bin/loginpage?t=wxm2-login&lang=zh_CN 测试平台 https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 本文demo 链接:https://pan.baidu.com/s/1syGGvdCJqcSPnZ...

ws - 兮的博客空间 3585

Python(三)微信公众号开发

ps:暂未完善,先做记录。本文核心讲外网穿透及微信Token验证 阅读 基本开发流程 申请个人公众号-订阅号 微信公众平台https://mp.weixin.qq.com 自定义菜单 微信公众平台当然不只是给开发人员使用的,它提供了很多非技术人员可在UI界面上交互操作的功能模块。 如配置消息回复、自定义菜单、发布文章等 微信Token验证 微信提供了非开发人员也可自定义编辑的菜单UI,但是如果我们想自定义开发呢?那么则需要对接微信SDK进行开发 流程: 1.下载na.

LinZhonglong的博客 4951

使用本地的chatGLM

打开终端cd依次输入以上命令。

积跬步,至千里 535

ChatGLM3-6B 的调用参数说明,chat 与stream_chat 接口函数的参数说明

本文通过查看源代码,总结了ChatGLM3-6B两个接口函数,model.chat, model.stream_chat的参数使用说明,便于使用时查阅。

白袍小将的博客 8684

chatglm+langchain+互联网,你可以将大模型接入网络了

项目链接:https://github.com/LemonQu-GIT/ChatGLM-6B-Engineering/最近发现一个好的项目,可以直接将 大模型接入 互联网,笔者这么极客的人,肯定不会错过,使用了一下,哈哈。目前支持,纯llm聊天,还有sd插件生成图片,然后就是接入互联网web。然后你就可以 使用 大模型+网络的组合了,哈哈,还等什么,去试试吧。当然这个也可以自己添加一些网站,但是要编写,爬取和解析的过程。下期分享lora微调自己的图片的训练,欢迎关注。再来讲一讲,项目是使用web的流程。

weixin_39394916的博客 2755

ChatGPT腾讯云轻量云服务器,对接微信完全教程!

报错:解决:yum install git -y。

kekechengxiao的博客 3033

如何基于 ChatGLM3 构建企业级应用?

▼最近直播超级多,预约保你有收获今晚直播:《ChatGLM3 架构设计和案例实战》—1—今晚20点 ChatGLM3案例实战直播ChatGLM3 提供了更强大的 LLM 基座,在语义、数据、推理、代码、知识等不同数据集上表现出色,并在 44 个中英文公开数据集测试中国内模型排名第一,如下:它是怎么做到的?在训练数据维度更多样,在训练步骤维度更充分,在训练策略维度更合理。ChatGLM3 除了...

musicml的博客 507

ChatGLM(国内版的chatGPT)

ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。ChatGLM-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答,更多信息请参考我们的博客。

qq_41771998的博客 2万+
上一篇: 记录ChatGLM接入微信公众号的过程,及错误总结(未解决)
下一篇: Linux环境下的frp的开启,关闭,重启,状态检查等
PRATICKSTAR
博客等级 码龄5年 1321粉丝 13原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值