Skip to main content

moondream-vlm

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

来源信息

仓库
Ntizar/MasterMind
最近来源活动
2026年8月31日 22:05
检测到的 SKILL.md 语言
西班牙语
星标
2
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
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)
在 GitHub 查看