Como Construir um Super App de ChatGPT

SingleStore é um poderoso sistema de banco de dados multi-modelo e plataforma projetada para suportar uma ampla variedade de casos de uso empresarial. Suas características distintas permitem que as empresas unifiquem vários sistemas de banco de dados em uma única plataforma, reduzindo o Custo Total de Propriedade (TCO) e simplificando os fluxos de trabalho dos desenvolvedores ao eliminar a necessidade de ferramentas de integração complexas.

Neste artigo, exploraremos como o SingleStore pode transformar campanhas de e-mail para uma empresa de análise da web, possibilitando a criação de conteúdo de e-mail personalizado e altamente direcionado.

O arquivo de notebook usado no artigo está disponível no GitHub.

Introdução

Uma empresa de análise da web depende de campanhas de e-mail para se comunicar com os clientes. No entanto, uma abordagem genérica para segmentar clientes frequentemente deixa de aproveitar oportunidades para maximizar o potencial de negócios. Uma solução mais eficaz envolveria o uso de um grande modelo de linguagem (LLM) para criar mensagens de e-mail personalizadas.

Considere um cenário em que os dados de comportamento do usuário são armazenados em um banco de dados NoSQL como o MongoDB, enquanto documentação valiosa está em um banco de dados de vetores, como o Pinecone. Gerenciar esses múltiplos sistemas pode se tornar complexo e intensivo em recursos, destacando a necessidade de uma solução unificada.

SingleStore, um banco de dados multi-modelo versátil, suporta vários formatos de dados, incluindo JSON, e oferece funções de vetor integradas. Ele se integra perfeitamente com LLMs, tornando-se uma alternativa poderosa para gerenciar vários sistemas de banco de dados. Neste artigo, demonstraremos como o SingleStore pode facilmente substituir tanto o MongoDB quanto o Pinecone, simplificando operações sem comprometer a funcionalidade.

No nosso exemplo de aplicação, usaremos um LLM para gerar emails exclusivos para nossos clientes. Para ajudar o LLM a aprender como segmentar nossos clientes, usaremos várias empresas de análise bem conhecidas como material de aprendizado para o LLM.

Personalizaremos ainda mais o conteúdo com base no comportamento do usuário. Os dados do cliente são armazenados no MongoDB. Diferentes estágios do comportamento do usuário são armazenados no Pinecone. O comportamento do usuário permitirá que o LLM gere emails personalizados. Por fim, consolidaremos os dados armazenados no MongoDB e no Pinecone usando o SingleStore.

Criar uma Conta na Nuvem do SingleStore

Um artigo anterior mostrou os passos para criar uma conta gratuita na Nuvem do SingleStore. Usaremos o Plano Padrão e manteremos os nomes padrão para o Grupo de Espaço de Trabalho e Espaço de Trabalho. Também ativaremos o SingleStore Kai.

Armazenaremos nossa Chave de API do OpenAI e Chave de API do Pinecone no cofre de segredos usando OPENAI_API_KEY e PINECONE_API_KEY, respectivamente.

Importar o Notebook

Vamos baixar o caderno do GitHub.

No painel de navegação à esquerda no portal de nuvem SingleStore, selecionaremos “DESENVOLVER” > “Data Studio.”

No canto superior direito da página web, selecionaremos “Novo Caderno” > “Importar do Arquivo.” Usaremos o assistente para localizar e importar o caderno que baixamos do GitHub.

Executar o Caderno

Modelo de Email Genérico

Começaremos gerando modelos de email genéricos e em seguida usaremos um LLM para transformá-los em mensagens personalizadas para cada cliente. Dessa forma, podemos abordar cada destinatário pelo nome e apresentá-los aos benefícios de nossa plataforma de análise web.

Podemos gerar um email genérico da seguinte maneira:

Python

 

Por exemplo, Alice veria a seguinte mensagem:

Plain Text

 

Outros usuários receberiam a mesma mensagem, mas com seus nomes, respectivamente.

2. Adicionando um Modelo de Linguagem Grande (LLM)

Podemos facilmente trazer um LLM para nossa aplicação fornecendo a ele um papel e algumas informações, da seguinte forma:

Python

 

Criaremos uma função para chamar o LLM:

Python

 

Percorrer a lista de usuários e chamar o LLM produz emails únicos:

Python

 

Por exemplo, isso é o que Alice poderia ver:

Plain Text

 

Emails igualmente únicos serão gerados para os outros usuários.

3. Personalização do Conteúdo do Email com Comportamento do Usuário

Ao categorizar os usuários com base em suas etapas de comportamento, podemos personalizar ainda mais o conteúdo do e-mail para atender às suas necessidades específicas. Um LLM ajudará a criar e-mails que incentivam os usuários a progredir por diferentes etapas, melhorando assim sua compreensão e uso de vários serviços.

No momento, os dados dos usuários são armazenados em um banco de dados MongoDB com uma estrutura de registro semelhante à seguinte:

JSON

 

Vamos nos conectar ao MongoDB para obter os dados da seguinte forma:

Python

 

Vamos substituir <password> e <host> pelos valores do MongoDB Atlas.

Temos uma série de etapas de comportamento do usuário:

Python

 

Usando os dados sobre as etapas de comportamento, pediremos ao LLM para personalizar ainda mais o e-mail da seguinte forma:

Python

 

Por exemplo, aqui está um e-mail gerado para Michael:

Plain Text

 

4. Personalização Adicional do Conteúdo do E-mail

Para apoiar o progresso do usuário, usaremos os embeddings vetoriais do Pinecone, permitindo-nos direcionar os usuários para a documentação relevante para cada etapa. Esses embeddings tornam mais fácil guiar os usuários para recursos essenciais e aprimorar ainda mais suas interações com nosso produto.

Python

 

Vamos criar os embeddings da seguinte forma:

Python

 

Vamos pesquisar o Pinecone por correspondências da seguinte forma:

Python

 

Usando os dados, podemos pedir ao LLM para personalizar ainda mais o e-mail, da seguinte forma:

Python

 

Por exemplo, aqui está um e-mail gerado para Melissa:

Plain Text

 

Podemos ver que refinamos o modelo genérico e desenvolvemos e-mails bastante direcionados.

Usando o SingleStore

Em vez de gerenciar sistemas de banco de dados separados, vamos otimizar nossas operações usando o SingleStore. Com suporte para JSON, texto e incorporações de vetores, podemos armazenar de forma eficiente todos os dados necessários em um só lugar, reduzindo o TCO e simplificando nossos processos de desenvolvimento.

Vamos ingestar os dados do MongoDB usando um pipeline semelhante ao seguinte:

SQL

 

Vamos substituir <primary>, <secondary>, <secondary> e <password> pelos valores do MongoDB Atlas.

A tabela do cliente será criada pelo pipeline. As incorporações de vetores para as etapas de comportamento podem ser criadas da seguinte forma:

Python

 

Vamos precisar de uma tabela para armazenar os dados:

SQL

 

Em seguida, podemos salvar os dados na tabela:

Python

 

Vamos buscar por correspondências no SingleStore da seguinte forma:

Python

 

Usando os dados, podemos solicitar ao LLM para personalizar o e-mail da seguinte forma:

Python

 

Por exemplo, aqui está um e-mail gerado para Joseph:

Plain Text

 

Resumo

Através desta demonstração prática, vimos como o SingleStore melhora nossas campanhas de e-mail com suas capacidades de múltiplos modelos e personalização orientada por IA. Usando o SingleStore como nossa fonte única de verdade, simplificamos nossos fluxos de trabalho e garantimos que nossas campanhas de e-mail entreguem o máximo impacto e valor aos nossos clientes.

Agradecimentos

Agradeço a Wes Kennedy pelo código de demonstração original, que foi adaptado para este artigo.

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