如何构建ChatGPT超级应用

SingleStore是一款强大的多模型数据库系统和平台,旨在支持各种业务用例。其独特的特性使企业能够将多个数据库系统统一到一个平台上,降低总体拥有成本(TCO),并通过消除复杂的集成工具简化开发人员的工作流程。

在本文中,我们将探讨SingleStore如何改变网络分析公司的电子邮件营销活动,实现个性化和高度定向的电子邮件内容的创建。

本文中使用的笔记本文件可在GitHub上找到。

介绍

网络分析公司依赖电子邮件营销活动来与客户互动。然而,针对客户的通用方法往往会错过最大化业务潜力的机会。更有效的解决方案将涉及使用大型语言模型(LLM)来制作个性化的电子邮件消息。

考虑一个场景,用户行为数据存储在诸如MongoDB之类的NoSQL数据库中,而有价值的文档存储在矢量数据库中,比如Pinecone。管理这些多个系统可能变得复杂且耗费资源,突显了统一解决方案的必要性。

SingleStore是一种多功能多模型数据库,支持多种数据格式,包括JSON,并提供内置的向量函数。它与LLM无缝集成,是管理多个数据库系统的强大替代方案。在本文中,我们将演示SingleStore如何轻松取代MongoDB和Pinecone,简化操作而不影响功能。

在我们的示例应用中,我们将使用LLM为客户生成唯一的电子邮件。为了帮助LLM学习如何定位我们的客户,我们将使用一些知名的分析公司作为LLM的学习材料。

我们将根据用户行为进一步定制内容。客户数据存储在MongoDB中。用户行为的不同阶段存储在Pinecone中。用户行为将使LLM能够生成个性化的电子邮件。最后,我们将使用SingleStore consoli在MongoDB和Pinecone中存储的数据。

创建SingleStore云账户

一篇先前的文章展示了创建免费SingleStore云账户的步骤。我们将使用标准层,并采用Workspace Group和Workspace的默认名称。我们还将启用SingleStore Kai。

我们将在秘密保险库中使用OPENAI_API_KEYPINECONE_API_KEY分别存储我们的OpenAI API密钥和Pinecone API密钥。

导入笔记本

我们将从GitHub下载笔记本。

在SingleStore云门户的左侧导航窗格中,我们将选择”开发” > “数据工作室”。

在网页的右上角,我们将选择”新建笔记本” > “从文件导入”。我们将使用向导定位并导入从GitHub下载的笔记本。

运行笔记本

通用电子邮件模板

我们将首先生成通用电子邮件模板,然后使用LLM将其转换为每位客户的个性化消息。这样,我们可以通过姓名称呼每位收件人,并向他们介绍我们的网络分析平台的优势。

我们可以按如下方式生成通用电子邮件:

Python

 

例如,Alice会看到以下消息:

Plain Text

 

其他用户会收到相同的消息,但会包含他们的姓名。

2. 添加大型语言模型(LLM)

我们可以通过为其提供角色并提供一些信息,轻松地将LLM引入我们的应用程序,如下:

Python

 

我们将创建一个调用LLM的函数:

Python

 

遍历用户列表并调用LLM会生成独特的电子邮件:

Python

 

例如,Alice可能会看到这样的内容:

Plain Text

 

其他用户也将获得同样独特的电子邮件。

3. 根据用户行为定制电子邮件内容

通过根据用户的行为阶段进行分类,我们可以进一步定制电子邮件内容,以满足他们特定的需求。 一个LLM 将有助于制作鼓励用户在不同阶段进展的电子邮件,最终提高他们对各种服务的理解和使用。

目前,用户数据存储在一个类似以下结构的MongoDB数据库中:

JSON

 

我们将连接到MongoDB以获取数据,如下:

Python

 

我们将用MongoDB Atlas中的值替换<password><host>

我们有多个用户行为阶段:

Python

 

使用有关行为阶段的数据,我们将要求LLM进一步定制电子邮件,如下:

Python

 

例如,这是为Michael生成的电子邮件:

Plain Text

 

4. 进一步定制电子邮件内容

为了支持用户的进展,我们将使用Pinecone的向量嵌入,让我们能够将用户引导到每个阶段的相关文档。这些嵌入使我们能够轻松地引导用户前往重要资源,并进一步增强他们与我们产品的互动。

Python

 

我们将创建嵌入,如下:

Python

 

我们将搜索Pinecone以找到匹配项,如下:

Python

 

使用数据,我们可以要求LLM进一步定制电子邮件,如下:

Python

 

例如,这是为Melissa生成的电子邮件:

Plain Text

 

我们可以看到我们已经优化了通用模板,并开发出相当有针对性的电子邮件。

使用SingleStore

与管理单独的数据库系统不同,我们将通过使用SingleStore来简化我们的运营。凭借其对JSON、文本和向量嵌入的支持,我们可以高效地将所有必要数据存储在一个地方,降低TCO并简化我们的开发流程。

我们将使用类似以下的管道从MongoDB中摄取数据:

SQL

 

我们将用来自MongoDB Atlas的值替换<primary><secondary><secondary><password>

客户表将由该管道创建。行为阶段的向量嵌入可以按以下方式创建:

Python

 

我们需要一个表来存储数据:

SQL

 

然后,我们可以将数据保存在表中:

Python

 

我们将按以下方式在SingleStore中搜索匹配项:

Python

 

利用这些数据,我们可以要求LLM按以下方式定制电子邮件:

Python

 

例如,这是为Joseph生成的一封电子邮件:

Plain Text

 

总结

通过这个实际演示,我们看到SingleStore如何通过其多模型能力和AI驱动的个性化改进我们的电子邮件营销活动。将SingleStore作为我们的唯一真相来源,我们简化了工作流程,并确保我们的电子邮件营销活动为客户带来最大的影响和价值。

致谢

我感谢Wes Kennedy提供的原始演示代码,该代码已经为本文进行了适应。

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