Как создать супер-приложение ChatGPT

SingleStore – мощная многомодельная система баз данных и платформа, разработанная для поддержки широкого спектра бизнес-кейсов. Ее характерные особенности позволяют бизнесу объединить несколько систем баз данных в единую платформу, снизить общую стоимость владения (TCO) и упростить рабочие процессы разработчиков, устраняя необходимость в сложных интеграционных инструментах.

В этой статье мы рассмотрим, как SingleStore может преобразить электронные рассылки для веб-аналитической компании, обеспечивая создание персонализированного и высокоточного контента для электронных писем.

Файл блокнота, используемый в статье, доступен на GitHub.

Введение

Веб-аналитическая компания полагается на электронные рассылки для взаимодействия с клиентами. Однако общий подход к таргетингу клиентов часто упускает возможности для максимизации бизнес-потенциала. Более эффективным решением было бы использование большой языковой модели (LLM) для создания персонализированных электронных сообщений.

Представим ситуацию, где данные о поведении пользователей хранятся в базе данных NoSQL, такой как MongoDB, в то время как ценные документы находятся в векторной базе данных, например, Pinecone. Управление этими множественными системами может стать сложным и ресурсоемким, подчеркивая необходимость в едином решении.

SingleStore, универсальная многомодельная база данных, поддерживает различные форматы данных, включая JSON, и предлагает встроенные векторные функции. Он без проблем интегрируется с LLM, делая его мощной альтернативой управлению несколькими системами баз данных. В этой статье мы продемонстрируем, насколько легко SingleStore может заменить как MongoDB, так и Pinecone, упрощая операции без ущерба функциональности.

В нашем примере приложения мы будем использовать LLM для генерации уникальных электронных писем для наших клиентов. Чтобы помочь LLM научиться целенаправленно обращаться к нашим клиентам, мы будем использовать несколько известных аналитических компаний в качестве учебного материала для LLM.

Мы также настроим контент на основе поведения пользователей. Данные клиентов хранятся в MongoDB. Различные этапы поведения пользователя хранятся в Pinecone. Поведение пользователя позволит LLM генерировать персонализированные электронные письма. Наконец, мы объединим данные, хранящиеся в MongoDB и Pinecone, используя SingleStore.

Создайте учетную запись в облаке SingleStore

В предыдущей статье показаны шаги по созданию бесплатной учетной записи в облаке SingleStore. Мы будем использовать Стандартный уровень и оставим имена по умолчанию для Группы Рабочих Пространств и Рабочего Пространства. Мы также включим SingleStore Kai.

Мы сохраняем наши ключи API OpenAI и Pinecone в хранилище секретов, используя OPENAI_API_KEY и PINECONE_API_KEY соответственно.

Импортировать блокнот

Мы загрузим блокнот с GitHub.

На левой панели навигации в портале облачного сервиса SingleStore мы выберем “DEVELOP” > “Data Studio.”

В правом верхнем углу веб-страницы мы выберем “New Notebook” > “Import From File.” Мы воспользуемся мастером для поиска и импорта блокнота, который мы загрузили с GitHub.

Запустим блокнот

Общий шаблон электронного письма

Мы начнем с создания общих шаблонов электронных писем, а затем используем LLM для преобразования их в персонализированные сообщения для каждого клиента. Таким образом, мы сможем обращаться к каждому получателю по имени и знакомить их с преимуществами нашей платформы веб-аналитики.

Мы можем создать общее электронное письмо следующим образом:

Python

 

Например, Алиса увидела бы следующее сообщение:

Plain Text

 

Другие пользователи получили бы то же самое сообщение, но с их именем, соответственно.

2. Добавление крупной языковой модели (LLM)

Мы можем легко внедрить LLM в наше приложение, предоставив ему роль и предоставив некоторую информацию, следуя таким образом:

Python

 

Мы создадим функцию для вызова LLM:

Python

 

Перебирая список пользователей и вызывая LLM, мы получаем уникальные электронные письма:

Python

 

Например, вот что могла бы увидеть Алиса:

Plain Text

 

Также будут сгенерированы уникальные письма для других пользователей.

3. Настройка содержимого электронной почты с учетом поведения пользователя

Путем категоризации пользователей на основе их поведенческих этапов мы можем дополнительно настраивать содержимое электронных писем, чтобы оно соответствовало их конкретным потребностям. LLM поможет создавать электронные письма, которые будут стимулировать пользователей двигаться через различные этапы, в конечном итоге улучшая их понимание и использование различных услуг.

В настоящее время данные пользователей хранятся в базе данных MongoDB с записной структурой, похожей на следующую:

JSON

 

Мы подключимся к MongoDB, чтобы получить данные следующим образом:

Python

 

Мы заменим <password> и <host> значениями из MongoDB Atlas.

У нас есть несколько этапов поведения пользователей:

Python

 

Используя данные об этапах поведения, мы попросим LLM дополнительно настроить электронное письмо следующим образом:

Python

 

Например, вот электронное письмо, сгенерированное для Майкла:

Plain Text

 

4. Дополнительная настройка содержимого электронного письма

Для поддержки прогресса пользователей мы будем использовать векторные вложения Pinecone, позволяющие направлять пользователей к соответствующей документации для каждого этапа. Эти вложения делают легким направление пользователей к важным ресурсам и дополнительно улучшают их взаимодействие с нашим продуктом.

Python

 

Мы создадим вложения следующим образом:

Python

 

Мы будем искать совпадения в Pinecone следующим образом:

Python

 

Используя данные, мы можем попросить LLM дополнительно настроить электронное письмо, следующим образом:

Python

 

Например, вот электронное письмо, сгенерированное для Мелиссы:

Plain Text

 

Мы видим, что мы улучшили общий шаблон и разработали довольно целевые электронные письма.

Используя SingleStore

Вместо управления отдельными системами баз данных мы оптимизируем наши операции, используя SingleStore. Благодаря его поддержке JSON, текста и векторных вложений, мы можем эффективно хранить все необходимые данные в одном месте, снижая общую стоимость владения и упрощая процессы разработки.

Мы будем загружать данные из MongoDB, используя конвейер, аналогичный следующему:

SQL

 

Мы заменим <primary>, <secondary>, <secondary> и <password> значениями из MongoDB Atlas.

Таблица клиентов будет создана конвейером. Векторные вложения для стадий поведения могут быть созданы следующим образом:

Python

 

Нам понадобится таблица для хранения данных:

SQL

 

Затем мы можем сохранить данные в таблицу:

Python

 

Мы будем искать совпадения в SingleStore следующим образом:

Python

 

Используя данные, мы можем запросить LLM на настройку электронной почты следующим образом:

Python

 

Например, вот электронное письмо, сгенерированное для Джозефа:

Plain Text

 

Итог

Через эту практическую демонстрацию мы увидели, как SingleStore улучшает наши электронные кампании благодаря своим возможностям мульти-моделирования и персонализации на основе искусственного интеллекта. Используя SingleStore в качестве нашего единственного источника правды, мы упростили наши рабочие процессы и обеспечили, что наши электронные кампании доставляют максимальный эффект и ценность нашим клиентам.

Благодарности

Я благодарю Веса Кеннеди за оригинальный демонстрационный код, адаптированный для этой статьи.

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