如何建立一個 ChatGPT 超級應用程式

SingleStore 是一個功能強大的多模型數據庫系統和平台,旨在支持各種業務使用案例。其獨特功能使企業能將多個數據庫系統統一到一個平台中,降低總擁有成本(TCO),並通過消除對複雜集成工具的需求來簡化開發者工作流程。

在本文中,我們將探討 SingleStore 如何改變網絡分析公司的電子郵件活動,從而實現創建個性化和高度針對性的電子郵件內容。

本文中使用的筆記本文件可在 GitHub 上找到。

介紹

網絡分析公司依賴電子郵件活動來與客戶互動。然而,對客戶的通用定位方法通常會錯過最大化業務潛力的機會。一個更有效的解決方案將涉及使用大型語言模型(LLM)來製作個性化的電子郵件消息。

考慮一個情況,其中用戶行為數據存儲在 NoSQL 數據庫,如 MongoDB 中,而有價值的文檔存放在向量數據庫中,比如 Pinecone。管理這些多個系統可能變得複雜且消耗資源,進一步凸顯了統一解決方案的必要性。

SingleStore是一個多功能多模型數據庫,支持各種數據格式,包括JSON,並提供內置的向量函數。它與LLMs無縫集成,成為管理多個數據庫系統的強大替代方案。在本文中,我們將演示SingleStore如何輕鬆取代MongoDB和Pinecone,簡化操作而不影響功能。

在我們的示例應用程序中,我們將使用LLM為客戶生成唯一的電子郵件。為了幫助LLM學習如何針對我們的客戶,我們將使用一些知名的分析公司作為LLM的學習材料。

我們將根據用戶行為進一步定製內容。客戶數據存儲在MongoDB中。用戶行為的不同階段存儲在Pinecone中。用戶行為將使LLM能夠生成個性化的電子郵件。最後,我們將使用SingleStore整合存儲在MongoDB和Pinecone中的數據。

創建SingleStore Cloud帳戶

一篇先前的文章展示了創建免費SingleStore Cloud帳戶的步驟。我們將使用標準版,並使用默認的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提供角色並提供一些信息,輕鬆將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

 

例如,這是為約瑟夫生成的一封電子郵件:

Plain Text

 

摘要

通過這次實踐演示,我們看到 SingleStore 如何通過其多模型能力和 AI 驅動的個性化來改善我們的電子郵件活動。利用 SingleStore 作為我們的單一真相來源,我們簡化了工作流程,確保我們的電子郵件活動為客戶提供最大的影響和價值。

致謝

我感謝 Wes Kennedy 提供的原始演示代碼,該代碼已根據本文進行調整。

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