Erstellen Sie Einen Google Chat Bot Mit Ihren Eigenen Daten Mit Vertex Ai Search Und Google Apps Script Erstellen Sie Einen Google Chat Bot Mit Ihren Eigenen Daten Mit Vertex Ai Search Und Google Apps Script

Erstellen Sie einen Google Chat-Bot mit Ihren eigenen Daten mit Vertex AI Search und Google Apps Script

Daten und Datenzugriff in Unternehmen sind ein ständiges Thema, und es ist nicht wirklich einfach, die beste Lösung zu finden, um sie zugänglich zu machen. Dieser Artikel wird kein Geheimrezept dafür liefern, sondern die letzte Implementierung teilen, die wir bei Devoteam G Cloud durchgeführt haben.

Der Anfang

Alle Mitarbeiter haben Fragen zu Personalfragen und dies könnte für Mitarbeiter im Personalteam zeitaufwändig sein. Die Idee ist es daher, allen Mitarbeitern einen Chatbot zur Verfügung zu stellen, der die gängigsten Fragen beantwortet.

Finden der Daten

Bei Devoteam G Cloud nutzen wir Google Drive und Shared Drive zur Verwaltung von Informationen und Dokumenten. Diese Methode bietet zwar viel Speicherplatz und fortschrittliche Suchfunktionen, aber das Suchen nach bestimmten Daten kann dennoch schwierig sein. Selbst wenn das relevante Dokument gefunden wurde, muss möglicherweise noch weiter darin gesucht werden, um die benötigten Informationen zu finden. Wir werden versuchen, die Suchfunktionen mit Vertex AI zu erweitern, um generative KI-Antworten für die Informationssuche zu erhalten.

Erstellen Sie einen Google Chat-Bot mit Ihren eigenen Daten mit Vertex AI Search und Google Apps Script

Mit Imagen generiertes Bild

Die Daten und die richtigen Daten zu finden, wird wahrscheinlich der heikle Teil des Projekts sein. Es ist nicht möglich, alle verfügbaren Daten in Vertex AI einzugeben und zu erwarten, gute und genaue Antworten auf Ihre Fragen zu erhalten. Sie müssen die Dateien filtern, um in den verwendeten Quellinformationen für den Bot Kohärenz zu bewahren.

Sie benötigen keine strukturierten Daten, auf unserer Seite haben wir etwa 100 PDF-Dokumente verwendet. In Vertex AI werden wir uns auf diese Art von Dokumenten als „unstrukturierte Dokumente“ beziehen.

Einige Anmerkungen zu Ihren Daten:

  • Wie bei der Google-Suche ist es besser, keine Arten von Informationen zu mischen. Wenn Sie 1 PDF pro Produkt haben, ist das besser als 1 PDF mit allen Produkten.
  • Die Dateien müssen unter 100 MB liegen.
  • Wenn der Bot mehrsprachig sein muss, war es bei unseren Tests besser, 1 PDF pro Sprache zu haben. Vielleicht wird dies in Zukunft nicht mehr der Fall sein.
  • Das System kann in großen Dateien verloren gehen. Wenn Sie einige Dateien aufteilen können, ist das besser.

Verwalten Ihres Datensatzes

Mit Vertex AI Search können Sie problemlos Dateien aus dem Cloud Storage importieren, Sie müssen sie also nur an die richtige Stelle hochladen. Hier sind einige Anmerkungen zum Datensatz in Google Cloud Storage:

  • Der Import in Vertex AI Search funktioniert nicht für verschachtelte Ordner, erstellen Sie daher keine komplexe Hierarchie.
  • Sie können alle Dateien in einen einzigen Ordner legen, aber ich habe es vorgezogen, nur ein paar Top-Ordner zu erstellen, um den Inhalt zu isolieren. Einfacher, danach zu suchen und zu aktualisieren.
  • Es ist einfach, Daten aus dem Cloud Storage zu importieren und zu aktualisieren, daher können Sie am Anfang mit Teildaten starten.

Erstellen Ihrer Vertex AI Search-App

Sie können die App direkt erstellen, ohne zuerst einen Datenspeicher zu erstellen. Dies ist ein Schritt im Erstellungsprozess.

Gehen Sie zur Erstellungsseite (Link) und wählen Sie „Search“ aus.

Erstellen Sie einen Google Chat-Bot mit Ihren eigenen Daten mit Vertex AI Search und Google Apps Script

Erstellen einer App in Google Vertex AI Search

Folgen Sie den Anweisungen und erstellen Sie bei der Anweisung für den Datenspeicher einen mit Ihrem Cloud Storage-Ordner:

Erstellen Sie einen Google Chat-Bot mit Ihren eigenen Daten mit Vertex AI Search und Google Apps Script

Erstellen eines Datenspeichers in Google Cloud Vertex AI Search

Ich gehe nicht auf alle Schritte ein, da es wirklich einfach ist, dies zu tun.

Integration von Vertex AI Search in Google Chat

Für die Erstellung Ihres ersten Google Chat-Bots mit Apps Script können Sie sich an diese Anleitung halten: Link.

In dieser Anwendung nutzen wir die Multi-Turn-Funktionen von Vertex AI Search, sodass unsere Nutzer auf natürlichere Weise mit dem Bot interagieren können. Dies erlaubt es den Nutzern, Antworten durch mehrere Fragen zu verfeinern. Der Bot wird weiterhin auf der Grundlage der vorherigen Fragen und Antworten antworten. Dies wird in dieser Anleitung erläutert: Link.

Ich werde nicht auf den gesamten Teil der Entwicklung eingehen, sondern mich auf die Vertex AI Search-Anfrage aus Google Apps Script konzentrieren.

Starten Sie eine Konversation und holen Sie sich eine Konversations-ID

Sie benötigen zunächst eine erstellte „Konversations-ID“, um die Multi-Turn-Funktion zu nutzen.

function getConversationID(email){
  // email bezieht sich auf die E-Mail des Nutzers, der die Frage stellt
  let url = 'https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/conversations'
  .replace('PROJECT_ID',PROJECT_ID)
  .replace('DATA_STORE_ID',DATA_STORE_ID);
  let json = {
    "user_pseudo_id": Utilities.base64EncodeWebSafe(Utilities.computeDigest(Utilities.DigestAlgorithm.SHA_256, ( email ) ))
  }
  let options = {
    method: "POST",
    contentType: 'application/json',
    muteHttpExceptions: true,
    payload: JSON.stringify(json),
    headers: {
      Authorization: 'Bearer ' + ScriptApp.getOAuthToken() 
    }
  }
  const req = UrlFetchApp.fetch(url,options)
  console.log(req.getContentText())
  let rep = JSON.parse(req.getContentText());
  return rep.name;
}

In diesem Code erstellen wir eine Benutzer-ID basierend auf der E-Mail, Sie können dafür aber auch andere Methoden verwenden.

Sie benötigen die Projekt-ID und die Datenspeicher-ID, um zu arbeiten. In diesem Codebespiel ist die Region global, Sie können in der App-Erstellung die Region Europa auswählen, in diesem Fall müssen Sie die URL für diesen Standort anpassen.

Zur Authentifizierung verwenden wir ScriptApp.getOAuthToken(), das bedeutet, dass der angemeldete Nutzer Zugriff auf die Vertex AI Search-App im GCP-Projekt haben muss.

Senden Sie Ihre erste Nachricht

function questionConversation(question,email) {
  let conversationId = getConversationID(email);
  let url = 'https://discoveryengine.googleapis.com/v1/CONVERSATION_ID:converse'
  .replace('CONVERSATION_ID',conversationId);
  let q = {
    "query": { "input": question},
    "summarySpec": { "summary_result_count": 3,"include_citations": true }
  }
  let options = {
    method: "POST",
    contentType: 'application/json',
    muteHttpExceptions: true,
    payload: JSON.stringify(q),
    headers: {
      Authorization: 'Bearer ' + ScriptApp.getOAuthToken()
    }
  }
  const req = UrlFetchApp.fetch(url,options)
  console.log(req.getContentText())
  let rep = JSON.parse(req.getContentText());
  console.log(rep.reply.summary.summaryText) // Das Ergebnis
  return rep
}

CONVERSATION_ID enthält alle Daten in Bezug auf das Projekt usw. Es ist nicht nötig, dies erneut in der URL anzugeben.

Die Funktion nimmt die Benutzer-E-Mail und die Frage als Eingabe.

Führen Sie die Konversation fort

Um die Konversation fortzusetzen, ist der Code exakt der gleiche wie oben. Sie müssen nur die gleiche CONVERSATION_ID verwenden, um mit dem Bot über dasselbe Thema weiterzusprechen.

Das bedeutet, dass Sie die Konversations-ID zwischen jeder Nachricht verfolgen müssen. Dies kann auf verschiedene Weise in Google Apps Script erfolgen, je nach Ihrem Code.

Ergebnis

Es ist auf Französisch, entschuldigen Sie bitte, aber unten sehen Sie eine Konversation mit einer zweiten Antwort, die die erste ergänzt. Die zweite Frage ist nur eine natürliche Frage, ohne zusätzlichen Kontext oder wiederholten Kontext.

F1: Bietet Devoteam G Cloud Essensmarken an?

F2: Welcher Anbieter ist das?

Erstellen Sie einen Google Chat-Bot mit Ihren eigenen Daten mit Vertex AI Search und Google Apps Script

Integration von Vertex AI Search in Google Chat

Wie Sie sehen, zeigen wir auch die verwendete Quelle an, um den Kontext der Antwort zu liefern. LLMs sind wirklich gut, aber Sie müssen immer aufpassen mit den Antworten. Die Quelle ist ein guter Weg, wachsam gegenüber den Antworten zu bleiben.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert