Utiliza la macro de ONLYOFFICE para generar un ensayo con ChatGPT

21 febrero 2023By Sergey

La tecnología de la IA ha mejorado notablemente a lo largo de los años y se ha convertido en una parte esencial de nuestra vida cotidiana. Hoy vamos a incorporar esta funcionalidad de alta tecnología a nuestra rutina de redacción de documentos. En esta entrada del blog, te mostraremos cómo crear una macro que generará un ensayo completo con la API de ChatGPT.

Cómo utilizar la macro de ONLYOFFICE para generar un ensayo con ChatGPT

Acerca de ChatGPT

ChatGPT es un chatbot de IA innovador desarrollado por OpenAI que puede mantener conversaciones de forma natural. Su diseño de diálogo le permite responder a preguntas de seguimiento, reconocer sus errores, generar texto y cuestionar afirmaciones incorrectas. El modelo está entrenado para seguir las instrucciones de una solicitud y proporcionar una respuesta detallada.

OpenAI ofrece una API de prueba gratuita que facilita su integración en diversas aplicaciones. Para mayor comodidad, accederemos a la API de OpenAI a través de la plataforma RapidAPI. Para conectarte directamente a la API de OpenAI, visita la página de la documentación oficial.

Acerca de RapidAPI

RapidAPI es una plataforma integral que permite a los desarrolladores descubrir, conectarse y gestionar las API. Contiene un directorio de más de 10.000 API, incluyendo algunas tan populares como Google Maps, Twilio, Stripe y YouTube. Los usuarios pueden buscar API, probarlas gratis y suscribirse a API y servicios. RapidAPI también ofrece un panel de control para supervisar las suscripciones, el uso y el rendimiento de las API, así como para acceder a la asistencia. Además, RapidAPI permite a los desarrolladores crear sus API y monetizarlas.

Creación de la solicitud de la API

En nuestro proyecto, incorporamos la API de You Chat GPT de FB/florianbreut. Actualmente, ofrece un plan freemium que comienza con un paquete básico de 100 solicitudes al mes. Será suficiente para probar nuestra macro.

La interfaz de la plataforma RapidAPI permite generar fragmentos de código de solicitudes de la API en varios idiomas. En nuestro caso las opciones serán JavaScriot y una función fetch:

Cómo utilizar la macro de ONLYOFFICE para generar un ensayo con ChatGPT

Además, podemos modificar los parámetros de la solicitud. En particular, podemos cambiar el cuerpo de la solicitud. La API ofrece 4 opciones de solicitud, dependiendo del modelo de OpenAI:

  1. Escribir código
  2. Explicar cualquier cosa
  3. Restricción de tiempo de respuesta
  4. Respuesta con formato

La opción Respuesta con formato es perfectamente adecuada para la generación de ensayos. Así que la elegimos y cambiamos el parámetro max_response_time a 20 segundos. Esto le dará a OpenAI más tiempo para generar la respuesta:

Cómo utilizar la macro de ONLYOFFICE para generar un ensayo con ChatGPT

Creación de la macro

Ahora vamos a incorporar esta solicitud fetch a nuestra macro.

En primer lugar, creamos una variable global que almacenará la respuesta:

let essay;

A continuación, añadimos las opciones de la solicitud y establecemos el tema del ensayo mediante el cambio del parámetro de la pregunta en el cuerpo de la solicitud:

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}'
};

Después definimos la función insertEssay. Esta función contiene métodos API de ONLYOFFICE que insertan el ensayo generado en el documento.

En primer lugar, nos dirigimos al documento activo y creamos un párrafo donde se añadirá el texto:

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

A continuación añadimos el ensayo generado al párrafo y lo insertamos con el método InsertContent .  También pasamos el parámetro “KeepTextOnly” para evitar posibles problemas de formato:

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

También incorporamos la función handleFetchResponse. Extrae la respuesta y dispara la función insertEssay para insertarla en el documento:

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

Y hacemos una solicitud fetch al servidor:

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

El código completo de la macro es el siguiente:

(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);
})();

Ahora vamos a ejecutar nuestra macro y ver cómo funciona:

¡Ojo!

  • Esta macro solo está disponible en la versión en línea de los editores.
  • Para obtener 100 solicitudes gratuitas, suscríbete a la API de You Chat GPT y utiliza tu clave RapidAPI.
  • Tarda aproximadamente 30 segundos en procesar la solicitud antes de insertarla en el documento.
  • Pulsa el espacio para insertar el texto.

Esperamos que esta macro aporte nuevas y fascinantes tecnologías de IA a tu flujo de trabajo y alivie las tareas aburridas y rutinarias. Invitamos a los desarrolladores a aprovechar las posibilidades que ofrecen los métodos de nuestra API y a crear sus propias macros. Nuestras macros están escritas en JavaScript, lo que las hace muy funcionales y adaptables.

Si tienes alguna pregunta o sugerencia, no dudes en ponerte en contacto con nosotros. Estamos abiertos a escuchar tus ideas para colaborar contigo. Te deseamos mucha suerte en tus esfuerzos exploratorios.