Mejora Tus Aplicaciones LLM con TruLens
En este tutorial, exploraremos cómo construir y evaluar un chatbot contextual, también conocido como un LLM conversacional con memoria, utilizando LangChain y TruLens. Nuestro enfoque estará en rastrear las respuestas del bot para monitorear métricas clave de moderación como el discurso de odio y el contenido malicioso, mientras optimizamos el rendimiento general y los costos.
¿Qué es TruLens?
TruLens es un poderoso conjunto de herramientas de evaluación diseñado para monitorear y mejorar el rendimiento de aplicaciones basadas en LLM. Al evaluar la calidad de las entradas, salidas y procesos internos, TruLens proporciona mecanismos de retroalimentación integrados para evaluaciones de fundamentación, relevancia y moderación. Además, acomoda necesidades de evaluación personalizadas y ofrece instrumentación esencial para varias aplicaciones LLM, incluyendo:
- Respuesta a preguntas
- Generación aumentada por recuperación
- Soluciones basadas en agentes
Esta capacidad permite a los usuarios monitorear diversas métricas de uso y metadatos, proporcionando valiosos conocimientos sobre el rendimiento del modelo.
Requisitos Previos
Para seguir este tutorial, necesitarás:
- Python 3.10+
- Conda (recomendado)
- Clave API de OpenAI
- Clave API de HuggingFace
Configuración
Comencemos creando un entorno virtual en una nueva carpeta e instalando las bibliotecas necesarias. Streamlit simplifica el almacenamiento seguro al proporcionar gestión de secretos basada en archivos para un fácil acceso a las claves API de tu aplicación.
Sigue estos pasos para incorporar tu clave API de OpenAI y el Token de Acceso de HuggingFace en los secretos de Streamlit. Crea un archivo .streamlit/secrets.toml
en tu directorio del proyecto e inserta las siguientes líneas, sustituyendo con tus claves:
[openai]
api_key = "TU_CLAVE_API_DE_OPENAI"
[huggingface]
access_token = "TU_TOKEN_DE_ACCESO_DE_HUGGINGFACE"
Con eso, ¡estamos listos para empezar a construir!
Construyendo el Chatbot
Crea un archivo chatbot.py
y ábrelo. Comienza importando las bibliotecas necesarias y cargando las variables de entorno.
Construcción de Cade
A continuación, construiremos nuestra cadena LLM utilizando un mensaje simple, que podremos mejorar más adelante según nuestros resultados de evaluación.
Integración de TruLens
Después de configurar tu cadena LLM, usa TruLens para la evaluación y el seguimiento. TruLens proporciona Funciones de Retroalimentación listas para usar y un marco extensible para la evaluación de LLM.
Una Función de Retroalimentación califica la salida de una aplicación LLM al analizar el texto y los metadatos generados. En esta configuración, rastrearemos la relevancia de las respuestas del bot y evaluaremos en busca de discurso de odio, violencia, autolesiones o respuestas maliciosas.
Construyendo la Interfaz de Usuario del Chatbot con Streamlit
Usaremos los elementos de chat de Streamlit, incluyendo st.chat_message
, st.chat_input
y st.session_state
, para crear una interfaz de usuario similar a ChatGPT.
Finalmente, inicializa el panel de TruLens al final del archivo:
if __name__ == '__main__':
TruLens.run() # Iniciando el panel de TruLens
Ejecutando el Chatbot
Ejecuta el chatbot usando el siguiente comando en tu terminal:
streamlit run chatbot.py
Se debería abrir una nueva pestaña en tu navegador en http://localhost:8501/, y también puedes acceder al panel de TruLens en http://192.168.0.7:8502/.
Evaluación y Mejora
Una vez que el chatbot esté en funcionamiento, evalúa su salida utilizando TruLens Eval y realiza modificaciones para mejorar el rendimiento. Por ejemplo, cambia tu plantilla de mensajes para que sea más atractiva para los usuarios.
Al refinar tus mensajes, puedes lograr puntuaciones de moderación significativamente mejoradas y respuestas más reflexivas. Experimentar con diferentes modelos, como pasar de chatgpt-3.5-turbo
a gpt-4
, y ajustar el app_id
, también puede producir diferentes resultados.
Conclusión
En este tutorial, construimos exitosamente un chatbot con memoria contextual integrado con TruLens para una evaluación integral. TruLens permite el monitoreo y la mejora continua de aplicaciones LLM al comparar varias configuraciones y desempeños de modelos.
Evaluar el impacto de configuraciones específicas de la cadena en la calidad de respuesta, costo y latencia es crucial en el desarrollo de aplicaciones LLM. La combinación de TruLens y LangChain forma un conjunto de herramientas eficaz para construir chatbots confiables que manejan contextos de manera efectiva, mientras permiten procesos de evaluación robustos.
Para el despliegue, considera subir tu aplicación a GitHub y conectar el repositorio a la plataforma Streamlit.
¡Gracias por seguir este tutorial!
Dejar un comentario
Todos los comentarios se revisan antes de su publicación.
Este sitio está protegido por hCaptcha y se aplican la Política de privacidad de hCaptcha y los Términos del servicio.