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

Créer un service de réponse aux questions fréquentes avec OpenAI et Vonage AI Studio

Publié le March 9, 2023

Temps de lecture : 7 minutes

Note : OpenAI a changé sa politique concernant l'utilisation gratuite de son API. Vous devez désormais payer pour y accéder

ChatGPT est un modèle de langage conversationnel de pointe développé par l OpenAI. Il est basé sur le transformateur et a été entraîné sur un large éventail de textes Internet, ce qui lui permet de générer des réponses semblables à celles d'un être humain à diverses questions et invites. Elle peut également écrire des programmes informatiques, composer de la musique, écrire des poèmes, et bien plus encore ! Vous trouverez ci-dessous un exemple de poème qu'il a écrit pour les API de communication de Vonage.

Write a poem about Vonagevonagepoem.png

Comme vous pouvez le constater, ChatGPT est très puissant. Nous allons utiliser l'API GPT aujourd'hui pour créer un service de réponse FAQ (Foire aux questions) avec Vonage AI Studio, une plateforme d'IA conversationnelle Low-Code / No-Code qui aide les entreprises à gérer les interactions complexes avec les clients par le biais de la voix et du texte.

Quels sont les avantages de l'utilisation de GPT 3.5 Turbo comme modèle de base pour un service de réponse FAQ avec Vonage AI Studio? Puisque OpenAI utilise Grands modèles de langage (LLM) il réduit le temps consacré à la formation d'un agent. Au lieu de créer manuellement des intentions et des ensembles d'activités, les développeurs peuvent saisir une masse de texte et définir des solutions de repli avec des réponses personnalisées. En outre, cela permet d'affiner l'agent pour qu'il réponde à des questions allant au-delà des données de formation fournies.

Par exemple, nous pourrions former notre modèle aujourd'hui en saisissant des questions de clients potentiels, en créant des intentions pour chaque question, en adressant des énoncés, en testant l'inadéquation des entrées et en optimisant en fonction des résultats. En revanche, nous entraînerons nos données demain en saisissant une masse de texte au lieu d'intentions et en créant des solutions de repli avec des réponses personnalisées.

Conditions préalables

Avant de commencer, assurez-vous d'avoir effectué les opérations suivantes :

  • A Compte de développeur Vonage - Si vous n'en avez pas, vous pouvez en créer un et nous vous donnerons un crédit gratuit pour jouer avec nos API.

  • Un compte Compte OpenAI et une clé API sont gratuits et nécessaires pour obtenir une réponse de l'utilisateur. Nous utiliserons le GTP 3.5 Turbo comme modèle de base pour cet exemple. Vous pouvez en savoir plus sur ce modèle et sur d'autres en consultant leur documentation. * Appuyez sur "Créer une nouvelle clé secrète" et stockez l'information dans un endroit sûr, car nous l'utiliserons plus tard. Voir l'exemple ci-dessous.

  • ngrok - Un Account gratuit est nécessaire. Cet outil permet aux développeurs d'exposer un serveur de développement local à l'Internet.

  • Python est installé - j'utilise actuellement la version 3.11.1 pour cet article.

  • Pip est installé - Vérifiez que vous pouvez lancer pip à partir de votre terminal ou de l'invite de commande.

OpenAI API Key Dialogapikeys.png

Création du serveur

Nous devrons créer une application serveur à laquelle AI Studio fera appel lorsque l'utilisateur saisira une question à partir de son téléphone.

Pour ce faire, nous utiliserons un court script Python pour démarrer un serveur sur le port 9000 en utilisant nos identifiants OpenAI. Veuillez noter que j'utilise Python, mais vous pouvez créer le même script en utilisant le langage de votre choix.

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

Pour utiliser ce code :

  • Copiez tout le code Python fourni dans un fichier nommé application.py.

  • Remplacer VOTRE-PROPRE-OPENAI-API-KEY par la clé API OpenAI que nous avons créée précédemment.

  • Installer les paquets dont le script dépend

    • sudo pip install openai - Pour les bibliothèques OpenAI

    • sudo pip install flask_login - Pour notre site web

    • sudo pip install pillow - Pour les bibliothèques d'imagerie

Une fois l'application démarrée avec succès, vous obtiendrez une URL de déploiement. Par exemple, la mienne est http://10.0.0.190:9000/et pour appeler cette URL via AI Studio, nous devrons utiliser quelque chose comme ngrok.

Exécuter ngrok

ngrok est une application multiplateforme qui permet aux développeurs d'exposer un serveur de développement local à l'Internet avec un minimum d'effort. Nous l'utiliserons pour exposer notre service à l'Internet. Si vous utilisez ngrok pour la première fois, un article de blog l'explique plus en détail. Une fois que vous avez configuré ngrok et que vous êtes connecté (encore une fois, le compte gratuit est acceptable), exécutez la commande suivante :

ngrok http 9000

Une fois que ngrok s'est exécuté, il vous donne une URL de transfert que nous utiliserons comme base pour nos Webhooks plus loin dans l'article. La mienne ressemble à ce qui suit :

Ngrok Runningngrokrunning.png

Maintenant, si je voulais accéder à mon serveur python local par l'intermédiaire d'AI Studio, j'utiliserais l'adresse de transfert indiquée dans la capture d'écran.

AI Studio

Naviguez jusqu'à la page AI Studio de Vonage et appuyez sur le bouton Créer un agent. Vous verrez une option pour le type d'agent que vous souhaitez créer.

Agent Creationagent-creation.png

Pour commencer, sélectionnez l'agent de téléphonie et appuyez sur Suivant, car nous voulons créer un scénario d'appel vocal que vous pourrez utiliser sur votre téléphone portable.

Nous devrons fournir quelques détails à ce sujet :

  • Région: Où votre agent sera-t-il généralement utilisé - aux États-Unis ou en Europe ?

  • Nom de l'agent: Donnez à votre agent un nom unique et significatif pour vous.

  • Langue: Sélectionnez la langue de votre agent.

  • Voice: Sélectionnez n'importe quelle Voice (j'utilise Matthew).

  • Fuseau horaire: Choisissez le fuseau horaire dans lequel votre agent travaillera.

Vous avez ensuite la possibilité de choisir un modèle, et vous pouvez voir certains des modèles disponibles. modèles disponibles pour différents types d'agents. Dans ce cas, nous sélectionnerons Démarrer à partir de zéro et appuyer sur Suivant.

Enfin, nous avons la possibilité de Sélectionner un événement. Les événements déclenchent votre agent, qu'ils soient initiés par un utilisateur ou par l'agent lui-même. Nous utiliserons un Appel entrant et nous appuierons sur Créer pour cet exemple.

Vous verrez ensuite l'interface utilisateur principale d'AI Studio ! Si vous souhaitez vous familiariser avec ses capacités, visitez le site suivant ici.

Pour simplifier les choses, nous utiliserons le schéma de conversation suivant :

Simple User Interfacesimpledesignlayout.png

Nous avons ajouté :

  • 2 Paramètres pour stocker la valeur saisie par l'utilisateur et la réponse de l'OpenAI.

    • Paramètres personnalisés

    • Nom : AGENT_RES et l'entité est @sys.any

    • Nom : INPUT et l'entité est @sys.any

  • Nœud de collecte des données - Il accueille l'utilisateur et recueille ses données.

    • Paramètre : Utilisez le paramètre INPUT que nous avons créé à l'étape précédente.

    • Texte de l'invite : Bienvenue à la FAQ de Vonage ! Veuillez entrer votre question et nous ferons de notre mieux pour y répondre !

      • Lorsque nous exécuterons l'agent, nous utiliserons un langage que n'importe qui pourrait utiliser dans une conversation normale, comme par exemple "Où se trouve le siège social de Vonage ?"ou "Quelles sont les API de communication prises en charge par Vonage ?".

  • Nœud Webhook -

  • Speak Node - Pour afficher les résultats de l'OpenAI.

    • Texte - Votre réponse est : $AGENT_RES

  • Nœud de fin d'appel - Pour mettre fin à la conversation une fois que le flux de la conversation est terminé.

Exécutons l'application en appuyant sur le bouton Testeur dans le coin supérieur droit de l'écran et voyons quel type de résultat nous obtenons. Pour commencer, nous voyons le message de bienvenue ainsi que la première question. L'utilisateur peut saisir "Où se trouve le siège de Vonage ?Où se trouve le siège de Vonage ?"L'agent virtuel répond par un message provenant d'OpenAI, qui dit ceci :

Sample Question #1chatgpt-example1.png

Ou peut-être souhaitez-vous lui poser une question plus ouverte, telle que "Quelles sont les API de communication offertes par Vonage ? Vous obtiendrez alors la réponse suivante :

Sample Question #2chatgpt-example2.png

L'API GPT prend également en charge la gestion des intentions multiples, ce qui se produit lorsque vous avez une entrée avec plus d'une intention, et que le système traite les deux. Un bon exemple serait de demander : "Où se trouve le siège social de Vonage et quand la société a-t-elle été fondée ?". Vous pourriez être surpris du résultat !

Sample Question #3chatgpt-example3.png

Synthèse

Nous avons vu comment vous pouviez mettre en œuvre l'API GPT d'OpenAI dans l'AI Studio de Vonage en moins de temps qu'il n'en faut pour déjeuner ! En automatisant une FAQ (dans cet exemple), vous pourriez économiser des heures qu'un employé typique pourrait consacrer à la collecte des données et à la création d'une réponse. Vous pouvez également essayer de publier l'agent et de le tester avec votre téléphone portable !

Notez également que l'intégration actuelle via les webhooks est une solution à court terme, et nous prévoyons de développer des nœuds dédiés pour prendre en charge le LLM d'ici la fin du deuxième trimestre 2023.

Qu'attendez-vous donc ? Donnez à l'API GPT et à AI Studio de Vonage dès aujourd'hui ! De plus, si vous avez des questions ou des commentaires, rejoignez-nous sur le Slack des développeurs de Vonage ou envoyez-moi un Tweet sur Twitteret je vous répondrai. Merci encore d'avoir lu, et je vous donne rendez-vous au prochain numéro !

Partager:

https://a.storyblok.com/f/270183/400x400/7cdff37c0e/michael-crump.png
Michael CrumpGestionnaire, expériences des développeurs

Michael Crump travaille chez Vonage au sein de l'équipe Developer Experiences. C'est un codeur, un YouTuber et un conférencier qui aborde fréquemment divers sujets liés à .NET et au développement des communications et de l'informatique en nuage. Il se passionne pour aider les développeurs à comprendre les avantages de chacun d'entre eux de manière simple.