Skip to main content

moondream-vlm

Use al analizar imágenes con un VLM diminuto (Moondream).

Quellinformationen

Repository
Ntizar/MasterMind
Letzte Quellaktivität
31. August 2026 um 22:05
Erkannte Sprache von SKILL.md
Spanisch
Sterne
2
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
moondream-vlm
version
1.0.0
description
Use al analizar imágenes con un VLM diminuto (Moondream).
tags
["vision","vlm","cv","captioning","object-detection","edge","api","m87"]
# Moondream — Vision Language Model diminuto (10k⭐) ## When to Use Cuando hace falta entender imágenes con consultas en lenguaje natural abierto (VQA, captioning, detección por texto, pointing, OCR) sin entrenar un modelo, y GPT-4o/gemini vision es caro o lento. Encaja con el stack de visión de David (onnx-webgpu-inference, cctv-yolo, satellite-ai-vision): YOLO para clases fijas en tiempo real; Moondream para preguntas abiertas ("¿hay operarios sin casco?"). ## Resumen Moondream (M87 Labs, Apache-2.0) es un VLM de ~2B parámetros (variante destilada 0.5B para edge) "que corre en cualquier sitio". | Modelo | Params | Uso | |--------|--------|-----| | Moondream 2B | 2B | general: caption, VQA, detect | | Moondream 0.5B | 0.5B | edge/dispositivos restringidos (destilado) | | moondream3.1-9B-A2B | 9B (MoE A2B) | variante que sirve la API cloud actual | ## API Cloud (la vía rápida — verificado en docs oficiales) Base: `https://api.moondream.ai/v1` · Auth: header `X-Moondream-Auth: API_KEY` (clave en https://moondream.ai/c/cloud/api-keys) ```bash # VQA curl -X POST https://api.moondream.ai/v1/query \ -H 'Content-Type: application/json' -H 'X-Moondream-Auth: KEY' \ -d '{"model":"moondream3.1-9B-A2B","image_url":"URL","question":"¿Qué hay en la imagen?"}' # -> {"answer": "...", "request_id": "..."} ``` Endpoints (todos POST, JSON, imagen por `image_url`): | Endpoint | Payload extra | Respuesta | |----------|---------------|-----------| | `/v1/query` | `question` | `{answer}` | | `/v1/caption` | `length: "normal"`, `stream` | `{caption, metrics{ttft_ms,...}}` | | `/v1/detect` | `object: "perro"` | `{objects:[{x_min,y_min,x_max,y_max}]}` **coords normalizadas 0-1** | | `/v1/point` | `object` | `{points:[{x,y}]}` normalizadas | **Pitfall clave:** las coordenadas de detect/point vienen normalizadas [0,1] — multiplicar por `width`/`height` de la imagen real antes de dibujar boxes o recortar. ## SDK Python / Node ```python import moondream as md from PIL import Image model = md.vl(api_key="KEY") # cloud image = Image.open("foto.jpg") model.query(image, "¿Qué hace la niña?") # {"answer": ...} model.detect(image, "coche") # {"objects": [...]} model.point(image, "semáforo") # {"points": [...]} model.caption(image, length="normal") # {"caption": ...} ``` `pip install moondream` · `npm install moondream` (misma superficie: `new vl({apiKey})`, métodos query/detect/point/caption). ## Uso local El repo remite a https://moondream.ai/c/docs/quickstart (sección "Running Locally") para inferencia en hardware propio. Históricamente las variantes 0.5B/2B corren en CPU/GPU modestas vía `transformers` con `trust_remote_code=True` desde HuggingFace (`m87-labs/moondream-2b`). Los modelos 3.x usan pesos propios: verificar la variante local exacta en docs antes de integrar en producción. ## Comparativa rápida - **Vs YOLO (cctv-yolo, onnx-webgpu):** YOLO gana en clases fijas, tiempo real y navegador; Moondream en consultas abiertas y OCR/VQA sin entrenar. - **Vs GPT-4o vision:** Moondream mucho más barato y rápido (TTFT ~80ms en cloud) con pesos abiertos; menos capaz en razonamiento complejo. - **Vs CLIP (clip-multimodal):** CLIP solo hace matching texto-imagen; Moondream genera texto y boxes. ## Patrón integrado Mastermind (auditoría de fotos de obra/infra) ```python import moondream as md model = md.vl(api_key=KEY) for path in fotos: img = Image.open(path) cap = model.caption(img)["caption"] boxes = model.detect(img, "persona")["objects"] # escalar coords 0-1 → píxeles antes de anotar ``` ## Verificación ```bash python -c "import moondream as md, os; from PIL import Image; m = md.vl(api_key=os.environ['MOONDREAM_API_KEY']); print(m.caption(Image.open('test.jpg'))['caption'][:80])" ``` ## Referencia - Repo: https://github.com/m87-labs/moondream · Web: https://moondream.ai/ · Playground: https://moondream.ai/playground - Examples: https://github.com/m87-labs/moondream-examples (incluye cómo correr en Modal)
Auf GitHub ansehen