Skip to main content

Intermediate Tutorials

Use these tutorials in order. Each card links to a chapter with concept-first guidance and matching C++ and Python implementation.

Serve GenAI Models image Serve GenAI Models 15-20 minutes

Host multiple GenAI models behind the Neat GenAI server so a UI, service, or remote client can call LLM, VLM, and ASR endpoin...

genaiserverllmvlmasrhttp

Move data between Neat tensors and the structures you already have — NumPy arrays, PyTorch tensors, or `cv::Mat` — controllin...

numpypytorchtensorio

Configure the preprocessing stage — format, dimensions, and per-channel normalization — so raw image input becomes the exact...

preprocessingnormalizationimage

Read back from `run.pull()` or `model.run()` safely. Every run returns a `Sample` — a small sum type that may be a tensor, a...

outputpatternssink

Decode raw model output into usable bounding boxes using `SimaBoxDecode` — thresholding, NMS, and coordinate mapping built in...

postprocessingboxdecodedetection

Drop a model into a `Graph` with `model.graph()` and `model.graph(options)` — two composition patterns that differ in how muc...

graphcompositionpatterns

Bundle several named tensors into one `Sample` and push it as a single inference event — the pattern for models that take mor...

multi-inputsamplessync

Triage a pipeline with three checks — `graph.validate()`, one measured `run.run()`, and `MeasureReport` diagnostics — to answ...

diagnosticsdebuggingobservability

Build the smallest useful public Neat `Graph` — one *named* `Input` wired to a *named* `Output` — then push a sample through...

graphtraversalmetadata

Attach a live H.264 RTSP stream to a `Graph` with the `RtspDecodedInput` fragment, which handles RTSP connect, depacketize, a...

rtspstreaminginput-grouplive-input