Hoe je een ChatGPT Super App kunt bouwen

SingleStore is een krachtig multi-model databasesysteem en platform dat is ontworpen om een breed scala aan zakelijke gebruiksscenario’s te ondersteunen. De kenmerkende functies stellen bedrijven in staat om meerdere databasesystemen te verenigen in een enkel platform, waardoor de Totale Cost of Ownership (TCO) wordt verlaagd en de workflows voor ontwikkelaars worden vereenvoudigd door de noodzaak voor complexe integratietools te elimineren.

In dit artikel zullen we verkennen hoe SingleStore e-mailcampagnes voor een webanalysebedrijf kan transformeren, waardoor de creatie van gepersonaliseerde en zeer gerichte e-mailinhoud mogelijk wordt.

Het notitiebestand dat in het artikel wordt gebruikt, is beschikbaar op GitHub.

Introductie

Een webanalysebedrijf vertrouwt op e-mailcampagnes om in contact te komen met klanten. Een generieke benadering voor het targeten van klanten mist echter vaak kansen om het zakelijke potentieel te maximaliseren. Een effectievere oplossing zou inhouden het gebruik van een groot taalmodel (LLM) om gepersonaliseerde e-mailberichten te maken.

Stel je een scenario voor waarbij gebruikersgedragsgegevens worden opgeslagen in een NoSQL-database zoals MongoDB, terwijl waardevolle documentatie zich bevindt in een vectordatabase, zoals Pinecone. Het beheren van deze verschillende systemen kan complex en resource-intensief worden, wat de noodzaak van een geïntegreerde oplossing benadrukt.

SingleStore, een veelzijdige multi-model database, ondersteunt verschillende gegevensindelingen, waaronder JSON, en biedt ingebouwde vectorfuncties. Het integreert naadloos met LLM’s, waardoor het een krachtig alternatief is voor het beheren van meerdere databasesystemen. In dit artikel zullen we demonstreren hoe gemakkelijk SingleStore zowel MongoDB als Pinecone kan vervangen, waardoor operaties worden vereenvoudigd zonder functionaliteit in gevaar te brengen.

In onze voorbeeldtoepassing zullen we een LLM gebruiken om unieke e-mails te genereren voor onze klanten. Om de LLM te helpen leren hoe ze onze klanten kunnen targeten, zullen we een aantal bekende analysebedrijven gebruiken als leermateriaal voor de LLM.

We zullen de inhoud verder aanpassen op basis van gebruikersgedrag. Klantgegevens worden opgeslagen in MongoDB. Verschillende stadia van gebruikersgedrag worden opgeslagen in Pinecone. Het gebruikersgedrag zal de LLM in staat stellen gepersonaliseerde e-mails te genereren. Tot slot zullen we de gegevens opgeslagen in MongoDB en Pinecone consolideren door gebruik te maken van SingleStore.

Maak een SingleStore Cloud-account aan

Een vorig artikel toonde de stappen om een gratis SingleStore Cloud-account aan te maken. We zullen de Standaard Tier gebruiken en de standaardnamen voor de Workspace Group en Workspace aannemen. We zullen ook SingleStore Kai inschakelen.

We zullen onze OpenAI API Key en Pinecone API Key opslaan in de geheimenkluis met behulp van OPENAI_API_KEY en PINECONE_API_KEY, respectievelijk.

Importeer de Notebook

We zullen de notebook downloaden van GitHub.

Vanuit het linker navigatiepaneel in het SingleStore cloud portaal, zullen we “ONTWIKKELEN” > “Data Studio” selecteren.

In de rechterbovenhoek van de webpagina zullen we “Nieuwe Notebook” > “Importeren vanuit bestand” selecteren. We zullen de wizard gebruiken om de notebook te lokaliseren en te importeren die we van GitHub hebben gedownload.

Voer de Notebook uit

Generieke E-mail Template

We zullen beginnen met het genereren van generieke e-mailtemplates en deze vervolgens met behulp van een LLM omzetten in gepersonaliseerde berichten voor elke klant. Op deze manier kunnen we elke ontvanger bij naam aanspreken en hen kennis laten maken met de voordelen van ons webanalyseplatform.

We kunnen een generieke e-mail genereren als volgt:

Python

 

Bijvoorbeeld, Alice zou het volgende bericht zien:

Plain Text

 

Andere gebruikers zouden hetzelfde bericht ontvangen, maar met hun respectievelijke naam.

2. Toevoegen van een Large Language Model (LLM)

We kunnen eenvoudig een LLM in onze toepassing integreren door het een rol te geven en bepaalde informatie te verstrekken, als volgt:

Python

 

We zullen een functie maken om de LLM aan te roepen:

Python

 

Door te itereren door de lijst met gebruikers en de LLM aan te roepen, worden unieke e-mails gegenereerd:

Python

 

Bijvoorbeeld, dit is wat Alice zou kunnen zien:

Plain Text

 

Even unieke e-mails zullen worden gegenereerd voor de andere gebruikers.

3. Aanpassen van E-mailinhoud met Gebruikersgedrag

Door gebruikers te categoriseren op basis van hun gedragsfasen, kunnen we e-mailinhoud verder aanpassen om aan te sluiten bij hun specifieke behoeften. Een LLM zal helpen bij het opstellen van e-mails die gebruikers aanmoedigen om door verschillende fasen te gaan, wat uiteindelijk hun begrip en gebruik van verschillende diensten verbetert.

Op dit moment worden gebruikersgegevens bewaard in een MongoDB-database met een recordstructuur vergelijkbaar met de volgende:

JSON

 

We zullen verbinding maken met MongoDB om de gegevens op te halen zoals hieronder:

Python

 

We zullen <password> en <host> vervangen door de waarden van MongoDB Atlas.

We hebben een aantal gebruikersgedragsfasen:

Python

 

Met behulp van de gegevens over gedragsfasen zullen we de LLM vragen om de e-mail verder aan te passen zoals hieronder:

Python

 

Als voorbeeld, hier is een e-mail gegenereerd voor Michael:

Plain Text

 

4. E-mailinhoud verder aanpassen

Om gebruikersvooruitgang te ondersteunen, zullen we de vector embeddings van Pinecone gebruiken, waardoor we gebruikers kunnen doorverwijzen naar relevante documentatie voor elke fase. Deze embeddings maken het eenvoudig om gebruikers naar essentiële hulpmiddelen te leiden en hun interacties met ons product verder te verbeteren.

Python

 

We zullen de embeddings als volgt maken:

Python

 

We zullen Pinecone doorzoeken naar overeenkomsten als volgt:

Python

 

Met behulp van de gegevens kunnen we de LLM vragen om de e-mail verder aan te passen, zoals hieronder:

Python

 

Als voorbeeld, hier is een e-mail gegenereerd voor Melissa:

Plain Text

 

We kunnen zien dat we het generieke sjabloon hebben verfijnd en vrij gerichte e-mails hebben ontwikkeld.

Met gebruik van SingleStore

In plaats van afzonderlijke databasesystemen te beheren, zullen we onze activiteiten stroomlijnen door SingleStore te gebruiken. Met zijn ondersteuning voor JSON, tekst en vector-embeddings kunnen we alle benodigde gegevens efficiënt opslaan op één plek, waardoor de TCO wordt verlaagd en onze ontwikkelingsprocessen worden vereenvoudigd.

We zullen de gegevens van MongoDB invoeren met behulp van een pijplijn die vergelijkbaar is met de volgende:

SQL

 

We zullen <primary>, <secondary>, <secondary> en <password> vervangen door de waarden van MongoDB Atlas.

De klantentabel zal worden aangemaakt door de pijplijn. De vector-embeddings voor de gedragsfasen kunnen als volgt worden gemaakt:

Python

 

We hebben een tabel nodig om de gegevens op te slaan:

SQL

 

Vervolgens kunnen we de gegevens in de tabel opslaan:

Python

 

We zullen SingleStore doorzoeken op overeenkomsten als volgt:

Python

 

Met behulp van de gegevens kunnen we de LLM vragen de e-mail aan te passen als volgt:

Python

 

Als voorbeeld, hier is een e-mail gegenereerd voor Joseph:

Plain Text

 

Samenvatting

Door deze praktische demonstratie hebben we gezien hoe SingleStore onze e-mailcampagnes verbetert met zijn multi-model mogelijkheden en door AI-gestuurde personalisatie. Door SingleStore als onze enige bron van waarheid te gebruiken, hebben we onze workflows vereenvoudigd en ervoor gezorgd dat onze e-mailcampagnes maximale impact en waarde leveren aan onze klanten.

Erkenningen

Ik wil Wes Kennedy bedanken voor de originele democode die werd aangepast voor dit artikel.

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