Bot para Mastodon que genera propuestas de texto ALT para imágenes usando Florence-2-large y LibreTranslate local https://tuiter.rocks/@mapachedescribe
Find a file
elenamusk 3a08705b17 Actualizar bot.py
Añade comando de privacidad, mejora el texto de ayuda y enlaza la política pública." \
Aclara el tratamiento con Groq, el interés legítimo y los mecanismos de opt-out." \
Mejora la robustez del procesado de imágenes, el manejo de MIME y los fallos parciales.
2026-04-28 13:37:59 +00:00
bot.py Actualizar bot.py 2026-04-28 13:37:59 +00:00
env.example Actualizar env.example 2026-03-27 21:18:34 +00:00
LICENSE Actualizar LICENSE 2026-03-11 15:57:53 +00:00
PRIVACY.md Actualizar PRIVACY.md 2026-04-28 13:11:08 +00:00
README.md Actualizar README.md 2026-04-02 10:23:29 +00:00
requirements.txt Actualizar requirements.txt 2026-03-27 21:23:35 +00:00

mapachedescribe

Bot de Mastodon que genera propuestas de texto ALT para imágenes usando la API de Groq con el modelo Llama 4 Scout (Meta).

Cómo funciona

  1. El bot recibe una mención en Mastodon con una imagen adjunta
  2. Descarga la imagen
  3. La envía a la API de Groq (Llama 4 Scout) con un prompt en español
  4. Groq devuelve una descripción directamente en español
  5. El bot responde con la descripción como propuesta de texto ALT

No hay traducción, no hay OCR separado, no hay postprocesado. El modelo hace todo en un solo paso.

Privacidad

Las imágenes se envían a Groq, Inc. (EE.UU.) para su procesado. Según la documentación de Groq, las peticiones de inferencia no se almacenan ni se usan para entrenar modelos.

Consulta PRIVACY.md para más detalles.

Requisitos

Instalación

pip install groq mastodon.py python-dotenv requests

Variables de entorno

MASTODON_BASE_URL=https://tuinstancia.social
MASTODON_ACCESS_TOKEN=tu_token
GROQ_API_KEY=gsk_tukey

Modelo utilizado

Llama 4 Scout (meta-llama/llama-4-scout-17b-16e-instruct)
Modelo open weights de Meta, servido por Groq.
Licencia: Llama 4 Community License Agreement.

Historial

La versión original procesaba las imágenes íntegramente en local con Florence-2 + EasyOCR + LibreTranslate — sin que nada saliera del servidor. Era la solución más respetuosa con la privacidad, pero tenía limitaciones reales: traducciones irregulares, alucinaciones de Florence, y una lógica de limpieza de texto difícil de mantener. Esta versión sacrifica el procesado local a cambio de descripciones mucho más precisas y un código significativamente más simple. La rama florence conserva la implementación original para quien prefiera procesado completamente local.

Créditos y referencias