Moondream Station
Moondream Station: Local Visual Reasoning
How It Works
🚀 Launches Local Server
All inference runs on your device
🔧 Control via CLI
Caption images, answer questions, and manage settings
🌐 Access via HTTP
Connect to http://localhost:2020/v1 through REST or our Python, Node, or OpenAI client
Installation
Install from PyPI:
$ pip install moondream-station
Install from source:
$ git clone https://github.com/m87-labs/moondream-station.git
$ cd moondream-station
$ pip install -e .
That's it! Moondream Station will automatically set itself up.
Usage
Launch Moondream Station
To fire up Moondream Station, execute this command in your terminal:
$ moondream-station
Model Management
By default, Moondream Station uses the latest model your machine supports. If you want to view or activate other Moondream models, use the following commands:
models
- List available modelsmodels switch <model>
- Switch to a model
Service Control
We like to think Moondream has 20/20 vision; that's why, by default, we launch Moondream Station on port 2020. If that port is taken, Moondream Station will try a nearby free port. Additionally, you can control the port and status of the inference service with the following commands:
start [port]
- Start REST server (default: port 2020)stop
- Stop serverrestart
- Restart server
Inference
Access via HTTP: Point any of our inference clients at your Moondream Station; for example, with our python client you can do:
import moondream as md
from PIL import Image
# connect to Moondream Station
model = md.vl(endpoint="http://localhost:2020/v1")
# Load an image
image = Image.open("path/to/image.jpg")
# Ask a question
answer = model.query(image, "What's in this image?")["answer"]
print("Answer:", answer)
For more information on our clients visit: Python, Node, Quick Start
Connect via CLI: Use all the capabilities of Moondream directly through your terminal. No need to touch any code!
infer <function> [args]
- Run single inferenceinference
- Enter interactive inference mode
Settings
Control the number of workers, queue size, privacy settings, and more through Settings:
settings
- Show configurationsettings set <key> <value>
- Set setting value
Moondream Station collects anonymous usage metrics to help us improve the app. The following data is collected:
- Event data: when you use features like caption, query, detect, or point.
- Version information: active bootstrap, hypervisor, inference client, and model version.
- System information: OS version, IP address, and Python version/runtime.
No personal information, images, or prompts/responses are ever collected. To opt out of logging, run: settings set logging false
.
Utility
The utility functions provide insight into what Moondream Station is currently doing. To view statistics for your current session, use the session
mode. To view a log of requests processed by Moondream Station, use the history
command.
session
- Show session statshelp
- Show available commandshistory
- Show command historyreset
- Reset app data & settingsclear
- Clear screenexit
- Quit application