Comment construire une super application ChatGPT

SingleStore est un puissant système de base de données multi-modèles et une plateforme conçue pour prendre en charge une grande variété de cas d’utilisation commerciale. Ses fonctionnalités distinctives permettent aux entreprises de unifier plusieurs systèmes de base de données en une seule plateforme, réduisant ainsi le coût total de possession (TCO) et simplifiant les flux de travail des développeurs en éliminant le besoin d’outils d’intégration complexes.

Dans cet article, nous explorerons comment SingleStore peut transformer les campagnes d’email pour une entreprise d’analyse web, permettant la création de contenu d’email personnalisé et hautement ciblé.

Le fichier notebook utilisé dans l’article est disponible sur GitHub.

Introduction

Une entreprise d’analyse web s’appuie sur des campagnes d’email pour interagir avec les clients. Cependant, une approche générique pour cibler les clients manque souvent d’opportunités pour maximiser le potentiel commercial. Une solution plus efficace consisterait à utiliser un grand modèle linguistique (LLM) pour créer des messages d’email personnalisés.

Considérez un scénario où les données de comportement des utilisateurs sont stockées dans une base de données NoSQL comme MongoDB, tandis que des documents précieux résident dans une base de données vectorielle, telle que Pinecone. Gérer ces multiples systèmes peut devenir complexe et gourmand en ressources, soulignant le besoin d’une solution unifiée.

SingleStore, une base de données multi-modèle polyvalente, prend en charge divers formats de données, y compris JSON, et offre des fonctions vectorielles intégrées. Il s’intègre parfaitement avec les LLMs, ce qui en fait une alternative puissante à la gestion de plusieurs systèmes de bases de données. Dans cet article, nous allons démontrer comment SingleStore peut facilement remplacer à la fois MongoDB et Pinecone, simplifiant les opérations sans compromettre la fonctionnalité.

Dans notre application exemple, nous utiliserons un LLM pour générer des e-mails uniques pour nos clients. Pour aider le LLM à apprendre comment cibler nos clients, nous utiliserons plusieurs sociétés d’analyse bien connues comme matériel d’apprentissage pour le LLM.

Nous personnaliserons davantage le contenu en fonction du comportement de l’utilisateur. Les données clients sont stockées dans MongoDB. Différentes étapes du comportement de l’utilisateur sont stockées dans Pinecone. Le comportement de l’utilisateur permettra au LLM de générer des e-mails personnalisés. Enfin, nous consoliderons les données stockées dans MongoDB et Pinecone en utilisant SingleStore.

Créer un compte SingleStore Cloud

Un article précédent a montré les étapes pour créer un compte Cloud SingleStore gratuit. Nous utiliserons le niveau Standard et prendrons les noms par défaut pour le Groupe de l’Espace de travail et l’Espace de travail. Nous activerons également SingleStore Kai.

Nous stockerons notre clé API OpenAI et notre clé API Pinecone dans le coffre-fort de secrets en utilisant OPENAI_API_KEY et PINECONE_API_KEY, respectivement.

Importer le Notebook

Nous allons télécharger le cahier depuis GitHub.

Dans le volet de navigation de gauche du portail cloud SingleStore, nous allons sélectionner « DÉVELOPPER » > « Studio de données. »

En haut à droite de la page web, nous allons sélectionner « Nouveau cahier » > « Importer depuis un fichier. » Nous utiliserons l’assistant pour localiser et importer le cahier que nous avons téléchargé depuis GitHub.

Exécuter le cahier

Modèle d’email générique

Nous commencerons par générer des modèles d’email génériques, puis utiliserons un LLM pour les transformer en messages personnalisés pour chaque client. De cette façon, nous pouvons adresser chaque destinataire par son nom et les introduire aux avantages de notre plateforme d’analyse web.

Nous pouvons générer un email générique comme suit:

Python

 

Par exemple, Alice verrait le message suivant:

Plain Text

 

D’autres utilisateurs recevraient le même message, mais avec leur nom respectif.

2. Ajout d’un Grand Modèle de Langue (LLM)

Nous pouvons facilement intégrer un LLM dans notre application en lui fournissant un rôle et en lui donnant quelques informations, comme suit:

Python

 

Nous allons créer une fonction pour appeler le LLM:

Python

 

En parcourant la liste des utilisateurs et en appelant le LLM, des emails uniques sont produits:

Python

 

Par exemple, voici ce qu’Alice pourrait voir:

Plain Text

 

Des emails tout aussi uniques seront générés pour les autres utilisateurs.

3. Personnalisation du Contenu de l’Email Selon le Comportement de l’Utilisateur

En catégorisant les utilisateurs en fonction de leurs étapes de comportement, nous pouvons personnaliser davantage le contenu de l’e-mail pour répondre à leurs besoins spécifiques. Un LLM aidera à créer des e-mails qui encouragent les utilisateurs à progresser à travers différentes étapes, améliorant ainsi leur compréhension et leur utilisation des différents services.

Actuellement, les données des utilisateurs sont stockées dans une base de données MongoDB avec une structure d’enregistrement similaire à ce qui suit :

JSON

 

Nous nous connecterons à MongoDB pour obtenir les données comme suit :

Python

 

Nous remplacerons <password> et <host> par les valeurs de MongoDB Atlas.

Nous avons plusieurs étapes de comportement des utilisateurs :

Python

 

En utilisant les données sur les étapes de comportement, nous demanderons au LLM de personnaliser davantage l’e-mail comme suit :

Python

 

Par exemple, voici un e-mail généré pour Michael :

Plain Text

 

4. Personnalisation supplémentaire du contenu de l’e-mail

Pour soutenir la progression des utilisateurs, nous utiliserons les plongements vectoriels de Pinecone, nous permettant de diriger les utilisateurs vers la documentation pertinente pour chaque étape. Ces plongements facilitent le guidage des utilisateurs vers les ressources essentielles et améliorent encore leurs interactions avec notre produit.

Python

 

Nous créerons les plongements comme suit :

Python

 

Nous rechercherons des correspondances dans Pinecone comme suit :

Python

 

En utilisant les données, nous pouvons demander au LLM de personnaliser davantage l’e-mail, comme suit :

Python

 

Par exemple, voici un e-mail généré pour Melissa :

Plain Text

 

Nous pouvons voir que nous avons affiné le modèle générique et développé des e-mails très ciblés.

Utilisation de SingleStore

Au lieu de gérer des systèmes de base de données séparés, nous simplifierons nos opérations en utilisant SingleStore. Avec son support pour JSON, le texte et les embeddings vectoriels, nous pouvons stocker efficacement toutes les données nécessaires en un seul endroit, réduisant les coûts totaux de possession et simplifiant nos processus de développement.

Nous ingérerons les données de MongoDB en utilisant un pipeline similaire au suivant :

SQL

 

Nous remplacerons <primary>, <secondary>, <secondary> et <password> par les valeurs de MongoDB Atlas.

La table des clients sera créée par le pipeline. Les embeddings vectoriels pour les étapes de comportement peuvent être créés comme suit :

Python

 

Nous aurons besoin d’une table pour stocker les données :

SQL

 

Ensuite, nous pouvons sauvegarder les données dans la table :

Python

 

Nous rechercherons des correspondances dans SingleStore comme suit :

Python

 

En utilisant les données, nous pouvons demander au LLM de personnaliser l’e-mail comme suit :

Python

 

Par exemple, voici un e-mail généré pour Joseph :

Plain Text

 

Résumé

À travers cette démonstration pratique, nous avons vu comment SingleStore améliore nos campagnes d’e-mails avec ses capacités multi-modèles et sa personnalisation basée sur l’IA. En utilisant SingleStore comme notre unique source de vérité, nous avons simplifié nos flux de travail et nous assurons que nos campagnes d’e-mails offrent un impact maximal et une valeur à nos clients.

Remerciements

Je remercie Wes Kennedy pour le code de démonstration original, qui a été adapté pour cet article.

Source:
https://dzone.com/articles/how-to-build-a-chatgpt-super-app