Latenode

Kurze Paraphrase eines Google-Dokuments über ChatGPT

Eine kurze Zusammenfassung eines Google-Dokuments mit Übersetzung in die gewünschte Sprache

4 Min. Lesezeit
Google-Dokument wird per ChatGPT kurz zusammengefasst und übersetzt

Sind Sie es leid, Ihre Dokumente in Übersetzungssoftware zu kopieren und einzufügen, nur um mit Ihren internationalen Kunden zu kommunizieren? Oder automatisieren Sie vielleicht die Zusammenarbeit an einer Forschungsarbeit mit einem Partner, der eine andere Sprache spricht. Wie auch immer Ihr Fall aussieht: Wir haben spannende Neuigkeiten für Sie! Dank der Integration von Google Docs und OpenAI sowie mit Unterstützung von Latenode.com bieten wir Ihnen einen optimierten Workflow, mit dem Sie einen Link zu Ihrem Google-Dokument bereitstellen und es in die gewünschte Sprache übersetzen können. Verschwenden Sie keine Zeit mehr mit manuellen Übersetzungen – lassen Sie die Technologie für sich arbeiten!

Vorbereitung

Stellen Sie zunächst wie immer sicher, dass wir alles haben, was wir zum Erstellen einer Kette benötigen: ein Konto bei ChatGPT und den zugehörigen persönlichen Schlüssel sowie ein Google-Konto und das entsprechende Token;

In Latenode wurde vor nicht allzu langer Zeit die Integration mit vielen Services hinzugefügt. Die direkten Dokumente wurden jedoch noch nicht implementiert, sollten aber bald ebenfalls verfügbar sein. Vorerst erhalten wir das Token daher auf die bisherige Weise gemäß den Anweisungen in unserem Artikel. Wählen Sie in der Liste lediglich den Bereich „Google Docs API v...“ mit dem Scope „https://www.googleapis.com/auth/documents“ aus;

Den persönlichen Schlüssel in ChatGPT können Sie hier in den Einstellungen Ihres Profils ansehen oder erstellen:

Erstellen einer Kette in Latenode

Als Erstes erstellen wir wie immer einen Node: „+ Add Node“ => „Http“ => „Webhook“;

Kopieren wir sofort dessen Adresse;

Speichern Sie die Änderungen;

Wir bereiten außerdem eine vorläufige Anfrage für einen REST-Client vor (Postman, Insomnia):

Anfrage für REST-Client:


  curl --request POST
  --url https://webhook.latenode.com/69/dev/8b8b0b68-df1f-45ab-b1a3-94baf3a0626d
  --header 'Content-Type: application/x-www-form-urlencoded'
  --data 'personalTokenChatGPT=Your ChatGPT token'
  --data 'googleDocToken=Your google token'
  --data 'docID=ID of desired google document'
  --data 'language=german'

Ändern Sie den Webhook-Link in Ihren eigenen;

Tragen Sie anschließend Ihren ChatGPT-Schlüssel bei personalTokenChatGPT ein;

Fügen Sie danach Ihr Google-Doc-Token bei googleDocToken ein;

Ändern Sie docID in die ID des gewünschten Dokuments. Diese können Sie der Adressleiste entnehmen;

Falls erforderlich, können Sie die Übersetzungssprache im Parameter language ändern;

Fügen Sie als Nächstes den Node „HTTP request“ hinzu, um den Inhalt des Dokuments abzurufen: „+ Add Node“ => „Http“ => „HTTP request“;

Speichern Sie;
Verbinden Sie die Nodes miteinander;
Starten Sie die Kette und rufen Sie sie auf, um Daten zwischen den Nodes zu übertragen;

Erstellen wir das Feld „Url“: Beginnen Sie mit der Adresse „https://docs.googleapis.com/v1/documents/“ und fügen Sie anschließend den Parameter body.docID aus dem Node „Webhook“ hinzu;

Prüfen Sie, ob als Standardmethode „GET“ ausgewählt ist;

Fügen Sie unter Headers zwei Einträge hinzu:

- Content-Type mit dem Wert: application/json
- Geben Sie bei Authorization den Wert Bearer ein und wählen Sie anschließend den Parameter aus dem Node „Webhook“ mit dem Namen body.googleDocToken aus;
Speichern Sie die Änderungen;

Verbinden Sie die Nodes miteinander;
Starten Sie die Kette und rufen Sie sie auf, um Daten zwischen den Nodes zu übertragen;

Fügen Sie als Nächstes einen „JavaScript“-Node hinzu, um den Inhalt des Dokuments abzurufen: „+ Add Node“ => „Code“ => „JavaScript“;

Fügen Sie den Inhalt des folgenden Blocks ein:


  const responseResult = JSON.parse(data["{{2.body.body.content}}"]);
  let docText = "";

  function parseResponse(response) {
     const tempArray = [];
     if (typeof response !== String) {
        tempArray.push(...response);
     } else {
        tempArray.push(JSON.parse(...response));
     }
     Array.isArray(response)
          ? response.forEach(
              (arrayItem) => { 
                 if (arrayItem.paragraph) {
                    arrayItem.paragraph.elements.forEach(paragraphItem => {
                       docText += `${paragraphItem.textRun.content}`;
                    });
                 }
              }
           )
          : Object.fromEntries(
              Object.entries(response)
                  .map(([objectItemKey, objectItemValue]) => [objectItemKey, parseResponse(objectItemValue, s)]));
  }
  parseResponse(responseResult);
  const resultRawJSON = JSON.stringify({
    "model":"text-davinci-003",
    "prompt":`Schreibe eine kurze Zusammenfassung der Hauptaussage des Textes auf ${data["{{1.body.language}}"]}: ${docText}`,
    "temperature":0,
    "max_tokens":1400
  });
  return {
     resultRawJSON
  }

Speichern Sie;
Verbinden Sie die Nodes miteinander;
Starten Sie die Kette und rufen Sie sie auf, um Daten zwischen den Nodes zu übertragen;

Öffnen Sie erneut die Einstellungen des „JavaScript“-Nodes;

Prüfen Sie in allen Konstruktionen wie „data["{{2.body.body.content}}"]“ und „data["{{2.body.body.content}}"]“, ob die Node-Nummern den Nodes entsprechen, von denen wir Daten empfangen. Falls nicht, ersetzen Sie sie durch die erforderlichen Nummern. Zur Erinnerung: 1 ist die Node-Nummer, die direkt unter dem Node-Namen über dem Node-Typ angegeben wird. Handelt es sich um eine Anfrage, wählen wir anschließend das Objektfeld aus, das für den Typ der gesendeten oder empfangenen Daten verantwortlich ist – body für Formulare oder query für Abfrageparameter;

Falls Änderungen vorgenommen wurden, speichern Sie diese;

Fügen Sie nun eine weitere „Http request“-Anfrage hinzu: „+ Add node“ => „Http“ => „HTTP request“;

Speichern Sie;
Verbinden Sie die Nodes miteinander;
Starten Sie die Kette und rufen Sie sie auf, um Daten zwischen den Nodes zu übertragen;

Erstellen wir das Feld „Url“: Tragen Sie zu Beginn die Adresse „https://api.openai.com/v1/completions“ ein;

Ändern Sie die Anfragemethode in „POST“;

Fügen Sie im Bereich body unter „raw“ die Variable resultRawJSON aus dem vorherigen „JavaScript“-Node ein;

Fügen Sie unter Headers zwei Einträge hinzu:

- Content-Type mit dem Wert: application/json
- Authorization mit dem Wert Bearer. Wählen Sie anschließend den Parameter aus dem Node „Webhook“ mit dem Namen body.personalTokenChatGPT aus;
Speichern Sie die Änderungen;

Fügen Sie abschließend den Node „Webhook response“ hinzu, um den von ChatGPT erhaltenen Text zurückzugeben: „+ Add Node“ => „Http“ => „Webhook response“;

Speichern Sie;
Verbinden Sie die Nodes miteinander;
Starten Sie die Kette und rufen Sie sie auf, um Daten zwischen den Nodes zu übertragen;

Füllen Sie die Antwort mit der fertigen Variante aus, wenn die vorherige Anfrage erfolgreich war: body.choices.[0].text:

Starten Sie die vollständige Kette und rufen Sie sie auf;

Danach sollte die Antwort eine kurze Zusammenfassung des Dokuments auf Englisch zurückgeben;

Die fertige Kette wird am Ende wie folgt aussehen;

Vielen Dank für Ihre Aufmerksamkeit, bis zu den nächsten Artikeln!😉

Grundlagen:

Latenode

ChatGPT

ChatGPT API-Schlüssel

Informationen:

ChatGPT API-Dokumentation

Google API-Dokumentation

FAQ

Frequently Asked Questions

Er empfängt über einen Webhook eine Google-Docs-Dokument-ID und einen Sprachparameter, ruft den Dokumentinhalt über die Google-Docs-API ab, extrahiert den Text mit einem JavaScript-Node und sendet ihn an die OpenAI-Completions-API, um eine kurze Paraphrase in der gewünschten Sprache zu erstellen.

War das hilfreich? Teile es →

Geschrieben von

Vasiliy Datsenko

Leiter des Kundensupports

Vasiliy Datsenko ist Leiter des Kundensupports bei Latenode und ein produktorientierter Autor zum Thema Automatisierung. Seine Arbeit verbindet Kundengespräche, Workflow-Automatisierungsforschung, KI-Anwendungsfälle und praktische Produktschulungen für Teams, die echte Geschäftsprozesse automatisieren möchten.

Autorenprofil →

Faktencheck von

Oleg Zankov

CEO Latenode, No-code-Experte

Mit einer Philosophie, die auf Innovation, Problemlösung und Benutzererfahrung basiert, konzentriere ich mich darauf, Teams zu befähigen, maßgeschneiderte Integrationen zu erstellen und Arbeitsabläufe einfach und effizient zu automatisieren. Mit umfangreicher Erfahrung in den Bereichen Geschäftsentwicklung, Technologieunternehmertum und Softwareentwicklung erkannte ich den Bedarf an einer zugänglicheren, skalierbareren und anpassungsfähigeren Integrationslösung. So entstand Latenode.com. Mit unserer Plattform können Unternehmen die Macht der Technologie nutzen, ohne umfassende Programmierkenntnisse zu benötigen. Leidenschaftlich daran interessiert, eine Zukunft zu fördern, in der Technologie uns dient und nicht umgekehrt, ist es meine Mission, komplexe Prozesse zu vereinfachen. Ich glaube an die Demokratisierung der Technologie und daran, Teams mit den Werkzeugen auszustatten, um in einer zunehmend digitalen Welt zu innovieren, zu wachsen und erfolgreich zu sein.

Autorenprofil →

Weiterlesen