Empezando con MyScale a través del cliente de Python

Comenzando con MyScale a través del cliente de Python

Los datos son el corazón de casi todas las organizaciones hoy en día. A medida que los volúmenes de datos continúan creciendo exponencialmente, las empresas deben encontrar formas de almacenar, procesar y analizar sus datos de manera efectiva. Esto ha llevado a una explosión en el mercado de bases de datos, con las empresas utilizando tanto bases de datos SQL tradicionales como bases de datos vectoriales más nuevas para realizar diferentes tareas.

Sin embargo, cada tipo de base de datos tiene sus compensaciones. Las bases de datos SQL tradicionales ofrecen consistencia, precisión y facilidad de uso para datos estructurados, mientras que las bases de datos vectoriales están optimizadas para la velocidad y la escalabilidad, especialmente con grandes volúmenes de datos no estructurados. Pero, ¿qué pasaría si no tuvieras que elegir? ¿Y si hubiera una base de datos que te diera lo mejor de ambos mundos?

En este blog, vamos a echar un vistazo a MyScale desde lo más básico, como la creación de tablas y la definición de índices, hasta la búsqueda vectorial avanzada en SQL. Al final, también compararemos MyScale con otras bases de datos del mercado y veremos por qué MyScale es mejor. Así que, empecemos.

¿Qué es MyScale?

MyScale (abre una ventana nueva) es una base de datos vectorial SQL basada en la nube, especialmente diseñada y optimizada para gestionar grandes volúmenes de datos para aplicaciones de inteligencia artificial. Está construida sobre ClickHouse (abre una ventana nueva) (una base de datos SQL), combinando la capacidad de búsqueda de similitud vectorial con el soporte completo de SQL. En una sola interfaz, una consulta SQL puede aprovechar simultánea y rápidamente diferentes modalidades de datos para manejar demandas complejas de IA que, de lo contrario, requerirían más pasos y tiempo.

A diferencia de las bases de datos vectoriales especializadas, MyScale combina armoniosamente algoritmos de búsqueda vectorial con bases de datos estructuradas, lo que permite la gestión tanto de vectores como de datos estructurados dentro de la misma base de datos. Esta integración proporciona beneficios como una comunicación optimizada, filtrado adaptable de metadatos, soporte para consultas conjuntas SQL y vectoriales, y compatibilidad con herramientas maduras comúnmente asociadas con bases de datos versátiles de propósito general. En esencia, MyScale ofrece una solución unificada que proporciona un enfoque holístico, eficiente y fácil de aprender para abordar las complejidades de la gestión de datos de IA.

Cómo lanzar un clúster en MyScale

Antes de comenzar a usar MyScale en tu proyecto, lo primero que debes hacer es crear una cuenta y crear un clúster que almacenará tus datos. Aquí te mostramos los pasos:

  • Inicia sesión/Regístrate para obtener una cuenta de MyScale en myscale.com (abre una ventana nueva)
  • Una vez creada la cuenta, haz clic en el botón “+ Nuevo Clúster” en el lado derecho de la página
  • Ingresa el nombre del clúster y presiona el botón “Siguiente”
  • Espera a que se cree el clúster; llevará unos segundos

Una vez creado el clúster, verás el texto “Clúster lanzado exitosamente” en el botón emergente.

Ahora, el siguiente paso es configurar el entorno de trabajo y acceder al clúster en ejecución. Hagámoslo.

Configuración del entorno

Para usar MyScale en tu entorno, necesitas tener:

  • Python: MyScale proporciona una biblioteca de clientes de Python para interactuar con la base de datos, por lo que necesitarás tener Python instalado en tu sistema. Si no tienes Python instalado en tu PC, puedes descargarlo desde el sitio web oficial de Python (abre una ventana nueva).
  • Cliente de Python de MyScale: Instala el paquete del cliente de ClickHouse (abre una ventana nueva) utilizando pip:

Conexión con el clúster

El siguiente paso es conectar la aplicación Python con el clúster, y para la conexión, necesitamos los siguientes detalles:

  • Host del clúster
  • Nombre de usuario
  • Contraseña

Para obtener los detalles, puedes volver a tu perfil de MyScale, colocar el cursor sobre los tres puntos alineados verticalmente debajo del texto “Acciones” y hacer clic en “Detalles de conexión”.

Una vez que hagas clic en “Detalles de conexión”, verás el siguiente cuadro:

Estos son los detalles de conexión que necesitas para conectarte al clúster. Solo tienes que crear un archivo de cuaderno de Python en tu directorio, copiar y pegar el siguiente código en la celda del cuaderno y ejecutarla. Se establecerá una conexión con tu clúster.

Crear una base de datos

El siguiente paso es crear una base de datos en el clúster. Veamos cómo puedes hacerlo:

Crear una tabla utilizando MyScale

La sintaxis básica para crear una tabla en MyScale es la siguiente:

La cláusula ENGINE = tipo_de_motor es crucial para determinar el almacenamiento y procesamiento de datos. Puedes especificar la expresión ORDER BY, que determina cómo se almacenan físicamente los datos en la tabla. La expresión PRIMARY KEY se utiliza para mejorar la eficiencia de la recuperación de datos. A diferencia de las bases de datos SQL tradicionales, la clave primaria en ClickHouse no impone unicidad, sino que se utiliza como una herramienta de optimización de rendimiento para acelerar el procesamiento de consultas.

Importar datos para una tabla y crear un índice

Pongamos en práctica importando un conjunto de datos y luego aprenderemos a crear una columna contra el conjunto de datos.

Insertar datos en la tabla definida

Después del proceso de creación de la tabla, el siguiente paso es insertar los datos en la tabla. Para ello, insertaremos los datos que hemos descargado anteriormente.

Crear un índice vectorial

El siguiente paso es crear un índice vectorial. Veamos cómo se hace.

El índice vectorial MSTG ha sido creado por MyScale en sus instalaciones, y ha superado a sus competidores por amplio margen en términos de velocidad, precisión y eficiencia de costo.

Para verificar si el índice vectorial ha sido creado con éxito, probaremos este comando:

Escribir diferentes tipos de consultas SQL utilizando MyScale

MyScale te permite escribir diferentes tipos de consultas, desde las más básicas hasta las más complicadas. Comencemos con una consulta muy básica.

Esto debería imprimir los 10 vecinos más cercanos de la entrada proporcionada.

Escribir consultas en lenguaje natural utilizando MyScale

También puedes hacer consultas a MyScale utilizando lenguaje natural, pero para eso, crearemos otra tabla con nuevos datos con características de redes neuronales.

Antes de crear la tabla, carguemos los datos. El archivo original se puede descargar aquí (abre una nueva ventana).

MyScale lidera el camino en bases de datos vectoriales SQL

MyScale se destaca en el mercado de bases de datos vectoriales SQL con una precisión, rendimiento y eficiencia de costo inigualables. Supera a otras bases de datos vectoriales integradas como pgvector y bases de datos vectoriales especializadas como Pinecone, logrando una mayor precisión de búsqueda y un procesamiento de consultas más rápido a un menor costo. Además de su rendimiento, la interfaz SQL es altamente amigable para los desarrolladores, ofreciendo el máximo valor con un aprendizaje mínimo necesario.

MyScale realmente marca la diferencia. No se trata solo de una mejor búsqueda a través de vectores; ofrece una alta precisión y consultas por segundo (QPS) en escenarios que involucran filtros de metadatos complejos. Además, lo más importante es que si te registras, puedes usar el pod S1 de forma gratuita, que puede manejar hasta 5 millones de vectores. Es la elección ideal para cualquier persona que necesite una solución poderosa pero rentable de base de datos vectorial.

MyScale potencia aplicaciones con integraciones de IA

MyScale mejora sus capacidades y te permite crear aplicaciones más robustas mediante la integración con tecnologías de IA. Veamos algunas de esas integraciones donde puedes mejorar tu aplicación MyScale.

Integración con LangChain

En el mundo actual, donde los casos de uso de aplicaciones de IA están aumentando día a día, no puedes crear una aplicación de IA robusta simplemente combinando LLMs con bases de datos. Tendrás que utilizar diferentes marcos y herramientas para desarrollar aplicaciones mejores. En este sentido, MyScale ofrece una completa integración con LangChain (abre una nueva ventana), lo que te permite crear aplicaciones de IA más efectivas y confiables con una estrategia de recuperación avanzada. El recuperador de autoconsultas para MyScale (abre una nueva ventana) implementa un método flexible y potente para convertir texto en consultas vectoriales filtradas por metadatos, logrando una alta precisión en muchos escenarios del mundo real.

Integración con OpenAI

Al integrar MyScale con OpenAI, puedes mejorar significativamente la precisión y robustez de tu aplicación de IA. OpenAI te permite obtener los mejores vectores de incrustación, manteniendo el contexto y la semántica. Esto es muy importante cuando aplicas la búsqueda vectorial utilizando consultas de lenguaje natural o extraes incrustaciones de tus datos. Así es como puedes mejorar la precisión y exactitud de tus aplicaciones. Para obtener una comprensión más detallada, puedes leer nuestra integración con OpenAI (abre una nueva ventana).

Recientemente, OpenAI lanzó GPTs, permitiendo a los desarrolladores personalizar fácilmente GPTs y chatbots. MyScale se adapta a este cambio, transformando el desarrollo del sistema RAG al inyectar sin problemas contextos del lado del servidor en los modelos GPT. MyScale agiliza la inyección de contexto con filtrado de datos estructurados y búsqueda semántica a través de cláusulas WHERE de SQL, optimizando el almacenamiento de la base de conocimientos de manera rentable y permitiendo compartir en varios GPTs. Te invitamos a probar MyScaleGPT (abre una nueva ventana) en GPT Store o conectar tu base de conocimientos a GPTs con MyScale (abre una nueva ventana).

Conclusión

A medida que las aplicaciones de IA y aprendizaje automático van creciendo, hay una creciente necesidad de bases de datos como MyScale, diseñadas especialmente para estas aplicaciones modernas de IA. MyScale es una base de datos de vectores SQL de vanguardia que combina la velocidad y funcionalidades de las bases de datos tradicionales con capacidades de búsqueda de vectores de última generación. Esta combinación es perfecta para potenciar las aplicaciones de IA.

Lo más importante, debido a la plena compatibilidad de MyScale con la sintaxis SQL, cualquier desarrollador familiarizado con SQL puede comenzar rápidamente con MyScale. Además, los costos en MyScale son significativamente más bajos que otros tipos de bases de datos de vectores (abre una nueva ventana). Esto hace de MyScale una opción convincente para las empresas que manejan volúmenes importantes de datos, ya que ofrece una ventaja distintiva en la construcción de aplicaciones GenAI de producción con la familiaridad y potencia de SQL. Si deseas mantenerte actualizado sobre MyScale, te invitamos a unirte hoy a nuestro servidor de Discord o seguirnos en Twitter.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Ve este nuevo sistema de IA llamado Estudiante de Juegos (SoG) que es capaz de vencer a los humanos en una variedad de juegos y aprender a jugar nuevos'.

Existe una larga tradición de utilizar juegos como indicadores de rendimiento de la IA. Los enfoques basados ​​en bús...

Inteligencia Artificial

OpenAI abre las puertas a la IA empresarial

Aproveche las soluciones empresariales de OpenAI para la automatización, personalización y cumplimiento de negocios. ...

Inteligencia Artificial

Mejora el rendimiento de la inferencia para LLMs con los nuevos contenedores de Amazon SageMaker

Hoy, Amazon SageMaker lanza una nueva versión (0.25.0) de los Contenedores de Aprendizaje Profundo (DLC) para Inferen...

Inteligencia Artificial

No es el Vader que piensas 3D VADER es un modelo de IA que difunde modelos 3D

La generación de imágenes nunca ha sido tan fácil. Con el surgimiento de los modelos de IA generativos, el proceso se...