3 分钟利用 FastGPT 和 Laf 将 ChatGPT 接入企业微信

原文链接:https://forum.laf.run/d/556

FastGPT 是一个超级🐮🍺的 ChatGPT 平台项目,功能非常强大:

✅ 集成了 ChatGPT、GPT4 和 Claude
✅ 可以使用任意文本来训练自己的知识库、文档库,而且知识库专有模型可以限定为“只能回答知识库相关问题,其他问题一律不予回答”
✅ 开放模型市场,其中有一个非常暴躁的模型叫暴躁小哥😄
✅ 提供 API,你可以通过 API 的形式接入到自己的应用中,例如:飞书、企业微信、客服助手、公众号等 ✅ 可自定义 OpenAI API Key

🌐链接:https://fastgpt.run/?inviterId=64215e9914d068bf840141d0

而 Laf 是一款为所有开发者打造的集函数、数据库、存储为一体的云开发平台,助你像写博客一样写代码,随时随地发布上线应用!3 分钟上线 ChatGPT 应用!

🏠官网(国内):https://laf.run
🌎官网(海外):https://laf.dev

这篇文章教你用两分半的时间,利用 FastGPT 和 Laf 将 ChatGPT 接入企业微信。

条件

  1. 你需要有企业微信管理权限
  2. 你需要一个 FastGPT账号
  3. 你需要一个Laf(国区)账号

企业微信需要使用已经备案的域名,所以这里需要用国区的域名。点击这里可以参考企业微信详细说明

FastGPT操作

  1. 前往“AI助手”页面,创建一个AI助手,并记录这里的modelId(用FASTGPT_MODEL_ID表示)

  1. 前往“开发”页面,创建一个API KEY,记录这里的API KEY 为 FASTGPT_APIKEY

企业微信操作

  1. 进入企业微信管理后台-我的企业,记录这里的企业ID为 WXWORK_CORPID

  1. 进入应用管理页面,点击【创建应用】进入创建页面,填写应用信息后点击【创建应用】。如果已经有现成的应用,可以跳过此步骤。

  1. 在应用管理页面点击刚刚创建好的应用,进入应用详情页面。记录这里的AgentId和Secret(需要点击获取按钮,在企业微信聊天窗口里面获取),分别为WXWORK_AGENTID和WXWORK_CORPSECRET。

  1. 在应用详情页面,接收消息处点击【设置API接收】。

在API接收消息页面,点一下两个【随机获取】按钮,它会自动生成一个Token和EncodingAESKey,我们分别记为WXWORK_TOKEN和WXWORK_AESKEY。注意,不要关掉这个页面,Laf侧配置完毕后我们再来填写URL。

Laf 操作

  1. 进入Laf控制台,新建一个应用。

  1. 进入开发页面,先安装两个npm依赖:
  • xml2js
  • @wecom/crypto

  1. 创建一个云函数 chatgpt(不可改名),取消所有请求方法,填写下面的代码并发布。
import cloud from '@lafjs/cloud'export async function sendGptMessage(message) {console.log('send gpt message', message)const res = await cloud.fetch({url: 'https://fastgpt.run/api/openapi/chat/chat',method: 'POST',headers: {apikey: process.env.FASTGPT_APIKEY},data: {"modelId": process.env.FASTGPT_MODEL_ID,"isStream": false,"prompts": [{"obj": "Human","value": message},]}})console.log('send gpt message result', res?.data)return res.data?.data
}
  1. 创建一个云函数 wxwork(不可改名),取消所有请求方法,填写下面的代码并发布。
import cloud from '@lafjs/cloud'export async function getToken() {const cache = cloud.shared.get('access-token')console.log('checking cache', cache, cache.expires >= Date.now())if (cache && cache.expires >= Date.now()) return cache.token;console.log('start to get token of', process.env.WXWORK_CORPID)const res = await cloud.fetch({url: 'https://qyapi.weixin.qq.com/cgi-bin/gettoken',method: 'get',params: {corpid: process.env.WXWORK_CORPID,corpsecret: process.env.WXWORK_CORPSECRET,}})const token = res.data.access_tokencloud.shared.set('access-token', { token, expires: Date.now() + res.data.expires_in * 1000 })return token
}export async function sendMessage(message, user) {console.log('send messagge', user, message)const res = await cloud.fetch({url: 'https://qyapi.weixin.qq.com/cgi-bin/message/send',method: 'POST',params: {access_token: await getToken()},data: {"touser": user,"msgtype": "text","agentid": process.env.WXWORK_AGENTID,"text": {"content": message},"safe": 0,"enable_id_trans": 0,"enable_duplicate_check": 0,"duplicate_check_interval": 1800}})console.log('send message result', res.data)
}
  1. 创建一个云函数wxwork-gpt-api (随便改名),开放GET和POST请求,填写下面的代码并发布。
import cloud from '@lafjs/cloud'
import { decrypt, getSignature } from '@wecom/crypto';
import { sendMessage } from '@/wxwork'
import { sendGptMessage } from '@/chatgpt'
import xml2js from 'xml2js';export default async function (ctx: FunctionContext) {const { query } = ctx;const { msg_signature, timestamp, nonce, echostr } = query;const token = process.env.WXWORK_TOKEN;const key = process.env.WXWORK_AESKEY;console.log('start to invoke wxwork-gpt-api')// 签名验证专用if (ctx.method === 'GET') {const signature = getSignature(token, timestamp, nonce, echostr);if (signature !== msg_signature) {return { message: '签名验证失败', code: 401 }}const { message } = decrypt(key, echostr);return message}const payload = ctx.body.xml;const encrypt = payload.encrypt[0];const signature = getSignature(token, timestamp, nonce, encrypt);if (signature !== msg_signature) {return { message: '签名验证失败', code: 401 }}//ctx.response.sendStatus(200);const { message } = decrypt(key, encrypt);const {xml} = await xml2js.parseStringPromise(message)// 由于GPT API耗时较久,这里提前返回,防止企业微信超时重试,后续再手动调用发消息接口ctx.response.sendStatus(200);await asyncSendMessage(xml)return { message: true, code: 0 }
}async function asyncSendMessage(xml) {if (xml.MsgType[0] !== 'text') return;sendMessage('AI思考中, 请耐心等待~~', xml.FromUserName[0])try {const result = await sendGptMessage(xml.Content[0])await sendMessage(result, xml.FromUserName[0])} catch (e){console.log(e, e.config)sendMessage('接口请求失败,请联系管理员查看错误信息', xml.FromUserName[0])}
}
  1. 点击左下角设置,选择环境变量,将刚刚收集的WXWORK_TOKEN、WXWORK_AESKEY、WXWORK_CORPID、WXWORK_AGENTID、WXWORK_CORPSECRET、FASTGPT_APIKEY、FASTGPT_MODEL_ID 填入,并点击更新按钮。

  1. 复制 wxwork-gpt-api 这个云函数的调用地址,将它填写到企业微信管理后台【API接收消息】页面中的URL中,并保存上述信息。

  1. 在企业微信中,进入你刚刚创建的应用,就可以跟机器人愉快的聊天了~~

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

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

相关文章

亲测好用!免费英语学习版ChatGPT,国内能直接用!(内测名额有限)

ChatGPT大火几个月了 热度似乎没有减退的意思 每天见识到别人晒出最新应用截图 自己却还迟迟没有上手使用 但是,只要是用过它的人 都会马上承认它的魔力 聊闲天、编脚本、学面试 做总结、做翻译、写作文 只要释放几句“咒语”(prompt) 就能看…

chatGPT替代方案

最近chatGPT太火了,分享几个可用的地址 1.Edge插件Sider 打开edge外接程序界面Microsoft Edge Addons 搜索Sider ,第一个就是,点击获取添加到浏览器就可以使用了,无需魔法,搜索时右边栏会出现chartGPT的回答,非常棒 …

ChatGPT在工业领域的用法

在工业数字化时代,我们需要怎么样的ChatGPT? 近日,ChatGPT热度高居不下,强大的人机交互能力令人咋舌,在国内更是掀起一股讨论热潮。一时间,这场由ChatGPT引起的科技飓风,使得全球最顶尖科技力量…

ChatGPT:数字时代革新与展望

ChatGPT:数字时代革新与展望 AGI 未来的愿景:建安全有益的 AGI OpenAI团队对AGI的展望: 我们希望 AGI 能够赋予人类在宇宙中最大程度地繁荣发展的能力。我们不期望未来是一个不合格的乌托邦,但我们希望将好的最大化,将…

ChatGPT将改变教育,而不是摧毁它

01 学校和大学的反应迅速而果断 就在 OpenAI 于 2022 年 11月下旬发布ChatGPT 的几天后,该聊天机器人被广泛谴责为一种免费的论文写作、应试工具,它很容易在作业中作弊。 美国第二大学区洛杉矶联合大学立即阻止了OpenAI网站从其学校网络访问。其他人很…

让ChatGPT谈谈科技发展

ChatGPT谈科技发展 讲讲科技发展的那些事儿谈谈ChatGPT对科技发展的影响谈谈你对ChatGPT的看法ChatGPT对科技发展的负面影响ChatGPT的存在是利是弊?关于全国科技者工作日 讲讲科技发展的那些事儿 谈谈ChatGPT对科技发展的影响 谈谈你对ChatGPT的看法 ChatGPT对科技发…

ChatGPT的诞生和发展

ChatGPT的诞生和发展 ChatGPT是一种基于GPT模型的聊天机器人。GPT模型是一种基于深度学习的自然语言处理模型,由OpenAI团队开发,可以生成与输入文本相关的连续文本。ChatGPT的诞生和发展,可以追溯到GPT模型的开发与应用。 一、GPT模型的开…

大模型底层原理与引用开发范式

大模型基本原理 temperature: 随机性top_prepetition_penalty: 重复性 大模型时代以前 LLM时代的开发范式 Prompt工程 Embedding辅助 大模型微调 必备能力和工具 ChatPaper

【花雕学AI】爆款ChatGPT的核心算法和技术逻辑到底是什么?

一、ChatGPT是一种基于GPT模型的聊天机器人 由OpenAI研究中心开发,于2022年11月30日发布。它可以根据用户的输入,生成自然、流畅、有趣的对话回复。它的技术逻辑主要是利用大规模的预训练语言模型(LLM),通过Transforme…

新致新知 | ChatGPT+企业知识图谱

作为史上最快获1亿用户的ChatGPT以及大语言模型展现了令人惊叹的广博知识、语义理解能力与创造能力,在会话中能投人所好地承认自身错误并进行改正,并能进行一定程度的逻辑推理,还有多语种翻译与多语言编程等“超能力”,胜任诸多自…

ChatGPT的背后逻辑

文/孟永辉 ChatGPT,的确是当下最炙手可热的一个话题。然而,人们对于ChatGPT的认识,依然还是仅仅停留在ChatGPT本身,而没有将它与它的「前任」——元宇宙、web3.0,乃至NFT联系在一起。如果在看待ChatGPT的时候&#xf…

用这三本书,探究ChatGPT的底层逻辑(文末送书)

最近爆火的ChatGPT能够很好地理解人类的语言,并以流畅且符合逻辑的自然语言来反馈。刚刚发布的GPT-4更是在各种学科考试(美国高考SAT、研究生入学考试GRE等)和专业考试(律师考试等)中能拿到前10%的成绩。某种程度上&am…

ChatGPT的发展对客户支持能提供什么帮助?

多数组织认为客户服务是一种开销,实际上还可以将客户服务看成是一种机会。它可以让你在销售后继续推动客户的价值。成功的企业深知,客户服务不仅可以留住客户,还可以增加企业收入。客户服务是被低估的手段,它可以通过推荐、见证和…

ChatGPT风口下的中外“狂飙”,一文看懂微软、谷歌、百度、腾讯、华为、字节跳动们在做什么?

毫无疑问,ChatGPT正成为搅动市场情绪的buzzword。 历史经历过无线电,半导体,计算机,移动通讯,互联网,移动互联网,社交媒体,云计算等多个时代,产业界也一直在寻找Next Bi…

微信小程序_调用openAi搭建虚拟伙伴聊天

微信小程序_调用sdk搭建gpt聊天 背景效果关于账号注册接口实现8行python搞定小程序实现页面结构数据逻辑结束背景 从2022年的年底,网上都是chagpt的传说,个人理解这个chatgpt是模型优化训练,我们在用chatgpt的时候就在优化这个模型,这个是付费的,换言之,我们都是chagpt的…

从零开始:小程序开发环境搭建详解

文章目录 人工智能福利文章前言一、了解小程序二、小程序开发环境搭建开发工具开发环境 三、小程序开发入门注册开发者账号下载小程序开发工具创建小程序项目开发小程序页面调试和测试小程序发布小程序 四、总结写在最后 ✍创作者:全栈弄潮儿 🏡 个人主页…

2023最新开源版ChatGPT3.5小程序源码无需服务器搭建+用阿里云函数搭建

正文: 开源版本gpt3.5无需服务器搭建(阿里云函数) 搭建前说明:此教程使用阿里云函数搭建,搜阿里云函数,开通即可 此教程只是函数使用阿里云,数据库什么的不用动,如果你之前有版本上线&#x…

用小牛翻译API让ChatGPT给我做个在线翻译网站

一、引言 随着ChatGPT的持续火爆,各种像ChatGPT人工智能聊天机器人,如Claude,通义千问,文心一言不断涌现。这些新兴的人工智能产物在智能问答、语法纠错、信息抽取、代码撰写、译文评估、文章润色方面都发挥着重要作用,已经逐渐成…

颠覆传统翻译软件的ChatGPT翻译软件

ChatGPT翻译软件是一款对接ChatGPT的多语种翻译工具,可以进行中英文、日语、法语、西班牙语等多种语言之间的翻译。近年来,随着全球化的发展以及中文的崛起,翻译软件在跨文化交流中扮演了越来越重要的角色,也逐渐成为了国内外用户…