Saltar al contenido
openplate

El runtime de inferencia

openplate-inference es un escáner de fotos del plato que ejecutas en tu propio hardware. Nombra los alimentos del plato y calcula los gramos, y después consulta los macronutrientes en una base de datos de alimentos integrada en lugar de inventar cifras.

Privacidad

Tus fotos se procesan en memoria y nunca se guardan. En concreto:

  • Nunca se escribe en disco. No hay directorio de subida, ni archivos temporales, ni caché. La imagen se descodifica, se reduce de escala en memoria, se envía al runtime del modelo por la interfaz loopback del contenedor y se descarta en cuanto termina la petición.
  • Nunca se registra. Ni la imagen, ni el base64, ni su hash. Los registros contienen metadatos de la petición (estado, tiempos, una huella de clave, nunca la clave en sí), y el formateador de registros limpia los valores que puedan contener cargas útiles o credenciales. Esto incluye las rutas de error: las respuestas y los registros de error se limpian, y las pruebas unitarias cubren este comportamiento.
  • Nunca se envía a ninguna parte. El servicio realiza exactamente tres tipos de peticiones salientes: descargas puntuales de pesos en el primer arranque, (solo si activas un FOOD_SOURCE en red) una búsqueda de nombres de alimentos mediante texto, y (solo si defines EMBEDDING_RUNTIME_URL) una llamada de incrustación mediante texto. Ninguna imagen sale jamás del contenedor, bajo ninguna configuración.
  • Los nombres para traducir no salen del runtime del modelo. La llamada de traducción envía los nombres de los alimentos en formato de texto al runtime del modelo. En el contenedor integrado, el runtime utiliza la interfaz de bucle local (loopback), por lo que el tráfico no sale de la máquina. Con MODEL_PROFILE=external, los nombres se envían a la URL del runtime que hayas configurado. Esa llamada nunca incluye fotos. El servicio lee Accept-Language para seleccionar el idioma de destino. No almacena ni registra la cabecera.
  • Sin cuentas, sin cookies, sin historial. El servicio no guarda nada entre peticiones. No hay nada que exportar, filtrar o requerir judicialmente.
  • En el flujo de openplate, la foto va directamente del dispositivo a tu endpoint. No pasa por el servidor de openplate. Tú controlas cada salto.

El código está aquí, es reducido y la superficie de red es un solo puerto.

Estas afirmaciones describen el servicio autoalojado de este repositorio. Para reportar vulnerabilidades, consulta SECURITY.md.

Hardware

MODEL_PROFILEmodelodescargalicencia
qualityQwen3-VL-8B-Instruct, Q4_K_M + F16 mmproj5.8 GiBApache-2.0
liteLFM2.5-VL-1.6B, Q8_0 + F16 mmproj2.0 GiBLFM Open License v1.0, con límite de ingresos, consulta Licencia
lite-apacheQwen3-VL-2B-Instruct, Q4_K_M + F16 mmproj1.8 GiBApache-2.0

Ambas variantes de lite se ejecutan en CPU. quality también funciona en CPU, muy despacio, y en realidad es un perfil para GPU.

Para quién es

Personas que se autoalojan el servicio y quieren escanear platos sin una cuenta de IA en la nube y sin que ninguna foto salga de su red. No forma parte de la instancia alojada en openplate.de.