> ## Documentation Index
> Fetch the complete documentation index at: https://pearsdb.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Sentiment analysis inside mysql with openai

## Introducción

En esta publicación de blog, presentamos cómo crear modelos de OpenAI dentro de MindsDB. Este ejemplo es un análisis de sentimientos donde inferimos las emociones detrás de un texto. Los datos de entrada se toman de nuestra base de datos MySQL de muestra.

## Requisitos previos

Para seguir este tutorial, puedes registrarte para obtener una cuenta en [cloud.mindsdb.com](https://cloud.mindsdb.com/register/nlp). Alternativamente, dirígete a la [documentación de MindsDB](https://docs.mindsdb.com/) y sigue las instrucciones para configurar manualmente una instancia local de MindsDB a través de [Docker](/setup/self-hosted/docker) o [pip](/setup/self-hosted/pip/source).

## Tutorial

En este tutorial, creamos un modelo predictivo para inferir emociones detrás de un texto, una tarea también conocida como análisis de sentimientos.

Utilizamos una tabla de nuestra base de datos de demostración pública de MySQL, así que comencemos conectando MindsDB a ella:

```sql theme={null}
CREATE DATABASE mysql_demo_db
WITH ENGINE = 'mysql',
PARAMETERS = {
    "user": "user",
    "password": "MindsDBUser123!",
    "host": "db-demo-data.cwoyhfn6bzs0.us-east-1.rds.amazonaws.com",
    "port": "3306",
    "database": "public"
};
```

Ahora que hemos conectado nuestra base de datos a MindsDB, consultemos los datos que se utilizarán en el ejemplo:

```sql theme={null}
SELECT *
FROM mysql_demo_db.amazon_reviews
LIMIT 3;
```

Aquí está la salida:

```sql theme={null}
+-----------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| 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 |
+-----------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
```

Creemos una tabla de modelo para identificar el sentimiento de todas las reseñas:

<Tip>
  Antes de crear un modelo de OpenAI, por favor crea un motor, proporcionando tu clave API de OpenAI:

  ```sql theme={null}
  CREATE ML_ENGINE openai_engine
  FROM openai
  USING
  	api_key = 'your-openai-api-key';
  ```
</Tip>

```sql theme={null}
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}}.":';
```

En la práctica, la `CREATE MODEL` declaración hace que MindsDB genere una tabla de IA llamada `sentiment_classifier_model` que utiliza la integración de OpenAI para predecir una columna llamada `sentiment`. El modelo reside dentro del proyecto `mindsdb` predeterminado. En MindsDB, los proyectos son una forma natural de mantener separados los artefactos, como modelos o vistas, según la tarea predictiva que resuelven. Puedes aprender más sobre los proyectos de MindsDB [aquí](/sql/project).

La cláusula `USING` especifica los parámetros que requiere este controlador.

* El parámetro `engine` define que usamos el motor `openai`.
* El parámetro `prompt_template` transmite la estructura de un mensaje que se completará con texto adicional generado por el modelo.

<Note>
  Sigue [esta instrucción](/integrations/ai-engines/openai#setup) para configurar la integración de OpenAI en MindsDB.
</Note>

Una vez que la declaración `CREATE MODEL` ha comenzado a ejecutarse, podemos verificar el estado del proceso de creación con la siguiente consulta:

```sql theme={null}
DESCRIBE sentiment_classifier_model;
```

Puede tardar un tiempo en registrarse como completo dependiendo de la conexión a internet. Una vez que la creación esté completa, el comportamiento es el mismo que con cualquier otra tabla de IA - puedes consultarla ya sea especificando datos sintéticos en la consulta real:

```sql theme={null}
SELECT review, sentiment
FROM sentiment_classifier_model
WHERE review = 'It is ok.';
```

Aquí están los datos de salida:

```sql theme={null}
+-----------+-----------+
| review    | sentiment |
+-----------+-----------+
| It is ok. | neutral   |
+-----------+-----------+
```

O uniéndola con otra tabla para predicciones por lotes:

```sql theme={null}
SELECT input.review, output.sentiment
FROM mysql_demo_db.amazon_reviews AS input
JOIN sentiment_classifier_model AS output
LIMIT 3;
```

Aquí están los datos de salida:

```sql theme={null}
+------------------------------------------------------------------------------------------------------+-----------+
| 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  |
+------------------------------------------------------------------------------------------------------+-----------+
```

La tabla `amazon_reviews` se utiliza para hacer predicciones por lotes. Al unir el modelo `sentiment_classifier_model` con la tabla `amazon_reviews`, el modelo utiliza todos los valores de la columna `review`.

## Aprovecha las capacidades de NLP con MindsDB

Al integrar bases de datos y OpenAI usando MindsDB, los desarrolladores pueden extraer fácilmente información de datos de texto con solo unos pocos comandos SQL. Estos potentes modelos de procesamiento de lenguaje natural (NLP) son capaces de responder preguntas con o sin contexto y completar indicaciones generales.

Además, estos modelos están impulsados por grandes modelos de lenguaje pre-entrenados de OpenAI, por lo que no hay necesidad de trabajo de desarrollo manual. En última instancia, esto proporciona a los desarrolladores una forma fácil de incorporar potentes capacidades de NLP en sus aplicaciones mientras ahorran tiempo y recursos en comparación con los métodos y pipelines de desarrollo de ML tradicionales. En resumen, ¡MindsDB hace posible que los desarrolladores aprovechen el poder de OpenAI de manera eficiente!

MindsDB es ahora la plataforma de aprendizaje automático aplicado de código abierto de más rápido crecimiento en el mundo. Su comunidad continúa contribuyendo a más de 70 integraciones de fuentes de datos y marcos de ML. ¡Mantente atento a las próximas características, incluyendo más control sobre los parámetros de interfaz y el ajuste fino de modelos directamente desde MindsDB!

Experimenta con los modelos de OpenAI dentro de MindsDB y desbloquea la capacidad de ML sobre tus datos en minutos. Recuerda [registrarte para una cuenta de demostración gratuita](https://cloud.mindsdb.com/register/nlp) y seguir los tutoriales, quizás esta vez usando tus propios datos.

Finalmente, si la visión de MindsDB de democratizar el ML te parece emocionante, dirígete a nuestro [Slack de la comunidad](https://mindsdb.com/joincommunity), donde puedes obtener ayuda y encontrar personas para charlar sobre el uso de otras fuentes de datos disponibles, marcos de ML, o escribir un controlador para traer el tuyo propio!

Sigue nuestra introducción a la integración de OpenAI de MindsDB [aquí](https://mindsdb.com/blog/extract-insights-from-text-inside-databases-using-openai-gpt3-and-mindsdb-integration). Además, tenemos una variedad de tutoriales que utilizan MySQL y MongoDB:

* [Respuesta a preguntas en MySQL](/es/nlp/question-answering-inside-mysql-with-openai)
* [Resumen de texto en MySQL](/es/nlp/text-summarization-inside-mysql-with-openai)
* [Análisis de sentimientos en MongoDB](/es/nlp/sentiment-analysis-inside-mongodb-with-openai)
* [Respuesta a preguntas en MongoDB](/es/nlp/question-answering-inside-mongodb-with-openai)
* [Resumen de texto en MongoDB](/es/nlp/text-summarization-inside-mongodb-with-openai)

## ¿Qué sigue?

¡Diviértete mientras lo pruebas tú mismo!

* Marca como favorito el [repositorio de MindsDB en GitHub](https://github.com/mindsdb/mindsdb).
* Regístrate para obtener una [cuenta gratuita de MindsDB](https://cloud.mindsdb.com/register/nlp).
* Participa con la comunidad de MindsDB en [Slack](https://mindsdb.com/joincommunity) o [GitHub](https://github.com/mindsdb/mindsdb/discussions) para hacer preguntas y compartir tus ideas y pensamientos.

Si este tutorial fue útil, por favor danos una estrella en GitHub [aquí](https://github.com/mindsdb/mindsdb).
