Demo del agente de IA: Detección de spam avanzada vía ChatGPT

En este proyecto he desarrollado una extensión para Thunderbird que utiliza ChatGPT para la detección de spam avanzada. Los correos entrantes se analizan automáticamente y se clasifican según varios criterios. Un servidor local de Flask gestiona la comunicación con ChatGPT y evalúa si un mensaje debe clasificarse como spam. La implementación sirve como demostración para explorar las posibilidades de un filtrado asistido por IA en Thunderbird. Proceso Tan pronto Thunderbird recibe un nuevo correo, la extensión se activa. El mensaje se intercepta antes de que el usuario lo lea. La extensión extrae el asunto, el remitente y el texto del correo. ...

4 de febrero de 2025 · Aaron

Ejecutar Ollama con modelos compatibles con GPU NVIDIA en Docker sin conexión + OpenWebUI

Aquí se ejecutó Ollama con soporte de GPU NVIDIA bajo Docker en un sistema Windows 11. Se utilizó OpenWebUI como interfaz amigable para operar modelos de IA localmente. OpenWebUI ofrece la ventaja de que los usuarios pueden cambiar fácilmente entre diferentes modelos, gestionar solicitudes y controlar el uso de la IA cómodamente mediante una interfaz gráfica. Además, permite una mejor supervisión de las instancias en ejecución y facilita la prueba de distintos modelos sin cambios de configuración manuales. ...

1 de febrero de 2025 · Aaron

Red neuronal con MNIST y TensorFlow

Este código muestra cómo se entrena una red neuronal artificial con el conjunto de datos MNIST para clasificar dígitos escritos a mano (0-9). El objetivo es que el modelo pueda predecir, a partir de los datos de imagen, qué dígito está representado. Esto se logra mediante: 1. Carga y preprocesamiento de los datos de imagen de MNIST. 2. Creación de una red neuronal con varias capas (capas). 3. Entrenamiento de la red con datos de entrenamiento. 4. Evaluación del rendimiento del modelo con datos de prueba. 5. Prueba del modelo con nuevos datos de ejemplo. ...

31 de enero de 2025 · Aaron

Uso local de Ollama con llama3.2/3.3/DeepSeekv3 + llamada REST.

Descargar e instalar el entorno de ejecución LLM de Ollama (descargar). Tras la instalación, se puede acceder al servidor en http://127.0.0.1:11434/. 3. Mostrar la lista de modelos instalados. La lista debería estar vacía. ollama list 4. Descargar llama3.2 LLM y DeepSeekv3 (404 GB en disco duro y 413 GB de RAM). ollama pull llama3.2 ollama pull deepseek-v3 En la página web de Meta se pueden encontrar las versiones actuales del LLM. ...

18 de enero de 2025 · Aaron

Tutorial de Spring AI / OpenAI

Enviar pregunta a OpenAI vía Spring AI y mostrar la respuesta Crear clave OpenAI https://platform.openai.com/settings/organization/api-keys Luego, establecer la clave como variable de entorno: OPENAI_API_KEY Crear nuevo proyecto Spring Boot: https://start.spring.io/ Dentro de la aplicación Spring Boot, es decir, en el archivo “application.properties”, referenciar la clave de OpenAI o la variable de entorno (OPENAI_API_KEY). Después de crear la interfaz y las clases, la estructura del proyecto debería verse así: Después de ejecutar la prueba unitaria, la respuesta a la pregunta “Who would win in a fight between Superman and Chuck Norris?” debería mostrarse. En este caso: ...

1 de diciembre de 2024 · Aaron

Whisper: Transcripción automática de vídeos a texto

En esta entrada te explico cómo usar Whisper, una herramienta basada en IA de OpenAI, para la transcripción automática de vídeos. Whisper puede convertir con precisión el lenguaje hablado en varios idiomas – incluido el alemán – en texto. Por ello, es ideal para transcribir, por ejemplo, entrevistas, conferencias o vídeos personales. Instalar Python 3.10 Whisper requiere el lenguaje de programación Python y necesita una versión entre la 3.7 y la 3.10. En esta guía usamos Python 3.10 para evitar problemas de compatibilidad. ...

13 de noviembre de 2024 · Aaron

Configurar DNS sobre HTTPS (DoH) en Firefox

Abrir la configuración avanzada de Firefox: about:config network.trr.mode cambiar de 0 a 2. network.trr.uri cambiar a https://mozilla.cloudflare-dns.com/dns-query. network.trr.mode es una opción de configuración en Firefox que controla el uso de DNS over HTTPS (DoH). TRR significa Trusted Recursive Resolver y se refiere al uso de DoH para enviar consultas DNS a través de una conexión HTTPS cifrada, en lugar de mediante consultas DNS tradicionales sin cifrar. 0 – DoH está desactivado: Firefox utiliza exclusivamente el DNS normal sin cifrar (vía UDP o TCP) y no envía consultas DNS por HTTPS. ...

30 de octubre de 2024 · Aaron

Embedding mediante la base de datos vectorial ChromaDB

Esta entrada de blog trata el concepto de embeddings y bases de datos vectoriales. En primer lugar se explica qué son los embeddings y cómo se utilizan en el campo del Natural Language Processing (NLP). A continuación, se ofrece una explicación de los vectores en un espacio con tres coordenadas y su extensión a vectores multidimensionales. Por último, se presenta ChromaDB, una base de datos vectorial especializada. ¿Qué es un embedding? Un embedding es una técnica en el ámbito del aprendizaje automático y el procesamiento de datos que tiene como objetivo transformar objetos como palabras, frases o documentos en un espacio vectorial continuo. En este espacio vectorial, los objetos similares están representados por vectores similares, lo que significa que se encuentran próximos entre sí. Los embeddings se utilizan frecuentemente para capturar y analizar el significado semántico de los textos. ...

26 de julio de 2024 · Aaron

Interfaz de usuario de Chatbot con Streamlit

Reenviar solicitudes 1:1 a ChatGPT a través de Streamlit y mostrar la respuesta. streamlit run ChatUI.py

20 de julio de 2024 · Aaron

LangChain & ChatGPT

Enviar mensaje vía LangChain a ChatGPT Aquí enviamos un mensaje vía LangChain a ChatGPT y mostramos la respuesta. Realizar un encadenamiento con “chain” Usa “chain” para encadenar el modelo y el parser. Prompts de plantilla Preparar los prompts con una plantilla. Usa la plantilla: El idioma de destino se externaliza: Más encadenamientos Encadena la plantilla con el modelo y el parser: Servidor mediante FastAPI y endpoint REST Crea mediante FastAPI un servidor. El servidor carga la aplicación (app.py), recibe la petición REST y devuelve la traducción: ...

18 de julio de 2024 · Aaron