https://d226lax1qjow5r.cloudfront.net/blog/blogposts/build-a-faq-answering-service-with-openai-and-vonage-ai-studio/faq-answering_chatgpt_ai-studio.png

Erstellen Sie einen FAQ-Antwortdienst mit OpenAI und Vonage AI Studio

Zuletzt aktualisiert am March 9, 2023

Lesedauer: 6 Minuten

Hinweis: OpenAI hat seine Politik bezüglich der kostenlosen Nutzung seiner API geändert. Sie müssen jetzt für den Zugriff bezahlen

ChatGPT ist ein hochmodernes Sprachmodell für Konversationen, das von OpenAI. Es basiert auf Transformator Architektur und wurde mit einer Vielzahl von Internettexten trainiert, so dass es menschenähnliche Antworten auf verschiedene Fragen und Aufforderungen geben kann. Sie kann auch Computerprogramme schreiben, Musik komponieren, Gedichte verfassen und vieles mehr! Im Folgenden sehen Sie ein Beispielgedicht, das er für die Kommunikations-APIs von Vonage geschrieben hat.

Write a poem about Vonagevonagepoem.png

Wie Sie sehen können, ist ChatGPT sehr leistungsfähig. Wir werden die GPT-API heute nutzen, um einen FAQ (Frequently Asked Questions) Antwortdienst zu erstellen mit Vonage AI Studiozu erstellen, einer Low-Code/No-Code KI-Plattform, die Unternehmen bei der Bearbeitung komplexer Kundeninteraktionen über Sprache und Text unterstützt.

Welche Vorteile bringt die Verwendung von GPT 3.5 Turbo als Basismodell für einen FAQ-Beantwortungsdienst mit Vonage AI Studio? Da OpenAI verwendet Große Sprachmodelle (LLM) Technologie verwendet, wird der Zeitaufwand für das Training eines Agenten reduziert. Anstelle der manuellen Erstellung von Intents und Aktivitätssets können Entwickler einen Großteil des Textes eingeben und Fallbacks mit benutzerdefinierten Antworten festlegen. Darüber hinaus besteht die Möglichkeit, den Agenten so einzustellen, dass er über die bereitgestellten Trainingsdaten hinausgehende Anfragen beantworten kann.

Zum Beispiel könnten wir unser Modell heute trainieren, indem wir potenzielle Kundenfragen eingeben, Intents für jede Frage erstellen, Äußerungen adressieren, auf Eingabeübereinstimmungen testen und anhand der Ergebnisse optimieren. Im Gegensatz dazu werden wir unsere Daten morgen trainieren, indem wir einen Großteil des Textes anstelle von Intents eingeben und Fallbacks mit benutzerdefinierten Antworten erstellen.

Voraussetzungen

Bevor Sie beginnen, vergewissern Sie sich, dass Sie die folgenden Punkte erledigt haben:

  • A Vonage Developer Account - Wenn Sie noch kein Konto haben, können Sie eines erstellen. Sie erhalten dann ein kostenloses Guthaben, um mit unseren APIs herumzuspielen.

  • Ein OpenAI Account und ein API-Schlüssel sind kostenlos und werden benötigt, um eine Antwort auf die Eingaben des Benutzers zu erhalten. Wir werden GTP 3.5 Turbo als Basismodell für dieses Beispiel verwenden. Sie können mehr über dieses Modell und andere erfahren, indem Sie die Dokumentation. * Drücken Sie "Neuen geheimen Schlüssel erstellen" und speichern Sie die Informationen an einem sicheren Ort, da wir sie später verwenden werden. Siehe das folgende Beispiel.

  • ngrok - Ein kostenloser Account ist erforderlich. Mit diesem Tool können Entwickler einen lokalen Entwicklungsserver für das Internet freigeben.

  • Python installiert ist - ich verwende derzeit Version 3.11.1 für diesen Artikel.

  • Pip installiert ist - Vergewissern Sie sich, dass Sie pip von Ihrem Terminal oder der Eingabeaufforderung aus ausführen können.

OpenAI API Key Dialogapikeys.png

Erstellen des Servers

Wir müssen eine Serveranwendung erstellen, die AI Studio aufruft, sobald der Benutzer eine Frage über sein Telefon eingibt.

Dazu verwenden wir ein kurzes Python-Skript, um einen Server auf Port 9000 mit unseren OpenAI-Anmeldedaten zu starten. Bitte beachten Sie, dass ich Python verwende, aber Sie können dasselbe in der Sprache Ihrer Wahl erstellen.

from datetime import datetime, timedelta
import os
from pickle import TRUE
from urllib import response
import openai
from PIL import Image
from flask import Flask, request, jsonify, render_template, Response, redirect

from flask_login import LoginManager, UserMixin, login_required, login_user

application = Flask(__name__)

app = application

openai_key = 'YOUR-OWN-OPENAI-API-KEY'
openai.api_key = openai_key

@app.route("/webhook", methods=["POST"])
def webhook():
    input = request.headers.get('input')
completions = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user",
         "content": input},
    ]
)
response = completions.choices[0].message.content
return {'res': response.strip()}

if __name__ == '__main__':
    app.run(port=9000, host='0.0.0.0', debug=True)  # run app in debug mode on port 5000

Um diesen Code zu verwenden:

  • Kopieren Sie den gesamten bereitgestellten Python-Code in eine Datei namens application.py.

  • Ersetzen Sie IHR-EIGENER-OPENAI-API-SCHLÜSSEL durch den OpenAI-API-Schlüssel, den wir zuvor erstellt haben.

  • Installieren Sie alle Pakete, von denen das Skript abhängig ist

    • sudo pip install openai - Für OpenAI-Bibliotheken

    • sudo pip install flask_login - Für unsere Website

    • sudo pip install pillow - Für Imaging-Bibliotheken

Sobald die Anwendung erfolgreich gestartet wurde, erhalten Sie eine Bereitstellungs-URL. Meine lautet zum Beispiel http://10.0.0.190:9000/Damit wir diese URL über AI Studio aufrufen können, müssen wir etwas wie ngrok.

Ngrok ausführen

ngrok ist eine plattformübergreifende Anwendung, die es Entwicklern ermöglicht, einen lokalen Entwicklungsserver mit minimalem Aufwand ins Internet zu stellen. Wir werden es verwenden, um unseren Dienst im Internet zu veröffentlichen. Wenn Sie ngrok zum ersten Mal verwenden, finden Sie in einem Blogbeitrag ausführlicher erklärt. Sobald Sie ngrok eingerichtet haben und eingeloggt sind (auch hier ist der kostenlose Account ausreichend), führen Sie den folgenden Befehl aus:

ngrok http 9000

Nachdem ngrok ausgeführt wurde, erhalten Sie eine Weiterleitungs-URL, die wir später in diesem Artikel als Basis für unsere Webhooks verwenden werden. Meine sieht wie die folgende aus:

Ngrok Runningngrokrunning.png

Wenn ich nun über AI Studio auf meinen lokalen Python-Server zugreifen wollte, würde ich die im Screenshot gezeigte Weiterleitungsadresse verwenden.

AI Studio

Navigieren Sie zum Vonage AI Studio und klicken Sie auf die Schaltfläche Agent erstellen. Es wird eine Option angezeigt, welche Art von Agent Sie erstellen möchten.

Agent Creationagent-creation.png

Um zu beginnen, wählen Sie den Telefonie-Agenten und drücken Sie Weiter, da wir ein Sprachanrufszenario erstellen möchten, das Sie auf Ihrem Mobiltelefon verwenden können.

Hier müssen wir noch einige Details ausfüllen:

  • Region: Wo wird Ihr Agent normalerweise eingesetzt - in den USA oder in Europa?

  • Name des Vertreters: Geben Sie Ihrem Agenten einen eindeutigen Namen, der für Sie von Bedeutung ist.

  • Sprache: Wählen Sie die Sprache Ihres Agenten.

  • Voices: Wählen Sie eine beliebige Voice (ich benutze Matthew).

  • Zeitzone: Wählen Sie die Zeitzone, in der Ihr Agent arbeiten soll.

Als Nächstes haben Sie die Möglichkeit, eine Vorlage auszuwählen, und Sie können sich einige der anderen verfügbaren Vorlagen für verschiedene Agententypen. In diesem Fall wählen wir Von Grund auf neu beginnen und drücken Sie Weiter.

Schließlich haben wir die Möglichkeit Ereignis auswählen. Ereignisse lösen Ihren Agenten aus, unabhängig davon, ob sie von einem Benutzer oder dem Agenten selbst ausgelöst werden. Wir verwenden einen Eingehender Anruf und drücken Sie erstellen. für dieses Beispiel.

Als nächstes sehen Sie die Hauptbenutzeroberfläche von AI Studio! Wenn Sie eine Einführung in die Möglichkeiten von AI Studio wünschen, besuchen Sie hier.

Der Einfachheit halber werden wir den folgenden Gesprächsablauf verwenden:

Simple User Interfacesimpledesignlayout.png

Wir fügten hinzu:

  • 2 Parameter zum Speichern des Wertes, den der Benutzer eingibt, und der Antwort, mit der OpenAI antwortet.

    • Benutzerdefinierte Parameter

    • Name: AGENT_RES und Entität ist @sys.any

    • Name: INPUT und Entität ist @sys.any

  • Collect Input Node - Dieser Knoten begrüßt den Benutzer und sammelt seine Eingaben.

    • Parameter: Verwenden Sie den INPUT-Parameter, den wir im vorherigen Schritt erstellt haben.

    • Aufforderungs-Text: Willkommen bei den Vonage FAQ! Bitte geben Sie Ihre Frage ein, und wir werden unser Bestes tun, um sie zu beantworten!

      • Wenn wir den Agenten ausführen, verwenden wir eine Sprache, die jeder in einem normalen Gespräch sagen könnte, z. B. "Wo ist die Vonage-Zentrale?" oder "Welche Kommunikations-APIs werden von Vonage unterstützt?".

  • Webhook-Knoten -

  • Speak Node - Zur Ausgabe der Ergebnisse von OpenAI.

    • Text - Ihre Antwort lautet: $AGENT_RES

  • Gesprächsknoten beenden - Zum Beenden des Gesprächs, sobald der Gesprächsverlauf abgeschlossen ist.

Führen wir die Anwendung aus, indem wir die Taste Tester in der oberen rechten Ecke des Bildschirms drücken, um zu sehen, welche Art von Ausgabe wir erhalten. Zu Beginn sehen wir die Begrüßungsnachricht zusammen mit der ersten Frage. Der Benutzer könnte eingeben: "Wo ist die Vonage-Zentrale?"Der virtuelle Agent antwortet mit einer Nachricht, die von OpenAI zurückkommt und Folgendes besagt

Sample Question #1chatgpt-example1.png

Vielleicht möchten Sie aber auch eine offenere Frage stellen, wie z. B. "Welche Kommunikations-APIs bietet Vonage an? Dann erhalten Sie die folgende Antwort:

Sample Question #2chatgpt-example2.png

Die GPT-API unterstützt auch die Behandlung von mehreren Eingaben, d. h. wenn Sie eine Eingabe mit mehr als einer Absicht haben und das System beide behandelt. Ein gutes Beispiel hierfür wäre die Frage: "Wo ist der Hauptsitz von Vonage und wann wurde das Unternehmen gegründet?" Das Ergebnis könnte Sie überraschen!

Sample Question #3chatgpt-example3.png

Nachbereitung

Wir haben gesehen, wie Sie die GPT-API von OpenAI in AI Studio von Vonage in weniger Zeit implementieren können, als Sie zum Mittagessen brauchen! Durch die Automatisierung einer häufig gestellten Frage (in diesem Beispiel) können Sie Stunden sparen, die ein typischer Angestellter mit der Erfassung der Daten und der Erstellung einer Antwort verbringen würde. Vielleicht möchten Sie auch versuchen, den Agenten zu veröffentlichen und ihn mit Ihrem Handy zu testen!

Beachten Sie auch, dass die derzeitige Integration über Webhooks eine kurzfristige Lösung ist. Wir planen, bis Ende des zweiten Quartals 2023 spezielle Knoten zur Unterstützung von LLM zu entwickeln.

Worauf warten Sie also noch? Geben Sie die GPT API und Vonage AI Studio noch heute ausprobieren! Wenn Sie Fragen oder Feedback haben, können Sie uns auch auf dem Vonage Entwickler-Slack oder senden Sie mir einen Tweet auf Twitterund ich werde auf Sie zurückkommen. Nochmals vielen Dank fürs Lesen, und wir sehen uns beim nächsten Mal!

Teilen Sie:

https://a.storyblok.com/f/270183/400x400/7cdff37c0e/michael-crump.png
Michael CrumpManager, Entwicklererfahrungen

Michael Crump arbeitet bei Vonage im Developer Experiences Team und ist Programmierer, YouTuber und häufiger Sprecher zu verschiedenen Themen der .NET- und Cloud-/Kommunikationsentwicklung. Seine Leidenschaft ist es, Entwicklern die Vorteile der jeweiligen Technologien auf einfache Art und Weise näher zu bringen.