ChatGPTスーパーアプリの構築方法

SingleStoreは、幅広いビジネスユースケースをサポートするために設計された強力なマルチモデルデータベースシステムおよびプラットフォームです。その特長的な機能により、企業は複数のデータベースシステムを単一のプラットフォームに統合し、総所有コスト(TCO)を削減し、複雑な統合ツールの必要性を排除することで、開発者のワークフローを簡素化できます。

本記事では、SingleStoreがWeb解析会社の電子メールキャンペーンを変革し、パーソナライズされた高精度な電子メールコンテンツの作成を可能にする方法について探っていきます。

記事で使用されているノートブックファイルは、GitHubで入手可能です。

はじめに

Web解析会社は顧客との関係を築くために電子メールキャンペーンを活用しています。しかし、顧客をターゲットにするための一般的なアプローチでは、ビジネスの潜在能力を最大限に活用する機会を逃してしまうことがよくあります。より効果的な解決策は、大規模言語モデル(LLM)を使用してパーソナライズされた電子メールメッセージを作成することです。

ユーザーの行動データがMongoDBなどのNoSQLデータベースに格納されている一方で、貴重な文書はPineconeなどのベクトルデータベースに存在していると考えてください。これらの複数のシステムを管理することは複雑でリソースが多く必要とされることがあり、統合された解決策の必要性を浮き彫りにします。

SingleStoreは多目的なマルチモデルデータベースで、JSONを含むさまざまなデータ形式をサポートし、組み込みのベクトル関数を提供しています。LLMsとシームレスに統合され、複数のデータベースシステムを管理する強力な代替手段となります。この記事では、SingleStoreがMongoDBとPineconeの両方を簡素化し、機能性を損なうことなく置き換える方法を示します。

この例のアプリケーションでは、LLMを使用して顧客向けのユニークな電子メールを生成します。LLMが顧客をターゲットする方法を学習するために、複数の有名な分析会社をLLMの学習資料として使用します。

さらに、ユーザーの行動に基づいてコンテンツをカスタマイズします。顧客データはMongoDBに格納されます。ユーザーの行動の異なる段階はPineconeに格納されます。ユーザーの行動により、LLMはパーソナライズされた電子メールを生成することができます。最後に、SingleStoreを使用してMongoDBとPineconeに格納されているデータを統合します。

SingleStore Cloudアカウントを作成します

以前の記事では、無料のSingleStore Cloudアカウントを作成する手順が示されています。Standard Tierを使用し、Workspace GroupとWorkspaceのデフォルト名を使用します。また、SingleStore Kaiを有効にします。

OpenAI APIキーとPinecone APIキーを秘密のボールトOPENAI_API_KEYPINECONE_API_KEYを使用して格納します。

ノートブックをインポートします

GitHubからノートブックをダウンロードします。

SingleStoreクラウドポータルの左側のナビゲーションペインから、「DEVELOP」>「Data Studio」を選択します。

ウェブページの右上部で、「New Notebook」>「Import From File」を選択します。GitHubからダウンロードしたノートブックをインポートするためにウィザードを使用します。

ノートブックを実行します。

汎用メールテンプレート

まず、汎用の電子メールテンプレートを生成し、それをLLMを使用して各顧客向けのパーソナライズされたメッセージに変換します。これにより、各受信者の名前でアプローチし、Web分析プラットフォームの利点を紹介できます。

以下のようにして汎用の電子メールを生成できます:

Python

 

例えば、Aliceは次のメッセージを見ることになります:

Plain Text

 

他のユーザーも同じメッセージを受け取りますが、それぞれの名前が入ります。

2. 大規模言語モデル(LLM)の追加

役割を与え、いくつかの情報を提供することで、簡単にLLMをアプリケーションに取り込むことができます。

Python

 

LLMを呼び出すための関数を作成します。

Python

 

ユーザーのリストをループ処理し、LLMを呼び出すことでユニークなメールを生成します。

Python

 

例えば、これがAliceが見る内容です:

Plain Text

 

他のユーザーにも同様にユニークなメールが生成されます。

3. ユーザーの行動に応じた電子メールコンテンツのカスタマイズ

ユーザーの行動段階に基づいてユーザーをカテゴリ分けすることで、特定のニーズに合わせたEメールコンテンツをさらにカスタマイズできます。 LLMは、異なる段階を進行するユーザーを促進するためのEメール作成を支援し、最終的にはさまざまなサービスの理解と使用を向上させます。

現在、ユーザーデータはMongoDBデータベースに保持されており、次のようなレコード構造を持っています:

JSON

 

次のようにMongoDBに接続してデータを取得します:

Python

 

<password><host>をMongoDB Atlasからの値で置き換えます。

いくつかのユーザーの行動段階があります:

Python

 

行動段階に関するデータを使用して、次のようにLLMにEメールをさらにカスタマイズするよう依頼します:

Python

 

たとえば、次はMichael向けに生成されたEメールです:

Plain Text

 

4. Eメールコンテンツのさらなるカスタマイズ

ユーザーの進捗をサポートするために、Pineconeのベクトル埋め込みを使用し、各段階に適したドキュメントにユーザーを誘導できます。 これらの埋め込みを使用すると、ユーザーを重要なリソースに誘導し、製品とのやりとりをさらに向上させることができます。

Python

 

埋め込みを作成します:

Python

 

次のようにPineconeを検索します:

Python

 

データを使用して、LLMにEメールをさらにカスタマイズするよう依頼できます:

Python

 

たとえば、次はMelissa向けに生成されたEメールです:

Plain Text

 

一般的なテンプレートを洗練させ、ターゲットを絞ったEメールを開発しました。

SingleStoreを使用

別々のデータベースシステムを管理する代わりに、SingleStoreを使用して業務を効率化します。JSON、テキスト、ベクトル埋め込みをサポートしているため、すべての必要なデータを効率的に1か所に保存し、TCOを削減し、開発プロセスを簡素化できます。

次のようなパイプラインを使用してMongoDBからデータを取り込みます:

SQL

 

次の値で<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