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 múltiplos 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 envolver 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 modelo de linguagem grande (LLM) para criar mensagens de e-mail personalizadas.

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

O 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 substituir facilmente tanto o MongoDB quanto o Pinecone, simplificando operações sem comprometer a funcionalidade.

No nosso exemplo de aplicação, usaremos um LLM para gerar e-mails únicos 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 aprendizagem para o LLM.

Vamos personalizar 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 e-mails personalizados. Por fim, consolidaremos os dados armazenados no MongoDB e Pinecone usando o SingleStore.

Crie uma Conta na Nuvem do SingleStore

Um artigo anterior mostrou os passos para criar uma conta gratuita na Nuvem do SingleStore. Usaremos o Tier 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 da API do OpenAI e a Chave da API do Pinecone no cofre de segredos usando OPENAI_API_KEY e PINECONE_API_KEY, respectivamente.

Importe o Notebook

Vamos baixar o caderno do GitHub.

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

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

Executar o Caderno

Modelo Genérico de Email

Vamos começar gerando modelos genéricos de email e depois usar 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 respectivos nomes.

2. Adicionando um Grande Modelo de Linguagem (LLM)

Podemos facilmente incorporar um LLM em nossa aplicação fornecendo a ele uma função e fornecendo algumas informações, da seguinte forma:

Python

 

Vamos criar 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. Personalizando o 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 se alinhar com 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 do usuário são armazenados em um banco de dados MongoDB com uma estrutura de registro semelhante à seguinte:

JSON

 

Nós nos conectaremos ao MongoDB para obter os dados da seguinte forma:

Python

 

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

Temos várias 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 de cada etapa. Esses embeddings tornam fácil orientar 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 em busca de 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 SingleStore

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

Vamos ingerir 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 de clientes será criada pelo pipeline. As incorporações vetoriais para as etapas de comportamento podem ser criadas da seguinte maneira:

Python

 

Vamos precisar de uma tabela para armazenar os dados:

SQL

 

Em seguida, podemos salvar os dados na tabela:

Python

 

Vamos pesquisar no SingleStore por correspondências da seguinte maneira:

Python

 

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

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 multi-modelo e personalização orientada por IA. Usando o SingleStore como nossa única fonte 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 original da demonstração, que foi adaptado para este artigo.

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