ONLYOFFICE-Makro zur Erstellung eines Aufsatzes mit ChatGPT

21 Februar 2023By Vlad

Die KI-Technologie hat sich in den letzten Jahren erheblich verbessert und ist zu einem wesentlichen Bestandteil unseres täglichen Lebens geworden. Heute werden wir diese Hightech-Funktionalität in unsere Routine beim Schreiben von Dokumenten einbauen. In diesem Blogbeitrag zeigen wir Ihnen, wie Sie ein Makro erstellen, das einen ganzen Aufsatz mit der ChatGPT API generiert.

Use ONLYOFFICE macro to generate an essay with ChatGPT

Über ChatGPT

ChatGPT ist ein von OpenAI entwickelter innovativer KI-Chatbot, der sich auf natürliche Weise unterhalten kann. Sein Dialogdesign ermöglicht eine Antwort auf Folgefragen, die Erkennung von Fehlern, die Generierung von Text und das Bestreiten falscher Aussagen. Das Modell ist darauf trainiert, den Anweisungen in einer Eingabeaufforderung zu folgen und eine detaillierte Antwort zu geben.

OpenAI bietet eine kostenlose Test-API, die die Integration in verschiedene Anwendungen erleichtert. Der Einfachheit halber werden wir über die RapidAPI-Plattform Zugang zur OpenAI-API erhalten. Um sich direkt mit der OpenAI API zu verbinden, besuchen Sie die offizielle Dokumentationsseite.

Über RapidAPI

RapidAPI ist eine umfassende Plattform für Entwickler, um APIs zu entdecken, zu verbinden und zu verwalten. Sie enthält ein Verzeichnis von über 10.000 APIs, darunter so beliebte wie Google Maps, Twilio, Stripe und YouTube. BenutzerInnen können nach APIs suchen, kostenlose Testversionen ausprobieren und APIs und Dienste abonnieren. RapidAPI bietet auch ein Dashboard zur Überwachung von API-Abonnements, Nutzung und Leistung sowie für den Zugang zum Support. Darüber hinaus ermöglicht RapidAPI Entwicklern, ihre APIs zu erstellen und sie zu vermarkten.

Formulierung der API-Anfrage

In unser Projekt haben wir die API von You Chat GPT von FB/florianbreut integriert. Derzeit wird ein Freemium-Plan angeboten, der mit einem Basispaket von 100 Anfragen pro Monat beginnt. Das wird ausreichen, um unser Makro zu testen.

Die Schnittstelle der RapidAPI-Plattform ermöglicht die Generierung von API-Anforderungscode-Schnipseln in verschiedenen Sprachen. In unserem Fall werden wir uns für JavaScriot und eine Abruffunktion entscheiden:

Use ONLYOFFICE macro to generate an essay with ChatGPT

Außerdem können wir die Parameter der Anfrage ändern. Insbesondere können wir den Anfragekörper ändern. Die API bietet 4 Anforderungsoptionen, je nach OpenAI-Modell:

  1. Code schreiben
  2. Alles erklären
  3. Zeit-Antwort-Beschränkung
  4. Formatierte Antwort

Die Option Formatierte Antwort eignet sich hervorragend für die Erstellung von Aufsätzen. Also wählen wir sie aus und ändern den Parameter max_response_time auf 20 Sekunden. Damit hat OpenAI mehr Zeit, die Antwort zu generieren:

Use ONLYOFFICE macro to generate an essay with ChatGPT

Erstellung des Makros

Lassen Sie uns nun diese Abrufanforderung in unser Makro einbauen!

Zunächst erstellen wir eine globale Variable, in der die Antwort gespeichert wird:

let essay;

Dann fügen wir die Anfrageoptionen hinzu und legen das Thema des Aufsatzes fest, indem wir den parameter question im Anfragetext ändern:

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

Danach definieren wir die Funktion insertEssay. Diese Funktion enthält ONLYOFFICE API-Methoden, die den generierten Aufsatz in das Dokument einfügen.

Zunächst wird das aktive Dokument ausgewählt und ein Absatz erstellt, in den der Text eingefügt wird:

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

Dann fügen wir den generierten Aufsatz in den Absatz hinzu und fügen ihn mit der Methode InsertContent ein.  Wir übergeben auch den Parameter KeepTextOnly, um mögliche Formatierungsprobleme zu vermeiden:

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

Wir haben auch die Funktion handleFetchResponse integriert. Sie extrahiert die Antwort aus der Rückmeldung und löst die Funktion insertEssay aus, um sie ins Dokument einzufügen:

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

Und wir stellen eine Abrufanfrage an den Server:

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

Der gesamte Makrocode lautet wie folgt:

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

Führen wir nun unser Makro aus und sehen wir, wie es funktioniert!

Use ONLYOFFICE macro to generate an essay with ChatGPT

Hinweis!

  • Dieses Makro ist nur in der Online-Version des Editors funktionsfähig.
  • Um 100 kostenlose Anfragen zu erhalten, abonnieren Sie die API von You Chat GPT und benutzen Sie Ihre RapidAPI Schlüssel.
  • Es dauert ca. 30 Sekunden, um die Anfrage zu bearbeiten, bevor sie in das Dokument eingefügt wird.
  • Drücken Sie die Leertaste, um den Text einzufügen.

Wir hoffen, dass dieses Makro neue faszinierende KI-Technologien in Ihren Arbeitsablauf einbringt und lästige Routineaufgaben erleichtert. Wir fordern Entwickler auf, die Möglichkeiten, die unsere API-Methoden bieten, zu nutzen und eigene Makros zu erstellen. Unsere Makros sind in JavaScript geschrieben, was sie äußerst funktional und anpassungsfähig macht.

Wenn Sie Fragen oder Anregungen haben, zögern Sie bitte nicht, uns zu kontaktieren. Wir sind offen für Ihre Ideen und freuen uns auf die Zusammenarbeit mit Ihnen. Viel Glück bei Ihren Experimenten!