Cómo construir una super aplicación ChatGPT

SingleStore es un potente sistema de base de datos multi-modelo y plataforma diseñada para soportar una amplia variedad de casos de uso empresarial. Sus características distintivas permiten a las empresas unificar múltiples sistemas de base de datos en una sola plataforma, reduciendo el Costo Total de Propiedad (TCO) y simplificando los flujos de trabajo de los desarrolladores al eliminar la necesidad de herramientas de integración complejas.

En este artículo, exploraremos cómo SingleStore puede transformar las campañas de correo electrónico para una empresa de análisis web, permitiendo la creación de contenido de correo electrónico personalizado y altamente dirigido.

El archivo de cuaderno utilizado en el artículo está disponible en GitHub.

Introducción

Una empresa de análisis web depende de las campañas de correo electrónico para interactuar con los clientes. Sin embargo, un enfoque genérico para dirigirse a los clientes a menudo pierde oportunidades para maximizar el potencial empresarial. Una solución más efectiva implicaría el uso de un modelo de lenguaje grande (LLM) para crear mensajes de correo electrónico personalizados.

Considere un escenario donde los datos de comportamiento de usuario se almacenan en una base de datos NoSQL como MongoDB, mientras que la documentación valiosa reside en una base de datos de vectores, como Pinecone. Gestionar estos sistemas múltiples puede volverse complejo y exigir muchos recursos, resaltando la necesidad de una solución unificada.

SingleStore, una base de datos versátil de múltiples modelos, admite varios formatos de datos, incluido JSON, y ofrece funciones vectoriales integradas. Se integra perfectamente con los LLM, lo que la convierte en una alternativa poderosa para administrar múltiples sistemas de bases de datos. En este artículo, demostraremos lo fácil que SingleStore puede reemplazar tanto a MongoDB como a Pinecone, simplificando las operaciones sin comprometer la funcionalidad.

En nuestra aplicación de ejemplo, utilizaremos un LLM para generar correos electrónicos únicos para nuestros clientes. Para ayudar al LLM a aprender a dirigirse a nuestros clientes, utilizaremos varias empresas de análisis conocidas como material de aprendizaje para el LLM.

Personalizaremos aún más el contenido según el comportamiento del usuario. Los datos de los clientes se almacenan en MongoDB. Diferentes etapas del comportamiento del usuario se almacenan en Pinecone. El comportamiento del usuario permitirá al LLM generar correos electrónicos personalizados. Finalmente, consolidaremos los datos almacenados en MongoDB y Pinecone utilizando SingleStore.

Crear una cuenta en la nube de SingleStore

Un artículo anterior mostró los pasos para crear una cuenta gratuita en la nube de SingleStore. Utilizaremos el Nivel Estándar y tomaremos los nombres predeterminados para el Grupo de Espacio de Trabajo y el Espacio de Trabajo. También habilitaremos SingleStore Kai.

Almacenaremos nuestra clave de API de OpenAI y la clave de API de Pinecone en el depósito de secretos utilizando OPENAI_API_KEY y PINECONE_API_KEY, respectivamente.

Importar el Cuaderno

Descargaremos el cuaderno desde GitHub.

Desde el panel de navegación izquierdo en el portal de la nube de SingleStore, seleccionaremos “DESARROLLAR” > “Estudio de Datos.”

En la parte superior derecha de la página web, seleccionaremos “Nuevo Cuaderno” > “Importar Desde Archivo.” Utilizaremos el asistente para localizar e importar el cuaderno que descargamos de GitHub.

Ejecutar el Cuaderno

Plantilla de Correo Electrónico Genérica

Comenzaremos generando plantillas de correo electrónico genéricas y luego utilizaremos un LLM para transformarlas en mensajes personalizados para cada cliente. De esta manera, podremos dirigirnos a cada destinatario por su nombre e introducirles a los beneficios de nuestra plataforma de análisis web.

Podemos generar un correo electrónico genérico de la siguiente manera:

Python

 

Por ejemplo, Alice vería el siguiente mensaje:

Plain Text

 

Los demás usuarios recibirían el mismo mensaje, pero con su nombre respectivamente.

2. Agregar un Modelo de Lenguaje Grande (LLM)

Podemos incorporar fácilmente un LLM en nuestra aplicación proporcionándole un rol y dándole algo de información, de la siguiente manera:

Python

 

Crearemos una función para llamar al LLM:

Python

 

Recorrer la lista de usuarios y llamar al LLM produce correos electrónicos únicos:

Python

 

Por ejemplo, esto es lo que podría ver Alice:

Plain Text

 

Correos igualmente únicos se generarán para los otros usuarios.

3. Personalizar el Contenido del Correo Electrónico Con el Comportamiento del Usuario

Al categorizar a los usuarios basándonos en las etapas de su comportamiento, podemos personalizar aún más el contenido del correo electrónico para que se ajuste a sus necesidades específicas. Un LLM ayudará a crear correos electrónicos que animen a los usuarios a avanzar a través de diferentes etapas, mejorando en última instancia su comprensión y uso de varios servicios.

Actualmente, los datos de usuario se almacenan en una base de datos MongoDB con una estructura de registro similar a la siguiente:

JSON

 

Nos conectaremos a MongoDB para obtener los datos de la siguiente manera:

Python

 

Reemplazaremos <password> y <host> con los valores de MongoDB Atlas.

Tenemos una serie de etapas de comportamiento de usuario:

Python

 

Utilizando los datos sobre las etapas de comportamiento, pediremos al LLM que personalice aún más el correo electrónico de la siguiente manera:

Python

 

Por ejemplo, aquí hay un correo electrónico generado para Michael:

Plain Text

 

4. Personalización Adicional del Contenido del Correo Electrónico

Para apoyar el progreso del usuario, utilizaremos los embeddings vectoriales de Pinecone, lo que nos permitirá dirigir a los usuarios a la documentación relevante para cada etapa. Estos embeddings facilitan guiar a los usuarios hacia recursos esenciales y mejorar aún más sus interacciones con nuestro producto.

Python

 

Crearemos los embeddings de la siguiente manera:

Python

 

Buscaremos coincidencias en Pinecone de la siguiente manera:

Python

 

Utilizando los datos, podemos pedir al LLM que personalice aún más el correo electrónico, de la siguiente manera:

Python

 

Por ejemplo, aquí hay un correo electrónico generado para Melissa:

Plain Text

 

Podemos ver que hemos refinado la plantilla genérica y desarrollado correos electrónicos bastante específicos.

Usando SingleStore

En lugar de administrar sistemas de bases de datos separados, optimizaremos nuestras operaciones utilizando SingleStore. Con su soporte para JSON, texto y vectores de incrustación, podemos almacenar eficientemente todos los datos necesarios en un solo lugar, reduciendo el TCO y simplificando nuestros procesos de desarrollo.

Vamos a ingresar los datos desde MongoDB utilizando un pipeline similar al siguiente:

SQL

 

Reemplazaremos <primario>, <secundario>, <secundario> y <contraseña> con los valores de MongoDB Atlas.

La tabla de clientes será creada por el pipeline. Los vectores de incrustación para las etapas de comportamiento pueden ser creados de la siguiente manera:

Python

 

Necesitaremos una tabla para almacenar los datos:

SQL

 

Luego, podemos guardar los datos en la tabla:

Python

 

Buscaremos coincidencias en SingleStore de la siguiente manera:

Python

 

Utilizando los datos, podemos pedir al LLM que personalice el correo electrónico de la siguiente manera:

Python

 

Por ejemplo, aquí hay un correo electrónico generado para Joseph:

Plain Text

 

Resumen

A través de esta demostración práctica, hemos visto cómo SingleStore mejora nuestras campañas de correo electrónico con sus capacidades multi-modelo y personalización impulsada por IA. Utilizando SingleStore como nuestra única fuente de verdad, hemos simplificado nuestros flujos de trabajo y asegurado que nuestras campañas de correo electrónico entreguen el máximo impacto y valor a nuestros clientes.

Agradecimientos

Agradezco a Wes Kennedy por el código de demostración original, el cual fue adaptado para este artículo.

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