Анализ настроений с MindsDB и OpenAI с использованием SQL
Введение
В этом посте блога мы представляем, как создавать модели OpenAI в MindsDB. В этом примере мы проводим анализ настроений, чтобы выяснить эмоции, скрывающиеся за текстом. Входные данные берутся из нашей демонстрационной базы данных MySQL.
Требования
Чтобы следовать за нами, установите MindsDB локально через Docker или Docker Desktop.
Учебник
В этом учебнике мы создаем предсказательную модель для определения эмоций, скрывающихся за текстом, задача, также известная как анализ настроений. Мы используем таблицу из нашей публичной демонстрационной базы данных MySQL, поэтому давайте начнем с подключения MindsDB к ней:
CREATE DATABASE mysql_demo_db WITH ENGINE = 'mysql', PARAMETERS = { "user": "user", "password": "MindsDBUser123!", "host": "samples.mindsdb.com", "port": "3306", "database": "public" };
Теперь, когда мы подключили нашу базу данных к MindsDB, давайте запросим данные для использования в примере:
SELECT * FROM mysql_demo_db.amazon_reviews LIMIT 3;
Вот результат:
product_name | review |
---|---|
All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi, 16 GB - Includes Special Offers, Magenta | Late gift for my grandson. He is very happy with it. Easy for him (9yo ). |
All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi, 16 GB - Includes Special Offers, Magenta | I'm not super thrilled with the proprietary OS on this unit, but it does work okay and does what I n |
All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi, 16 GB - Includes Special Offers, Magenta | I purchased this Kindle Fire HD 8 was purchased for use by 5 and 8 yer old grandchildren. They basic |
Давайте создадим модель таблицы для определения настроений для всех отзывов:
Перед созданием модели OpenAI, пожалуйста, создайте движок, предоставив свой API-ключ OpenAI:
CREATE ML_ENGINE openai_engine FROM openai USING openai_api_key = 'your-openai-api-key';
CREATE MODEL sentiment_classifier_model PREDICT sentiment USING engine = 'openai_engine', prompt_template = 'describe the sentiment of the reviews strictly as "positive", "neutral", or "negative". "I love the product":positive "It is a scam":negative "{{review}}.":';
На практике оператор CREATE MODEL
инициирует создание AI таблицы под названием sentiment_classifier_model
, которая использует интеграцию OpenAI для предсказания столбца с названием sentiment
. Модель живет внутри проекта по умолчанию в MindsDB. В MindsDB проекты — это естественный способ держать артефакты, такие как модели или представления, отдельно в зависимости от того, какую предсказательную задачу они решают. Вы можете узнать больше о проектах MindsDB .
Клаузула USING
определяет параметры, которые требует этот обработчик. Параметр engine
определяет, что мы используем движок OpenAI. Параметр prompt_template
передает структуру сообщения, которое должно быть дополнено дополнительным текстом, сгенерированным моделью.
Следуйте этой инструкции, чтобы настроить интеграцию OpenAI в MindsDB. Как только оператор CREATE MODEL
начнет выполнение, мы можем проверить статус процесса создания с помощью следующего запроса:
DESCRIBE sentiment_classifier_model;
Это может занять некоторое время, чтобы зарегистрироваться как завершенное, в зависимости от интернет-соединения. Как только создание завершено, поведение такое же, как и с любой другой AI таблицей — вы можете запрашивать ее, либо указывая синтетические данные в фактическом запросе:
SELECT review, sentiment FROM sentiment_classifier_model WHERE review = 'It is ok.';
Вот выходные данные:
review | sentiment |
---|---|
It is ok. | neutral |
Или, объединив с другой таблицей для пакетного предсказания:
SELECT input.review, output.sentiment FROM mysql_demo_db.amazon_reviews AS input JOIN sentiment_classifier_model AS output LIMIT 3;
Вот выходные данные:
| review | sentiment | |------------------------------------------------------------------------------------------------------+-----------| | Late gift for my grandson. He is very happy with it. Easy for him (9yo ). | positive | | I'm not super thrilled with the proprietary OS on this unit, but it does work okay and does what I n | positive | | I purchased this Kindle Fire HD 8 was purchased for use by 5 and 8 yer old grandchildren. They basic | positive |
Таблица amazon_reviews
используется для выполнения пакетных предсказаний. При объединении модели sentiment_classifier_model
с таблицей amazon_reviews
модель использует все значения из столбца review
.
Используйте возможности NLP с MindsDB
Интегрируя базы данных и OpenAI с помощью MindsDB, разработчики могут легко извлекать инсайты из текстовых данных всего за несколько SQL-команд. Эти мощные модели обработки естественного языка (NLP) способны отвечать на вопросы с контекстом или без него и завершать общие подсказки. Более того, эти модели работают на основе больших предобученных языковых моделей от OpenAI, поэтому нет необходимости в ручной разработке. В конечном итоге это предоставляет разработчикам простой способ интегрировать мощные возможности NLP в свои приложения, экономя время и ресурсы по сравнению с традиционными методами разработки ML.
В целом, MindsDB позволяет разработчикам эффективно использовать мощь OpenAI! MindsDB теперь является самой быстрорастущей платформой прикладного машинного обучения с открытым исходным кодом в мире. Его сообщество продолжает вносить вклад в более чем 70 интеграций источников данных и ML-фреймворков. Следите за предстоящими функциями — включая больше контроля над параметрами интерфейса и тонкой настройкой моделей непосредственно из MindsDB!
Экспериментируйте с моделями OpenAI в MindsDB и разблокируйте возможности ML над вашими данными за считанные минуты. Наконец, если видение MindsDB по демократизации ML звучит захватывающе, присоединяйтесь к нашему сообществу в Slack, где вы можете получить помощь и найти людей для обсуждения использования других доступных источников данных, ML-фреймворков или написания обработчика для интеграции ваших собственных!
Следуйте нашему введению в интеграцию OpenAI с MindsDB . У нас также есть множество учебников, которые используют MySQL и MongoDB:
- Ответы на вопросы в MySQL
- Суммирование текста в MySQL
- Анализ настроений в MongoDB
- Ответы на вопросы в MongoDB
- Суммирование текста в MongoDB
Что дальше?
Получайте удовольствие, пробуя это самостоятельно! Добавьте репозиторий MindsDB на GitHub в закладки. Взаимодействуйте с сообществом MindsDB в Slack или GitHub, чтобы задавать вопросы и делиться своими идеями и мыслями. Если этот учебник был полезен, дайте нам звезду на GitHub .