En nuestro mundo acelerado y dirigido por la IA, las empresas de todos los tamaños buscan formas de integrar sin problemas tecnologías avanzadas como los modelos de lenguaje grandes (LLMs) (opens new window) en sus operaciones diarias. Los beneficios potenciales son enormes, ya sea mejorando el servicio al cliente, automatizando tareas rutinarias u ofreciendo experiencias personalizadas.
Sin embargo, el camino desde el concepto hasta la implementación a menudo es desafiante, especialmente para aquellos sin un profundo conocimiento técnico. Los métodos tradicionales requieren un conocimiento de programación significativo, lo que puede ser una barrera para muchos.
Aquí es donde entra en juego Dify.AI (opens new window). Dify es una plataforma fácil de usar que simplifica la integración de LLMs en las operaciones comerciales, lo que la hace accesible incluso para usuarios no técnicos.
En este blog, te guiaremos a través de los pasos para desarrollar una aplicación de Generación con Recuperación Mejorada (RAG) (opens new window) utilizando Dify y MyScale, mostrándote lo simple que puede ser.
# ¿Qué es Dify?
Dify.AI (opens new window) es una plataforma de código abierto que facilita el uso de LLMs para todos, ya seas desarrollador o no. Con una interfaz sencilla y fácil de usar, Dify te permite construir, implementar y gestionar aplicaciones y chatbots impulsados por IA sin necesidad de tener muchos conocimientos de programación.
Lo que hace que Dify se destaque es su amplio soporte para diferentes LLMs, lo que te permite elegir el que mejor se adapte a tus necesidades. Está repleto de funciones como un motor de Generación con Recuperación Mejorada (RAG), automatización de flujos de trabajo, herramientas de observabilidad y seguridad a nivel empresarial, lo que lo convierte en una opción sólida para empresas de todos los tamaños.
La imagen de comparación a continuación muestra cómo se compara Dify con otras plataformas populares como LangChain (opens new window), Flowise (opens new window) y la API de OpenAI (opens new window) Assistants:
Dify ofrece dos versiones: una plataforma en la nube basada en web a la que cualquiera puede acceder sin necesidad de configuración, y una versión desplegable localmente para usuarios que prefieren autohospedaje en su entorno.
La versión de autohospedaje de Dify permite a los usuarios implementar la plataforma en su entorno, dándoles control total sobre los datos y la seguridad. Esta versión es ideal para empresas o desarrolladores que prefieren gestionar sus aplicaciones de IA en su infraestructura.
En este blog, utilizaremos la versión de autohospedaje de Dify para construir nuestra aplicación RAG.
# Descarga Dify
Para comenzar a configurar tu aplicación RAG, primero debes descargar la plataforma Dify. Esto se puede hacer clonando el repositorio desde GitHub (opens new window). Utiliza el siguiente comando para clonar el repositorio en tu entorno local:
git clone https://github.com/langgenius/dify.git
Esto te proporcionará todos los archivos y configuraciones necesarios para comenzar a trabajar con Dify en tu máquina.
# Selecciona la base de datos vectorial adecuada
La efectividad de una aplicación RAG depende en gran medida de lo eficiente y preciso que sea al recuperar documentos en respuesta a las consultas de los usuarios. Por defecto, Dify está configurado para utilizar weaviate
como su base de datos vectorial, que es una opción confiable para administrar y consultar conjuntos de datos grandes.
Sin embargo, para este blog, iremos un paso más allá al integrar MyScaleDB (opens new window), una base de datos vectorial avanzada basada en SQL. MyScaleDB ha demostrado un rendimiento superior en términos de velocidad y precisión, superando a otras bases de datos vectoriales en varios benchmarks (opens new window). Al utilizar MyScaleDB, podemos asegurarnos de que nuestra aplicación RAG recupere datos con la mayor precisión, optimizando la experiencia general del usuario.
# Cómo utilizar MyScaleDB en Dify
Dify admite tanto el MyScaleDB de código abierto (opens new window) como el MyScale Cloud (opens new window) a nivel empresarial. Si prefieres la versión de código abierto de MyScaleDB, puedes omitir esta sección.
Para comenzar con MyScale Cloud, visita la página de registro de MyScaleDB (opens new window) y crea una nueva cuenta. Una vez que hayas configurado tu cuenta, ve a la página de Clusters y haz clic en el botón "+ Nuevo Cluster" en la esquina superior derecha para crear un nuevo clúster.
Después de eso, ingresa el nombre del clúster, haz clic en el botón "Siguiente" y espera a que el clúster termine de iniciarse.
Haz clic en el botón "Acciones" en el lado derecho del clúster. Luego selecciona "Detalles de conexión" de la lista emergente.
Registra la información host/puerto/usuario/contraseña
de la pestaña "Python". Esta información se utilizará para configurar el acceso de Dify al clúster de MyScale.
# Integra MyScale con Dify
Para integrar MyScale con Dify, comienza creando una copia del archivo de ejemplo .env
. Para hacerlo, ingresa los siguientes comandos en tu terminal.
cd docker
cp .env.example .env
Esto generará un nuevo archivo .env
en tu repositorio de Docker. El siguiente paso es colocar los detalles obtenidos de tu clúster de MyScale en este archivo.
Para ello, abre el archivo .env
y sigue los siguientes pasos:
- Establece
VECTOR_STORE
enMyScale
VECTOR_STORE=MyScale
- Si estás utilizando MyScale Cloud, ajusta las configuraciones relevantes (puedes dejar
MyScale_DATABASE
sin cambios) en función de los detalles obtenidos de la página web de MyScale Cloud. Si estás utilizando MyScaleDB de código abierto, no se necesitan cambios para las siguientes configuraciones:
MYSCALE_HOST=tu-nombre-de-host-aquí
MYSCALE_PORT=8443
MYSCALE_USER=tu-nombre-de-usuario-aquí
MYSCALE_PASSWORD=tu-contraseña-aquí
MYSCALE_DATABASE=default
MySCALE_FTS_PARAMS=
MyScaleDB ofrece potentes funciones de búsqueda de texto completo, lo que facilita la búsqueda en conjuntos de datos de texto grandes. La variable MySCALE_FTS_PARAMS
te permite configurar estos parámetros de búsqueda, como la configuración de la tokenización y el ajuste de la sensibilidad a las mayúsculas y minúsculas, asegurando que tus búsquedas estén bien optimizadas para tus necesidades específicas.
En este blog, lo mantendremos simple utilizando el tokenizador predeterminado. Para hacer esto, simplemente agrega la siguiente línea a tu archivo .env
:
MySCALE_FTS_PARAMS='{"text":{"tokenizer":{"type":"default"}}}'
Nota: Si necesitas admitir varios idiomas, como documentos en chino, consulta la documentación oficial de MyScale (opens new window) para configurar el parámetro MySCALE_FTS_PARAMS
.
- Después de realizar estas modificaciones, inicia Dify de la siguiente manera:
docker compose up -d
Nota: Antes de ingresar el comando anterior, asegúrate de que Docker esté instalado y en ejecución en tu sistema. Si Docker no está instalado, puedes descargarlo e instalarlo desde el sitio web oficial de Docker (opens new window).
El comando anterior iniciará los servicios necesarios (Docker Compose pondrá en marcha las aplicaciones necesarias). Una vez que todos los servicios estén en estado "iniciado", abre tu navegador y ve a http://localhost (opens new window) para comenzar a usar Dify. Verás una página de inicio de sesión como esta:
El siguiente paso es configurar una cuenta de administrador e iniciar sesión en Dify. Una vez que hayas iniciado sesión, serás dirigido a la página de inicio.
En este punto, nuestra plataforma Dify y MyScaleDB están funcionando sin problemas. Ahora, podemos pasar a la implementación real del chatbot.
# Construye un chatbot con MyScale y Dify
# Paso 1: Configura la base de conocimientos
Ahora que todo está configurado, estamos listos para comenzar a construir el chatbot. Lo primero que necesitamos es una base de conocimientos que nuestro chatbot utilizará para responder a las consultas de los usuarios. Para comenzar, haz clic en el botón "Knowledge" y carga el archivo que deseas utilizar como base de conocimientos.
Dify te permite incorporar datos de diversas fuentes, como la sincronización con Notion o un sitio web.
Nota: Para nuestra base de conocimientos, hemos combinado el contenido de dos artículos MyScaleDB Vs Zilliz (opens new window) y MyScale Vs Pinecone (opens new window).
# Paso 2: Personaliza las opciones de la base de conocimientos
Después de cargar tu archivo, tendrás acceso a varias opciones de personalización, como ajustar el tamaño de los fragmentos, seleccionar el modelo de incrustación y elegir el tipo de búsqueda que deseas implementar.
Para el método de recuperación, seleccionaremos la opción de búsqueda de texto completo para mantener nuestras consultas de búsqueda ágiles y eficientes para datos textuales.
Nota: Para las incrustaciones de "Alta calidad", estamos utilizando los modelos de incrustación de OpenAI (opens new window). Para configurar la clave de OpenAI (opens new window) en tu entorno, haz clic en tu perfil en la esquina superior derecha, ve a configuración y configura la clave para la plataforma que deseas utilizar.
Haz clic en el botón "Guardar y Procesar", y el sistema tardará unos segundos en generar las incrustaciones y almacenar los datos en tu base de conocimientos (MyScaleDB). Una vez que los datos se hayan guardado, tu base de conocimientos estará completamente configurada.
# Paso 3: Crea y configura el chatbot
Ahora estamos listos para seleccionar la plantilla de chatbot desde el Studio e integrar la base de conocimientos con ella. En el Studio, selecciona "Chatbot", y luego haz clic en "Crear desde Cero" en el menú Crear APP. Aparecerá una ventana emergente que te guiará a través de los siguientes pasos.
Al hacer clic en el botón "Crear", se abrirá una nueva ventana donde podrás escribir tu indicación y agregar la base de conocimientos que creaste como contexto.
# Paso 4: Agrega la base de conocimientos al chatbot
En la ventana "Contexto", cuando hagas clic en el botón “+Agregar”, verás una lista de todos los archivos que has agregado a tu base de conocimientos. Simplemente selecciona el que deseas que tu chatbot utilice y haz clic en el botón "Agregar". De esta manera, tu chatbot tendrá el contexto adecuado para proporcionar respuestas precisas.
De la misma manera, puedes proporcionar instrucciones específicas a tu chatbot dentro del cuadro de instrucciones.
# Paso 5: Publica e implementa tu chatbot
¡Nuestro chatbot está listo para funcionar! El último paso es publicarlo. Simplemente haz clic en el botón Publicar en la esquina superior derecha, y verás un menú como este:
Simplemente haz clic en el botón "Actualizar" para guardar todos los cambios que hayas realizado en tu chatbot. Después de eso, haz clic en el botón 'Ejecutar App', y se abrirá una nueva ventana de chat.
Nota: Una vez que tu chatbot esté listo, Dify te permite incrustarlo fácilmente en cualquier lugar utilizando iframes. Simplemente selecciona la opción "Incrustar en sitio web" y copia el código del iframe. Esto te permite integrar el chatbot de manera transparente en tu sitio web o aplicación.
Simplemente haz clic en 'Iniciar Chat', y estarás listo para comenzar a usar tu chatbot.
En resumen, has construido un chatbot utilizando Dify y MyScaleDB, combinando facilidad de uso con capacidades de búsqueda potentes. Esta configuración te brinda una base sólida para crear aplicaciones impulsadas por IA que satisfagan tus necesidades. ¡Ahora estás listo para poner a trabajar a tu chatbot!
# Conclusión
Dify.AI (opens new window) es una plataforma avanzada de código abierto diseñada para hacer que el desarrollo de IA sea accesible para todos. Proporciona un conjunto completo de herramientas, que incluyen orquestación visual de indicaciones e opciones de integración fáciles, lo que permite a los usuarios crear potentes aplicaciones de IA sin necesidad de tener un amplio conocimiento técnico. Dify se enfoca en eliminar las barreras tradicionales para el desarrollo de IA, lo que permite una implementación rápida y eficiente de soluciones de IA complejas.
Por otro lado, MyScaleDB complementa a Dify como una confiable base de datos vectorial basada en SQL (opens new window) que maneja operaciones de datos a gran escala de manera efectiva. Su compatibilidad con SQL y sus potentes funciones de búsqueda la hacen ideal para aplicaciones de IA que requieren una gestión efectiva de datos. MyScaleDB garantiza que tus soluciones de IA sean escalables y de alto rendimiento, trabajando de la mano con las herramientas fáciles de usar de Dify.
Además, MyScaleDB ofrece a los nuevos usuarios un nivel de desarrollo gratuito para almacenar hasta 5 millones de vectores (768d), lo que la convierte en una excelente opción para aquellos que desean explorar y construir aplicaciones de IA sin costos iniciales.
Si deseas discutir más sobre la construcción de una aplicación RAG/GenAI, no dudes en contactarnos a través de Twitter (opens new window) o Discord (opens new window).