Con los avances en inteligencia artificial, desarrollar e implementar aplicaciones de modelos de lenguaje grandes (LLM) se ha vuelto cada vez más complejo y exigente. Para abordar estos desafíos, exploremos LangSmith.
LangSmith es una nueva plataforma DevOps de vanguardia diseñada para desarrollar, colaborar, probar, implementar y monitorear aplicaciones LLM.
En este artículo, exploraremos cómo depurar y probar LLM en LangSmith.
Descripción general
- Obtenga información sobre LangSmith para simplificar el desarrollo, las pruebas, la implementación y el monitoreo de aplicaciones de modelos de lenguaje grandes (LLM).
- Obtenga una comprensión de por qué LangSmith es esencial para gestionar las complejidades de los LLM.
- Descubra el conjunto completo de funciones que ofrece LangSmith.
- Descubra cómo LangSmith se integra con LangChain para agilizar la transición de la creación de prototipos a la producción.
- Comprenda los componentes principales de la interfaz de usuario de LangSmith para administrar y perfeccionar las aplicaciones LLM de manera efectiva.
¿Qué es LangSmith?
LangSmith es una plataforma integral que optimiza todo el ciclo de vida del desarrollo de aplicaciones LLM desde la creación hasta la producción.
Es una solución sólida adaptada a los requisitos únicos de trabajar con LLM, que son inherentemente masivos y computacionalmente intensivos.
Cuando estas aplicaciones LLM se implementan en producción o en casos de uso específicos, requieren una plataforma sólida para evaluar su rendimiento, mejorar su velocidad y rastrear sus métricas operativas.
¿Por qué es necesario LangSmith?
A medida que aumenta la adopción de los LLM, se hace evidente la necesidad de una plataforma dedicada a gestionar sus complejidades. Los modelos de lenguaje de gran tamaño requieren un uso intensivo de recursos computacionales y requieren una supervisión, optimización y colaboración continuas para lograr una eficacia y una fiabilidad reales. LangSmith aborda estas necesidades proporcionando un conjunto integral de funciones, incluida la producción de aplicaciones LLM, lo que garantiza una implementación sin problemas, una supervisión eficiente y un desarrollo colaborativo.
¿Por qué debería elegir LangSmith?
LangSmith ofrece un conjunto completo de funciones para llevar los LLM a la práctica en el mundo real. Exploremos estas funciones:
- Fácil de configurar: LangSmith es fácil de usar y permite iniciar experimentos rápidamente. Incluso un solo programador puede administrar y crear prototipos de aplicaciones de IA de manera eficiente con este marco.
- Monitoreo y visualización del rendimiento: el monitoreo y la visualización continuos son cruciales para evaluar cualquier modelo o aplicación de aprendizaje profundo. LangSmith ofrece una excelente arquitectura para la evaluación continua, lo que garantiza un rendimiento y una confiabilidad óptimos.
- Desarrollo colaborativo: LangSmith facilita la colaboración fluida entre desarrolladores, lo que permite un trabajo en equipo eficiente y una gestión de proyectos optimizada.
- Pruebas y depuración: la plataforma simplifica el proceso de depuración de nuevas cadenas, agentes o conjuntos de herramientas, lo que garantiza una rápida resolución de problemas.
- Gestión de conjuntos de datos: LangSmith admite la creación y gestión de conjuntos de datos para realizar ajustes, generar indicaciones y evaluar, lo que garantiza que los modelos se entrenen con datos de alta calidad.
- Análisis de producción: LangSmith captura análisis de producción detallados, proporcionando información valiosa para la mejora continua y la toma de decisiones informada.
Integración de LangChain
LangChain, un popular marco para crear aplicaciones con modelos de lenguaje grandes, simplifica la creación de prototipos de aplicaciones y agentes LLM.
Sin embargo, la transición de estas aplicaciones a producción puede resultar inesperadamente desafiante. La iteración de indicaciones, cadenas y otros componentes es esencial para crear un producto de alta calidad y LangSmith agiliza este proceso al ofrecer herramientas y funciones dedicadas.
¿Cómo resulta útil LangSmith en el desarrollo de aplicaciones LLM?
LangSmith aborda las necesidades críticas de desarrollo, implementación y mantenimiento de aplicaciones LLM de alta calidad en un entorno de producción. Con LangSmith, puede:
- Depure rápidamente una nueva cadena, agente o conjunto de herramientas, ahorrando tiempo y recursos valiosos.
- Cree y administre conjuntos de datos para realizar ajustes, generar sugerencias y evaluar, garantizando así que sus modelos estén entrenados con datos de alta calidad.
- Ejecute pruebas de regresión para avanzar su aplicación con confianza, minimizando el riesgo de introducir errores o regresiones.
- Capture análisis de producción para obtener información sobre el producto y realizar mejoras continuas, lo que permite tomar decisiones basadas en datos.
Otros servicios que LangSmith ofrece para la implementación de aplicaciones LLM
Además de sus características principales, LangSmith ofrece varios servicios potentes diseñados específicamente para el desarrollo e implementación de aplicaciones LLM:
- Rastreos: los rastreos brindan información sobre cómo se realizan las llamadas al modelo de lenguaje mediante LCEL (LangChain Expression Language). Puede rastrear los detalles de las llamadas LLM para ayudar con la depuración, identificar solicitudes que tardaron mucho tiempo en ejecutarse o detectar ejecuciones fallidas. Al analizar estos rastreos, puede mejorar el rendimiento general.
- Hub: El Hub es un espacio colaborativo para crear, crear versiones y comentar indicaciones. Como equipo, pueden crear una versión inicial de una indicación, compartirla y compararla con otras versiones para comprender las diferencias y las mejoras.
- Colas de anotación: las colas de anotación permiten agregar etiquetas humanas y comentarios a los seguimientos, lo que mejora la precisión y la eficacia de las llamadas LLM.
Con su conjunto integral de funciones y servicios, LangSmith está preparado para revolucionar la forma en que se desarrollan, implementan y mantienen las aplicaciones LLM.
Al abordar los desafíos únicos de trabajar con estos modelos poderosos, LangSmith permite a los desarrolladores y organizaciones aprovechar todo el potencial de los LLM, allanando el camino para un futuro en el que las aplicaciones impulsadas por IA se conviertan en una parte integral de nuestra vida diaria.
Componentes principales de la interfaz de usuario de LangSmith
La interfaz de usuario de LangSmith consta de cuatro componentes principales:
- Proyectos: el componente Proyectos es la base para crear nuevas aplicaciones LLM. Integra sin problemas múltiples modelos LLM de proveedores líderes como OpenAI y otras organizaciones. Este componente versátil permite a los desarrolladores aprovechar las capacidades de varios LLM, lo que les permite crear aplicaciones innovadoras y potentes adaptadas a sus necesidades específicas.
- Conjuntos de datos y pruebas: garantizar la calidad y la confiabilidad de las aplicaciones LLM es crucial, y la función Conjuntos de datos y pruebas de LangSmith desempeña un papel fundamental en este sentido. Permite a los desarrolladores crear y cargar conjuntos de datos diseñados para la evaluación y el entrenamiento. Estos conjuntos de datos se pueden utilizar para realizar evaluaciones comparativas, establecer la verdad fundamental para la evaluación o ajustar los LLM para mejorar su rendimiento y precisión.
- Colas de anotaciones: LangSmith reconoce la importancia de la retroalimentación humana para mejorar las aplicaciones LLM. El componente Colas de anotaciones permite a los usuarios agregar valiosas anotaciones y retroalimentación humana directamente a sus proyectos LLM. Esta función facilita la incorporación de información humana, lo que ayuda a refinar los modelos y mejorar su eficacia en situaciones del mundo real.
- Avisos: la sección Avisos es un centro centralizado para administrar e interactuar con avisos esenciales para guiar las aplicaciones LLM. Aquí, los desarrolladores pueden crear, modificar y experimentar con avisos, ajustándolos para lograr los resultados deseados. Este componente agiliza el proceso de desarrollo de avisos y permite mejoras iterativas, lo que garantiza que las aplicaciones LLM brinden respuestas precisas y relevantes.
Con sus funciones integrales y su arquitectura robusta, LangSmith permite a los desarrolladores crear, probar y perfeccionar de manera eficiente las aplicaciones LLM durante todo su ciclo de vida.
Desde el aprovechamiento de los últimos modelos LLM hasta la incorporación de comentarios humanos y la gestión de conjuntos de datos, LangSmith ofrece una experiencia fluida y optimizada que permite a los desarrolladores aprovechar todo el potencial de estas potentes tecnologías de inteligencia artificial.
¿Cómo crear un nuevo proyecto en LangSmith?
Paso 1: Explorar el proyecto predeterminado
Al registrarse en LangSmith, verá que ya hay un proyecto predeterminado habilitado y listo para explorar. Sin embargo, a medida que profundice en el desarrollo de aplicaciones LLM, probablemente desee crear proyectos personalizados adaptados a sus necesidades.
Paso 2: Crear un nuevo proyecto
Para emprender este viaje, simplemente diríjase a la sección “Crear nuevo proyecto” dentro de la plataforma LangSmith. Aquí, se le solicitará que proporcione un nombre para su proyecto, que debe ser descriptivo y representativo del propósito o dominio del proyecto.
Paso 3: Agregar una descripción del proyecto
Además, LangSmith ofrece la opción de incluir una descripción detallada de su proyecto. Esta descripción puede servir como una descripción general integral, que describa los objetivos del proyecto, los casos de uso previstos o cualquier otra información relevante que le ayudará a usted y a los miembros de su equipo a colaborar de manera eficaz y mantenerse alineados durante todo el proceso de desarrollo.
Paso 4: Incorporar conjuntos de datos
Una de las características clave de LangSmith es su capacidad de incorporar conjuntos de datos para fines de evaluación y capacitación. Al crear un nuevo proyecto, verá un menú desplegable con la etiqueta “Elegir predeterminado”. Inicialmente, es posible que este menú no muestre ningún conjunto de datos disponible. Sin embargo, LangSmith ofrece una manera sencilla de agregar sus conjuntos de datos personalizados.
Al hacer clic en el botón “Agregar conjunto de datos”, puede cargar o importar el conjunto de datos que desea utilizar para su proyecto. Puede ser una colección de archivos de texto, datos estructurados o cualquier otra fuente de datos relevante que será la base para evaluar y ajustar sus modelos LLM.
Paso 5: Incluir metadatos del proyecto
Además, LangSmith te permite incluir metadatos en tu proyecto. Los metadatos pueden abarcar una amplia gama de información, como etiquetas de proyecto, categorías o cualquier otro detalle relevante que te ayudará a organizar y gestionar tus proyectos de forma más eficaz.
Paso 6: Envíe su proyecto
Una vez que haya proporcionado los detalles necesarios del proyecto, incluido el nombre, la descripción (si corresponde), el conjunto de datos y los metadatos, puede enviar su nuevo proyecto para su creación. Con solo unos pocos clics, LangSmith configurará un espacio de trabajo dedicado para el desarrollo de su aplicación LLM con las herramientas y los recursos que necesita para hacer realidad sus ideas.
Paso 7: Acceda y administre su proyecto
Después de crear su nuevo proyecto en LangSmith, acceda a él fácilmente navegando hasta el ícono “Proyectos” y ordenando la lista alfabéticamente por nombre.
El proyecto que acabas de crear será visible. Simplemente haz clic en su nombre o en los detalles para abrir el espacio de trabajo dedicado y diseñado para el desarrollo de aplicaciones LLM. En este espacio de trabajo, encontrarás todas las herramientas y los recursos necesarios para desarrollar, probar y perfeccionar tu aplicación LLM.
Paso 8: Explora la sección “Test-1-Demo”
Acceda a la sección “Test-1-Demo”
A medida que profundiza en su nuevo proyecto dentro de LangSmith, notará la sección “Test-1-Demo”. Esta área proporciona una descripción general completa del rendimiento de su proyecto, incluida información detallada sobre pruebas rápidas, llamadas LLM, datos de entrada/salida y métricas de latencia.
Comprender las secciones vacías iniciales
Al principio, dado que aún no ha probado ningún mensaje mediante Prompt Playground ni ha ejecutado ninguna ejecución raíz o llamada LLM, las secciones “Todas las ejecuciones”, “Entrada”, “Salida” y “Todo sobre la latencia” pueden aparecer vacías. Sin embargo, aquí es donde las capacidades de análisis y filtrado de LangSmith realmente se destacan.
Paso 8.3: Utilizar “Total de tokens de estadísticas”
En el lado derecho, encontrarás la sección “Total de tokens de estadísticas”, que ofrece varias opciones de filtrado para ayudarte a obtener información sobre el rendimiento de tu proyecto. Por ejemplo, puedes aplicar filtros para identificar si hubo interrupciones durante la ejecución o para analizar el tiempo que tomó generar el resultado.
Exploremos el proyecto predeterminado de LangSmith para comprender mejor estas capacidades de filtrado. Al navegar al proyecto predeterminado y acceder a la sección “Test-1-Demo”, puede observar ejemplos reales de cómo se pueden aplicar estos filtros y los conocimientos que pueden brindar.
Aplicar opciones de filtrado
Las opciones de filtrado de LangSmith le permiten analizar en profundidad los datos de rendimiento. Además, le permiten identificar cuellos de botella, optimizar las indicaciones y ajustar sus modelos LLM para lograr una eficiencia y precisión óptimas.
Ya sea que le interese analizar la latencia, los recuentos de tokens o cualquier otra métrica relevante, las potentes herramientas de filtrado de LangSmith le permiten comprender en profundidad el rendimiento de su proyecto, lo que allana el camino para la mejora y el perfeccionamiento continuos.
Explorar filtros adicionales
Encontrará varias opciones y filtros para explorar en el proyecto “Predeterminado” en la sección “Prueba-1-Demo”. Una opción le permite ver los datos de los “Últimos 2 días”, lo que le brinda información sobre las métricas de rendimiento recientes.
Además, puede acceder a la opción “Llamadas LLM”. Esta opción ofrece información detallada sobre las interacciones entre su aplicación y las LLM empleadas, lo que le permite optimizar el rendimiento y la utilización de recursos.
Paso 9: Crear y probar indicaciones
Para analizar el rendimiento de su proyecto, deberá comenzar por crear un mensaje. Navegue hasta los íconos de la izquierda y seleccione la opción “Mensajes”, el último ícono de la lista. Aquí, puede crear un nuevo mensaje proporcionando un nombre descriptivo.
Una vez que haya creado el mensaje, proceda a la sección “Área de juegos de mensajes”. En esta área, puede ingresar su mensaje, ejecutarlo y observar varios factores, como latencia, resultados y otras métricas de rendimiento.
Al aprovechar el “Área de juegos de mensajes”, puede obtener información valiosa sobre el comportamiento de su proyecto, lo que le permitirá optimizar las ejecuciones raíz, las llamadas LLM y la eficiencia general.
Para explorar las capacidades de LangSmith, comience navegando a la sección “Prompts”, representada por el último ícono en el lado izquierdo de la interfaz. Aquí, puede crear un nuevo prompt proporcionando un nombre descriptivo.
Una vez que haya nombrado su prompt, proceda al área “Prompt Playground”. Este espacio dedicado le permite ingresar y ejecutar su prompt, lo que le permite analizar su rendimiento y observar varias métricas, como la latencia y los resultados.
Paso 11: Integrar claves y modelos API
A continuación, haz clic en el botón “+prompt”. Encontrarás campos para un mensaje del sistema y un mensaje humano.
Además , también puedes proporcionar tu clave API de OpenAI para utilizar modelos como ChatGPT 3.5 o ingresar sus respectivas claves API para utilizar otros modelos disponibles. Puedes probar varios modelos gratuitos.
Experimentación con mensajes humanos y del sistema en LangSmith
A continuación se muestra un ejemplo de mensaje del sistema y un mensaje humano para experimentar y analizar utilizando LangSmith:
Mensaje del sistema
Eres un consejero que responde preguntas generales de los estudiantes para ayudarlos con sus opciones profesionales. Necesitas extraer información del mensaje del usuario, incluido el nombre del estudiante, el nivel de estudios, las calificaciones actuales y las opciones profesionales que prefiere.
Mensaje humano
Buenos días. Soy Shruti y estoy muy confundida sobre qué materias tomar en la escuela secundaria el próximo semestre. En la clase 10, tomé especializaciones en matemáticas y biología. También me interesan las artes, ya que soy muy buena en bellas artes.
Sin embargo, mis calificaciones en matemáticas y biología no fueron muy buenas. Bajaron un 0,7 de GPA desde un 4 de GPA en la clase 9. La respuesta debe tener este formato: {nombre del estudiante: “”, nivel actual de estudios: “”, calificaciones actuales: “”, carrera: “”}
Al enviarlo seleccionando el modelo, puede ajustar parámetros como la temperatura para ajustar, modificar y mejorar su rendimiento. Después de recibir el resultado, puede monitorearlo para mejorar aún más el rendimiento.
Regrese al ícono del proyecto para ver una actualización sobre la experimentación de la solicitud. Haga clic en él para revisar y analizar los resultados.
Cuando selecciona las versiones de indicaciones que ha probado, puede revisar sus características detalladas para refinar y mejorar las respuestas de salida.
Podrás ver información como la cantidad de tokens utilizados, la latencia y los costos asociados. Además, puedes aplicar filtros en el panel lateral derecho para identificar los mensajes fallidos o aquellos que tardaron más de 10 segundos en generarse.
Esto te permite experimentar, realizar más análisis y mejorar el rendimiento.
Con la interfaz web proporcionada por LangSmith, puede rastrear, evaluar y monitorear sus versiones de indicaciones.
Puede crear indicaciones y elegir si desea mantenerlas públicas para compartirlas o privadas. Además, puede experimentar con anotaciones y conjuntos de datos para fines de evaluación comparativa.
Conclusión
En conclusión, puede crear una aplicación de Generación Aumentada por Recuperación (RAG) con una base de datos vectorial e integrarla sin problemas con LangChain y LangSmith.
Esta integración permite actualizaciones automáticas dentro de LangSmith, lo que mejora la eficiencia y la eficacia de su desarrollo LLM y su aplicación.
Esté atento al próximo artículo para profundizar en este proceso. Además, exploraremos características y técnicas avanzadas adicionales para optimizar aún más sus flujos de trabajo LLM.