使用 ONLYOFFICE 宏借助 ChatGPT 生成文章

news2024/12/27 1:24:24

AI 技术在过去几年中得到了显著提升,同时也成为了我们日常生活中必不可少的一部分。现在,我们会将这种高科技功能纳入到文档撰写过程。在本文中,我们将展示如何构建一个宏来使用 ChatGPT API 生成文章。

关于 ChatGPT

ChatGPT 是由 OpenAI 开发的创新性 AI 聊天机器人,可与人类进行自然交谈。ChatGPT 的对话设计使其能够对跟进问题做出响应、识别错误、生成文本并对不正确的陈述提出异议。此服务所采用的模型已经过训练,可遵循输入语句中的指示性内容进行工作,提供详细的响应。

OpenAI 提供了免费的试用 API,可便捷地集成至各类应用程序中。为了方便起见,我们将通过 RapidAPI 平台访问 OpenAI API。如需直接连接 OpenAI API,请访问官方文档页面。

关于 RapidAPI

RapidAPI 是一款可供开发人员寻找、连接以及管理 API 的综合性平台。其中包含了超过 10,000 种 API 目录,如:Google Maps、Twillio、Stripe 以及 YouTube。用户可对 API 进行搜索与免费试用,还可订阅 API 与服务。RapidAPI 还提供了仪表板来对 API 订阅、使用以及性能情况进行检测,此外还提供了访问方面的支持服务。另外,RapidAPI 还让开发人员获得了自建 API 并从中变现的能力。

构建 API 请求

我们在自己的项目中纳入了来自 FB/florianbreut 的 You Chat GPT API。目前其提供有高级免费版,基础包中每月提供了 100 个请求。对于测试我们的宏而言,这已经足够了。

RapidAPI 平台接口可生成多种语言的请求代码片段。这里我们选择的是 JavaScript 与 fetch 函数:

同时我们还能对请求参数进行调整。特别的,我们还能更改请求正文。API 提供了 4 种请求选项,具体取决于 OpenAI 模型:

  1. 编写代码
  2. 进行解释
  3. 时间响应约束
  4. 格式化回答

格式化回答选项尤其适合生成文章的操作。所以这里我们选择此选项,并将 max_response_time 参数更改为 20 秒。这将为 OpenAI 提供更多时间来生成回答:

构建宏

现在我们来将这一 fetch 请求纳入宏中!

首先,创建一个全局变量来储存响应:

let essay;

然后添加请求选项并通过更改请求正文中的 question 参数设置文章主题:

const options = {
method: 'POST',
headers: {
'content-type': 'application/json',
'X-RapidAPI-Key': '<yourRapidAPIkey>',
'X-RapidAPI-Host': 'you-chat-gpt.p.rapidapi.com'
},
body: '{"question":"write an essay on the benefits of using ONLYOFFICE products","max_response_time":20}'
};

之后我们来定义 insertEssay 函数。函数中将包含将生成的文章插入至文档中的 ONLYOFFICE API 方法。
首先,我们将活动文档设置为目标,并在其中创建用于添加文本的段落:

function insertEssay() {
const oDocument = Api.GetDocument();
const oParagraph = Api.CreateParagraph();
  
}

然后将生成的文章添加至段落中并使用 InsertContent 方法将其插入。同时也会传递“KeepTextOnly”参数以防止各类格式化问题出现:

function insertEssay() {
const oDocument = Api.GetDocument();
const oParagraph = Api.CreateParagraph();
oParagraph.AddText(essay);
oDocument.InsertContent([oParagraph], { "KeepTextOnly": true })
  

我们还会整合 handleFetchResponse 函数,其会从响应中提取答案并触发 insertEssay 函数以将其插入至文档中:

function handleFetchResponse(response) {
return response.json().then(json => {
essay = json.answer;
insertEssay();
});
}

然后,我们向服务器发出获取请求:

fetch('https://you-chat-gpt.p.rapidapi.com/', options)
.then(handleFetchResponse);

完整的宏代码如下:

(function()
{
let essay;
const options = {
method: 'POST',
headers: {
'content-type': 'application/json',
'X-RapidAPI-Key': '<yourRapidAPIkey>',
'X-RapidAPI-Host': 'you-chat-gpt.p.rapidapi.com'
},
body: '{"question":"write an essay on the benefits of using ONLYOFFICE products","max_response_time":20}'
};
 
function insertEssay() {
const oDocument = Api.GetDocument();
const oParagraph = Api.CreateParagraph();
oParagraph.AddText(essay);
oDocument.InsertContent([oParagraph], { "KeepTextOnly": true });
}
 
function handleFetchResponse(response) {
return response.json().then(json => {
essay = json.answer;
insertEssay();
});
}
 
fetch('https://you-chat-gpt.p.rapidapi.com/', options)
.then(handleFetchResponse);
})();

注意!

  • 此宏仅在线上版本的编辑器中可用。
  • 如需获取 100 个免费请求,请订阅 You Chat GPT API 并使用您自己的 RapidAPI Key
  • 在将请求内容插入至文档中之前可能需要 30 秒时间来处理请求。
  • 按下空格键以插入文本。

希望此宏能够在您的工作流中带来一些让人着迷的 AI 技术,帮助您减轻繁琐的日常工作负担。我们倡议开发人员充分利用我们的 API 方法来构建其自己的宏。我们的宏采用 JavaScript 进行编写,这使得其具有很强的功能性和适应性。
如果您有任何疑问或建议,欢迎随时与我们联系。我们很乐意聆听您的想法,同时期待着与您开展合作。祝您的探索之旅一帆风顺!

相关链接

ONLYOFFICE 文本文档 API
You Chat GPT API
OpenAI API 文档页面
另一个使用 RapidAPI 与 ONLYOFFICE 宏的案例
在 ONLYOFFICE 文档中引入 ChatGPT

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

html2canvas和jspdf导出pdf,每个页面模块占一页,在pdf中垂直居中显示

需求&#xff1a;html页面转换pdf&#xff0c;页面有多个模块&#xff0c;页面中有文本、echarts、表格等模块&#xff0c;一个模块占一页&#xff0c;因为模块高度不够&#xff0c;所以需要垂直居中 通过html2canvas和jspdf实现&#xff0c;html2canvas用于将页面元素生成canv…

以java编写员工管理系统(测试过 无问题)

一、系统结果的部分展示 二、题目以及相关要求 三、组成 1.该系统由 Employee 类 、commonEmployee类、Testemd类和managerEmployee类组成 2.Employee实现的代码 public class Employee {private String id;private String name;private String job;private int holiday…

弱监督参考图像分割:Learning From Box Annotations for Referring Image Segmentation论文阅读笔记

弱监督参考图像分割&#xff1a;Learning From Box Annotations for Referring Image Segmentation论文阅读笔记一、Abstract二、引言三、相关工作A、全监督参考图像分割B、基于 Box 的实例分割C、带有噪声标签的学习四、提出的方法A、概述B、伪标签生成目标轮廓预测Proposal 选…

exe打包工具:advanced installer介绍(一)

前言近年来&#xff0c;web服务逐渐走向云端部署浏览器化、去APP化&#xff0c;然而exe安装仍有着举足轻重的地位&#xff0c;其好处不言而喻&#xff0c;拿到exe安装包后&#xff0c;基本就可以傻瓜安装和操作了&#xff0c;十分便捷。业务场景通过各种IDE/QT/C#/Java等开发工…

项目的生命周期与成本、风险、变更的关系

成本与人力投入水平 项目成本的投入在初始阶段逐渐增加&#xff0c;在执行的中间阶段达到顶峰&#xff0c;在项目收尾阶段逐渐下降。成本的投入趋势如下图所示&#xff1a; 初始阶段&#xff1a;从人力成本来看&#xff0c;信息系统开发团队在前期制定项目管理章程及项目管理…

PCB焊盘设计基本原则

SMT的组装质量与PCB焊盘设计有直接的关系&#xff0c;焊盘的大小比例十分重要。如果PCB焊盘设计正确&#xff0c;贴装时少量的歪斜可以再次回流焊纠正(称为自定位或自校正效应)&#xff0c;相反&#xff0c;如果PCB焊盘设计不正确&#xff0c;即使贴装位置十分准确&#xff0c;…

图像金字塔,原理、实现及应用

什么是图像金字塔 图像金字塔是对图像的一种多尺度表达&#xff0c;将各个尺度的图像按照分辨率从小到大&#xff0c;依次从上到下排列&#xff0c;就会形成类似金字塔的结构&#xff0c;因此称为图像金字塔。 常见的图像金字塔有两类&#xff0c;一种是高斯金字塔&#xff0…

为什么越来越多的人开始学习大数据

因为根据国内的发展形势&#xff0c;大数据未来的发展前景会非常好&#xff0c;前景好需求高&#xff0c;自然会吸引越来越多的人进入大数据行业 我国市场环境处于急需大数据人才但人才不足的阶段&#xff0c;所以未来大数据领域会有很多的就业机遇。 2022年春季&#xff0c;…

camunda流程引擎基本使用(笔记)

文章目录一、camunda基础1.1 安装与部署流程引擎1.2 流程引擎结构1.3 流程引擎的基本使用1.3.1 创建一个BPMN Diagram1.3.2 实现一个外部工作者1.3.3 部署流程1.3.4 创建一个流程实例并消费1.3.5 向流程中添加用户任务1.3.6 添加网关1.3.7 业务规则二、Java 集成流程引擎2.1 为…

酷开科技大数据揭秘!酷开系统中的千屏千面究竟指的是什么?

互联网行业的快速发展&#xff0c;给我们带来了极大的便利。回顾整个互联网行业的发展历程&#xff0c;从PC时代到移动互联网时代&#xff0c;从移动互联网时代到物联网时代&#xff0c;现在又即将从物联网时代迈入人工智能时代。这些飞速发展的背后&#xff0c;其实是对数据利…

ICG-alkyne,吲哚菁绿-炔基结构式,实验室科研试剂,CAS号:1622335-41-4

ICG-alkyne,吲哚菁绿-炔基 中文名称&#xff1a;吲哚菁绿-炔基 CAS号&#xff1a;1622335-41-4 英文名称&#xff1a;ICG-alkyne 英文别名&#xff1a;ICG-alk 性状&#xff1a;绿色粉末 化学式&#xff1a;C48H53N3O4S 分子量&#xff1a;768.03 溶剂&#xff1a;溶于…

3BHE029110R0111 ABB

3BHE029110R0111 ABB变频器控制方式低压通用变频输出电压为380&#xff5e;650V&#xff0c;输出功率为0.75&#xff5e;400kW&#xff0c;工作频率为0&#xff5e;400Hz&#xff0c;它的主电路都采用交—直—交电路。其控制方式经历了以下四代。1U/fC的正弦脉宽调制&#xff0…

ggplot2的组图拓展包(1):patchwork(中篇)

专注系列化、高质量的R语言教程推文索引 | 联系小编 | 付费合集上篇和上篇续介绍了使用操作符进行组图的方法&#xff0c;这里默认读者已经能够理解各种操作符在本篇推文中的使用场景。本篇目录如下&#xff1a;0 示例图形6 plot_layout函数&#xff08;下&#xff09;6.1 guid…

CSS3-数据可视化

2D动画 - transform CSS3 transform属性允许你旋转&#xff0c;缩放&#xff0c;倾斜或平移给定元素。 Transform是形变的意思&#xff08;通常也叫变换&#xff09;&#xff0c;transformer就是变形金刚 常见的函数transform function有&#xff1a; 平移&#xff1a;transl…

实际开发中如何存储密码(md5加盐bcrypt)golang

文章目录简介加盐的加密方式md5 加盐方式bcrypt 方式简介 一般前端把用户密码发给服务端&#xff0c;服务端实际业务中如何存储密码呢&#xff0c;如何存储密码才能保证密码不被开发者获取或者被截取呢&#xff0c;保证密码的安全 加盐的加密方式 现在的企业开发大都采用这种…

凌恩生物文献分享|颠覆性的宏基因组新思路,速来get!

非人灵长类动物&#xff08;NHP&#xff09;是人类的近亲&#xff0c;为宿主-微生物互作的研究提供了一个很好的例子。近年来研究主要集中在野生灵长类动物的肠道微生物群&#xff0c;这将有助于了解灵长类及其肠道微生物群的进化&#xff0c;但仍然缺乏关于野生种群肠道微生物…

通用后台管理系统-前端搭建

一 背景 基于vuespringboot 搭建一套通用管理后台 主要包括用户管理模块、权限模块、菜单模块 二 环境信息 2.1 前端工具版本 2.1.1 npm 版本 PS D:\front> npm -v 8.5.0PS D:\front> npm config get registry https://registry.npm.taobao.org/ PS D:\front>2.1…

埋点tracker:前端埋点服务-技术要点梳理

一、背景埋点方案&#xff0c;前端涉及到哪些技术要点&#xff0c;本文做简单的梳理和总结。二、指纹追踪技术&#xff1a;识别到用户及设备浏览器&#xff1a;浏览器指纹_snowli的博客-CSDN博客三、用户设备信息&#xff08;navigator&#xff09;navigator.userAgent四、页面…

利用Mysql存储过程造百万级数据

1.准备工作&#xff08;1&#xff09;由于是使用存储过程&#xff0c;mysql从5.0版开始支持存储过程&#xff0c;那么需要mysql的版本在5.0或者以上。如何查看mysql的版本&#xff0c;使用下面sql语句查看&#xff1a;&#xff08;2&#xff09;创建两张表&#xff0c;表结构一…

Android Crash和ANR监控

文章目录一、Crash1.1 概念1.2 类型二、ANR2.1 概念2.2 类型2.2.1 KeyDispatchTimeout&#xff08;常见&#xff09;2.2.2 BroadcastTimeout2.2.3 ServiceTimeout2.2.4 ContentProviderTimeout三、测试中如何关注3.1 Crash测试关注方法3.2 ANR测试关注方法四、如何记录与处理4.…