Ir al contenido principal

Entradas

Entrenamiento de Modelos de Lenguaje: Entendiendo Fine-Tuning y LoRA

Entrenamiento de Modelos de Lenguaje: Entendiendo Fine-Tuning y LoRA Introducción Entrenar una inteligencia artificial no siempre significa empezar desde cero. Hoy, la mayoría de los proyectos parte de modelos base preentrenados —como LLaMA, Mistral o Gemma— y los adapta a tareas o dominios específicos. Esta fase de adaptación es donde entran en juego dos conceptos fundamentales: fine-tuning y LoRA . ¿Qué es el Fine-Tuning? El fine-tuning es un proceso de entrenamiento adicional aplicado a un modelo ya preentrenado. Su objetivo es ajustar los pesos internos para que el modelo aprenda un nuevo comportamiento o conocimiento. Por ejemplo, un modelo general puede transformarse en uno especializado en medicina, derecho o atención al cliente. Para lograrlo, se necesita un conjunto de datos bien estructurado (instrucciones y respuestas) y una cantidad considerable de recursos computacionales. El resultado final es...

Tutorial: Servidor IA con Sanic

Tutorial: Servidor IA con Sanic (normalizador) Guía completa para crear, ejecutar y desplegar un microservicio IA construido con Sanic y Google Generative AI. Código listo para copiar/pegar. 1. Crear entorno y proyecto mkdir normalizador cd normalizador python3 -m venv venv source venv/bin/activate # En Windows: venv\Scripts\activate 2. Instalar dependencias pip install sanic google-generativeai python-dateutil # Opcional (para Swagger / sanic-ext): pip install "sanic[ext]" 3. Estructura de carpetas Crear la siguiente estructura: normalizador/ ├── venv/ ├── app/ │ ├── __init__.py │ ├── app.py │ ├── config.py │ ├── services.py │ ├── normalizador_funcion.py │ ├── google_keys.json └── requirements.txt (opcional) 4. Código principal: app/app.py from sanic import Sanic, response from sanic.request import Request from sanic.response import json, text from app.services import analyze_question_with_ai, generate_rag_response, get_gemm...

Sistema de Videovigilancia Inteligente

Sistema de Videovigilancia con IA Documento Técnico de Requisitos Sistema de Videovigilancia Inteligente con IA Detección inteligente de comportamientos anómalos en tiempo real 1. Objetivo General Desarrollar un sistema de videovigilancia capaz de detectar movimiento, comportamientos anómalos y posibles intenciones de robo en tiempo real, utilizando cámaras y modelos de inteligencia artificial (IA) integrados en una arquitectura escalable y ética. 2. Alcance del Sistema 👤 Detección Humana Identificación de movimiento humano en escena. 🎯 Análisis de Comportamiento Identificación de patrones sospechosos. ⚠️ Alertas Tempranas Ge...

Guía para Instalar y Configurar Jetty 12 en Ubuntu

Guía para Instalar y Configurar Jetty 12 en Ubuntu Jetty es un servidor web y contenedor de servlets basado en Java, conocido por ser ligero, de alto rendimiento y fácil de embebeder en aplicaciones. Esta guía te llevará a través del proceso de instalación en el directorio /srv y configuración para usar el puerto 8010 . Paso 1: Prerrequisitos e Instalación de Java Jetty 12 requiere Java 17 o superior. Para instalar el JDK en Ubuntu, abre una terminal y ejecuta: sudo apt update && sudo apt upgrade -y sudo apt install openjdk-17-jdk -y Verifica que la instalación fue exitosa: java -version Paso 2: Descargar e Instalar Jetty 12 en /srv Crea el directorio y descarga Jetty 12.0.27 directamente desde el repositorio de Maven: # Crear el directorio /srv/jetty si no existe sudo mkdir -p /srv/jetty cd /srv/jetty # Descargar Jetty 12.0.27 sudo wget https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-home/12.0.27/jetty-home-12.0.27....

Usar JTE con Quarkus y Gradle

Usar JTE con Quarkus y Gradle (Java 21) Este tutorial muestra cómo integrar el motor de plantillas JTE en un proyecto Quarkus usando Gradle, con plantillas precompiladas para un rendimiento óptimo. 1. Crear el proyecto Quarkus mvn io.quarkus.platform:quarkus-maven-plugin:3.15.1:create \ -DprojectGroupId=app.quebracho \ -DprojectArtifactId=quebracho \ -DclassName="app.quebracho.service.HelloResource" \ -Dpath="/hello" 2. Configurar build.gradle plugins { id 'java' id 'io.quarkus' id 'gg.jte.gradle' version '3.1.9' } repositories { mavenCentral() mavenLocal() } dependencies { implementation enforcedPlatform("${quarkusPlatformGroupId}:${quarkusPlatformArtifactId}:${quarkusPlatformVersion}") implementation 'io.quarkus:quarkus-rest' implementation 'io.quarkus:quarkus-arc' implementation "gg.jte:jte:3.1.9" testImplementation 'io.q...

Configurar TomEE como servicio systemd en Ubuntu

Configurar TomEE como servicio systemd en Ubuntu Con esta guía, podrás tener TomEE corriendo como servicio, iniciando automáticamente y manejable con systemd. Preparar la instalación TomEE en /srv/tomee Java 21 instalado en /usr/lib/jvm/java-21-openjdk-amd64 Verificar que arranca manualmente: cd /srv/tomee/bin ./startup.sh Tip: Si responde Tomcat started , todo funciona correctamente. Crear el archivo del servicio sudo nano /etc/systemd/system/tomee.service Pegar: [Unit] Description=Apache TomEE After=network.target [Service] Type=forking User=ubuntu Group=ubuntu Environment=JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 Environment=CATALINA_HOME=/srv/tomee ExecStart=/srv/tomee/bin/catalina.sh start ExecStop=/srv/tomee/bin/catalina.sh stop Restart=on-failure StandardOutput=journal StandardError=journal [Install] WantedBy=multi-user.target Nota: No pongas PIDFile , TomEE no lo crea y genera timeout. Dar p...

Ejecutar cualquier clase Main con Gradle y Quarkus en Windows

Ejecutar cualquier clase Main con Gradle y Quarkus en Windows Objetivo Cuando trabajas en un laboratorio de Java con muchas clases, muchas veces quieres probar rápidamente cualquier clase con un main sin depender del IDE ni marcar una clase por defecto. En este flujo: Usamos Gradle para manejar compilación, classpath y dependencias. Creamos tareas personalizadas ( runMain y runTest ) para ejecutar cualquier clase main . Evitar definir mainClass por defecto en build.gradle . Todo funciona desde la consola en Windows, sin depender del IDE. 1️⃣ Configurar build.gradle plugins { id 'java' id 'io.quarkus' id 'application' // permite usar gradlew run si quieres } repositories { mavenCentral() } dependencies { implementation 'io.quarkus:quarkus-rest' implementation 'com.google.code.gson:gson:2.10.1' implementation 'org.json:json:20...