> ## 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.

# Text summarization inside mongodb with openai

## Introducción

En esta publicación de blog, presentamos cómo crear modelos de OpenAI dentro de MindsDB. En este ejemplo, le pedimos a un modelo que proporcione un resumen de un texto. Los datos de entrada se toman de nuestra base de datos MongoDB 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).

## Cómo conectar MindsDB a una base de datos

Utilizamos una colección de nuestra base de datos de demostración pública de MongoDB, así que comencemos conectando MindsDB a ella.

Puedes usar [Mongo Compass](/es/connect/mongo-compass) o [Mongo Shell](/es/connect/mongo-shell) para conectar nuestra base de datos de muestra de esta manera:

```bash theme={null}
test> use mindsdb
mindsdb> db.databases.insertOne({
            'name': 'mongo_demo_db',
            'engine': 'mongodb',
            'connection_args': {
                "host": "mongodb+srv://user:MindsDBUser123!@demo-data-mdb.trzfwvb.mongodb.net/",
                "database": "public"
            }
        })
```

## Tutorial

En este tutorial, creamos un modelo predictivo para resumir un artículo.

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

```bash theme={null}
mindsdb> use mongo_demo_db
mongo_demo_db> db.articles.find({}).limit(3)
```

Aquí está la salida:

```bash theme={null}
{
  _id: '63d01398bbca62e9c7774ab8',
  article: "Video footage has emerged of a law enforcement officer…",
  highlights: 'The 53-second video features…"
}
{
  _id: '63d01398bbca62e9c7774ab9',
  article: "A new restaurant is offering a five-course…",
  highlights: "The Curious Canine Kitchen is…"
}
{
  _id: '63d01398bbca62e9c7774aba',
  article: 'Mother-of-two Anna Tilley survived after spending four days…',
  highlights: 'Experts have warned hospitals not using standard treatment…'
}
```

Creemos una colección de modelos para resumir todos los artículos del conjunto de datos de entrada:

```bash theme={null}
mongo_demo_db> use mindsdb
mindsdb> db.models.insertOne({
            name: 'text_summarization',
            predict: 'highlights',
            training_options: {
                        engine: 'openai',
                        prompt_template: 'provide an informative summary of the text text:{{article}} using full sentences'
                }
        })
```

En la práctica, el`insertOne`método hace que MindsDB genere una colección de IA llamada`text_summarization`que utiliza la integración de OpenAI para predecir un campo llamado`highlights`. El modelo se crea dentro del`mindsdb`proyecto 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 clave`training_options`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 el método`insertOne`ha comenzado la ejecución, podemos verificar el estado del proceso de creación con la siguiente consulta:

```bash theme={null}
mindsdb> db.getCollection('models').find({
            'name': 'text_summarization'
        })
```

Puede llevar un tiempo 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 colección de IA: puedes consultarla especificando datos sintéticos en la consulta real:

```bash theme={null}
mindsdb> db.text_summarization.find({
            article: "Apple's Watch hits stores this Friday when customers and employees alike will be able to pre-order the timepiece. And boss Tim Cook is rewarding his staff by offering them a 50 per cent discount on the device."
        })
```

Aquí están los datos de salida:

```bash theme={null}
{
  highlights: "Apple's Watch hits stores this Friday, and employees will be able to pre-order the",
  article: "Apple's Watch hits stores this Friday when customers and employees alike will be able to pre-order the timepiece. And boss Tim Cook is rewarding his staff by offering them a 50 per cent discount on the device."
}
```

O uniéndola con una colección para predicciones por lotes:

```bash theme={null}
mindsdb> db.text_summarization.find(
            {
                'collection': 'mongo_demo_db.articles'
            },
            {
                'text_summarization.highlights': 'highlights',
                'articles.article': 'article'
            }
        ).limit(3)
```

Aquí están los datos de salida:

```bash theme={null}
{
  highlights: 'A video has emerged of a law enforcement officer grabbing a cell phone from a woman who was',
  article: "Video footage has emerged of a law enforcement officer..."
}
{
  highlights: 'A new restaurant in London is offering a five-course drink-paired menu for dogs',
  article: "A new restaurant is offering a five-course..."
}
{
  highlights: "Sepsis is a potentially life-threatening condition that occurs when the body's response to an",
  article: 'Mother-of-two Anna Tilley survived after spending four days...'
}
```

La colección`articles`se utiliza para hacer predicciones por lotes. Al unir el modelo`text_summarization`con la colección`articles`, el modelo utiliza todos los valores del campo`article`.

## 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 flujos de trabajo tradicionales de desarrollo de ML. 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 los tuyos propios!

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:

* [Análisis de sentimientos en MySQL](/es/nlp/sentiment-analysis-inside-mysql-with-openai)
* [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)

## ¿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 te fue útil, por favor danos una estrella en GitHub[aquí](https://github.com/mindsdb/mindsdb).
