允许函数接收 ChatGPT 响应

反诈示警:如遇到文章内跳转至别的网站或产生需要交钱,交易等行为,均为诈骗行为,请谨慎对待。对于网上兼职、刷单、刷信誉的就是诈骗,请勿相信!需要提供身份证明、短信验证和短信链接点击都是诈骗, 请不要提供!同时请下载“国家反诈中心”App能自查自检,规避诈骗电话,免遭损失。

允许函数接收 ChatGPT 响应,插图,来源:资源仓库www.zycang.com

允许您挂钩 JavaScript API 并定义一个函数来接收在 chat.openai.com 上执行的对话框的响应。

使用Tampermonkey等访问chat.openai.com时执行以下脚本。或者,您可以直接从控制台运行它。

(function() {
    if (window.__hooked) {
        return;
    }
    window.__hooked = true;
    let msg = null;
    const OrigTextDecoder = TextDecoder;
    TextDecoder = class {
        constructor() {
            this.orig = new OrigTextDecoder(...arguments);
        }

        decode() {
            const res = this.orig.decode(...arguments);
            try {
                msg = JSON.parse(res).message.content.parts[0];
            } catch (e) {
            }
            if (msg != null && res == "[DONE]") {
                if (window.ongpt) {
                    window.ongpt(msg);
                }
                msg = null;
            }
            return res;
        }
    };
})();

之后,您可以通过在全局上下文中ongpt定义函数来接收回复。

function ongpt(message) {
    console.log("message: " + message);
}

当您想要处理原始字符串而不是渲染结果时可以使用。

当它停止移动时

由于规格变更而停止工作的可能性很大,但如果是微小的变更

msg = JSON.parse(res).message.content.parts[0];

这周围

res == "[DONE]"

我认为如果你修复了这个区域,你就可以再次使用它。通过在函数中设置断点来查看JSON结构,替换响应对应的部分,并在结束信号到来时让它流动msgongpt

如果不再TextDecoder使用,就放弃它。

如需 WordPress 优化加速、二次开发、网站维护、企业网站建设托管等服务,点此联系我 | 近期站内热门福利推荐:
文章版权及转载声明

本文地址:https://www.zycang.com/119099.html
文章转载或复制请以超链接形式并注明来源出处。 本文最后更新于:2023-08-28 12:59:38
声明:某些文章或资源具有时效性,若有 错误 或 所需下载资源 已失效,请联系客服QQ:11210980

喜欢就支持一下吧
点赞51赞赏 分享
评论 抢沙发

请登录后发表评论