Skip to content

Debugging Guide for LangChain Chainlit Workshop #1

@eviordevelopments

Description

@eviordevelopments

Debugging Guide for LangChain Chainlit Workshop

Este archivo documenta los errores comunes encontrados durante el desarrollo del proyecto, junto con los comandos y pasos utilizados para solucionarlos. Incluye problemas relacionados con dependencias, módulos, entorno virtual, puertos y herramientas.


Errores y Soluciones

1. Error: ImportError: cannot import name 'ToolMessage' from 'langchain_core.tools'

Descripción: El módulo langchain_core.tools no contiene la clase ToolMessage. Esto puede deberse a un cambio en la API de langchain_core o a una versión incompatible.

Solución: * Actualizar langchain-core: pip install --upgrade langchain-core

  • Eliminar la importación si no es necesaria: En el archivo app.py, elimina o comenta la línea: from langchain_core.tools import ToolMessage
  • Revisar la documentación oficial de LangChain: Verifica si ToolMessage ha sido renombrado o reemplazado.

2. Error: ImportError: cannot import name 'TOOLS' from 'tools'

Descripción: El archivo tools.py no contiene la definición de TOOLS o no está siendo importado correctamente.

Solución: * Verificar el archivo tools.py: Asegúrate de que TOOLS esté definido correctamente: TOOLS = [get_weather]

  • Probar la importación directamente: Ejecuta el siguiente comando en el intérprete de Python para verificar que TOOLS se importe correctamente: python -c "from tools import TOOLS; print(TOOLS)"
  • Eliminar caché de Python: Si el problema persiste, elimina los archivos .pyc y las carpetas __pycache__: find . -name "pycache" -exec rm -r {} +

3. Error: Permission denied al intentar crear o modificar archivos

Descripción: El script no tiene permisos para acceder o modificar ciertos archivos o directorios, como .bash_profile, .zshrc, o .config.

Solución: * Verificar permisos: ls -l /ruta/del/archivo

  • Cambiar permisos: chmod u+w /ruta/del/archivo
  • Cambiar propietario (si es necesario): sudo chown $(whoami) /ruta/del/archivo

4. Error: Puerto 8000 ocupado

Descripción: El puerto 8000 está siendo utilizado por otro proceso, lo que impide que la aplicación se inicie.

Solución: * Identificar el proceso que usa el puerto: lsof -i :8000

  • Matar el proceso: kill -9 <PID>
  • Verificar que el puerto esté libre: lsof -i :8000
  • Solución Rápida: kill -9 $(lsof -t -i:8000)

5. Error: Variables de entorno no configuradas (WEATHER_API_KEY, GITHUB_TOKEN)

Descripción: Las variables de entorno necesarias para la aplicación no están configuradas.

Solución: * Agregar las variables al archivo .env: env WEATHER_API_KEY=tu_api_key GITHUB_TOKEN=tu_github_token

  • Cargar las variables en el entorno: Asegúrate de que load_dotenv() esté presente en el código:
    from dotenv import load_dotenv
    load_dotenv()

6. Error: ModuleNotFoundError al instalar dependencias

Descripción: Faltan dependencias necesarias para ejecutar el proyecto.

Solución: * Instalar dependencias desde requirements.txt: pip install -r requirements.txt

  • Instalar dependencias específicas: pip install chainlit langchain langchain-core python-dotenv httpx
  • Reinstalar dependencias (si hay conflictos): pip install --force-reinstall chainlit langchain langchain-core python-dotenv httpx

7. Error: Entorno virtual no activado

Descripción: El entorno virtual no está activado, lo que puede causar problemas con las dependencias.

Solución: * Activar el entorno virtual: source .venv/bin/activate

  • Crear un nuevo entorno virtual (si es necesario): python3 -m venv .venv
    source .venv/bin/activate

8. Error: chainlit no detecta callbacks (on_chat_start, on_message)

Descripción: Chainlit requiere al menos un callback configurado (on_chat_start, on_message, o on_audio_chunk).

Solución: * Agregar un callback básico: python @cl.on_chat_start async def start(): await cl.Message(content="Chat started!").send()

  • Verificar que el archivo correcto se esté ejecutando: chainlit run app.py

Comandos Clave para Debugging

Problema Comando
Verificar versión de langchain-core pip show langchain-core
Actualizar dependencias pip install --upgrade langchain-core
Verificar importación de TOOLS python -c "from tools import TOOLS; print(TOOLS)"
Eliminar caché de Python find . -name "pycache" -exec rm -r {} +
Verificar permisos ls -l /ruta/del/archivo
Cambiar permisos chmod u+w /ruta/del/archivo
Liberar puerto 8000 lsof -i :8000 y kill -9 <PID>
Activar entorno virtual source .venv/bin/activate
Instalar dependencias pip install -r requirements.txt

Resumen Final

Este proyecto requiere una configuración adecuada del entorno virtual, dependencias actualizadas y variables de entorno configuradas. Los errores más comunes incluyen problemas con las dependencias (langchain-core), permisos, y puertos ocupados. Asegúrate de seguir los pasos de solución y utilizar los comandos clave para depurar problemas rápidamente.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions