之前写过ChatGPT连接微信和钉钉的方法。有趣的玩法,周末抽空体会了一下,感觉还不错,分享给大家。背景事件的起因是阿芬在朋友圈看到了这么一条信息。敏感信息已被删除。意思很明显是要把OpenAI连接到知识星球上。用户可以通过星球向OpenAI提问,OpenAI会自动回答相应用户的问题并通知用户。看到这个很有趣。对于运营知识星球的博主,尤其是技术博主来说,很多简单的技术知识点都可以通过自动化来解答,不需要花费太多时间。那么有朋友会问,这和用户自己百度有什么区别呢?只要用过OpenAI的朋友深有体会,百度搜索中有很多答案和广告,往往需要花费一些时间才能在大量相似的内容中找到有用的内容。OpenAI给出的答案往往思路清晰、条理分明。虽然很多时间紧迫的问题无法给出准确的答案,但是一些技术知识点的答案还是可以很准确的。以下是阿芬看到的一些案例。你可以看看。可以写代码,答题,写提纲,分析性能,构建以上案例。看完以上案例,接下来就可以开始搭建了。这个自动智能回答功能的思路很简单。就是先获取需要回答的问题列表,然后遍历OpenAI请求该问题的接口,然后将返回的结果写回通知相应的用户。在这个过程中,我们需要通过定时任务进行轮询。处理。综上所述,我们需要准备以下东西:一个可以被询问的知识星球账号,也就是被询问的人;OpenAI账号对应的APIKEY。这一步比较麻烦,不过之前的文章有提供思路。获取不在本文讨论范围内,感兴趣的可以翻看前面的文章。在此提醒大家,由于公众号改版,建议大家给我们的公众号打上星号,这样就不容易错过好文章。调度工具或调度平台也可以是Linux系统的定时命令;实现API请求的程序或脚本;以上四点编程都是必须的,但最重要的当然是写代码。根据我们上面的思路,我们的程序需要调用三个接口来获取题目列表;请求OpenAI获取答案;将答案写回通知用户;下面我们依次看看这三个接口是如何连接的。先说明一下,为了简单起见,阿粉使用的调度平台是XXL-JOB对应的执行任务脚本,是用Nodejs写的。使用被询问人准备好的账号登录网页版知识星球。进入对应星球后,可以看到【等待我的回答】的菜单。我们打开浏览器的控制台,点击【等我回答】按钮,就可以看到请求对应的接口地址了。这是我们要请求的第一个接口地址。请记下来,然后通过请求头获取对应的接口地址。cookie信息和一些参数传过去后,我们就可以通过代码进行接口请求,得到需要回答的问题列表。varoptions={url:ZSXQ_UNANSWER_URL,headers:{'accept':'application/json,text/plain,*/*','cookie':cookie,'User-Agent':'Mozilla/5.0xxxx','x-timestamp':Math.floor(Date.now()/1000),}};request(options,callback);拿到问题列表后,我们就可以开始在callback回调方法中遍历并请求OpenAI接口获取答案了。OpenAI的接口地址是这个https://api.openai.com/v1/completions。functioncallback(error,response,body){if(!error&&response.statusCode===200){让json=JSON.parse(body);if(!json.succeeded){console.log("succeededfalse")process.exit(0)}if(json.resp_data.topics.length>0){letlength=json.resp_data.topics.length;for(leti=0;i
