mirror of
https://github.com/mudler/LocalAI.git
synced 2026-10-28 17:18:49 -04:00
Add the GEM-X native backend with live pose and root displacement output, bounded duplex WebSocket streaming, session authorization, metrics and usage accounting. Share the embedded bidirectional RPC channel adapter across streaming backends.
Include backend build and gallery integration, API documentation, schemas and tests.
Assisted-by: Codex:gpt-6
Signed-off-by: Richard Palethorpe <io@richiejp.com>
(cherry picked from commit 016dc3d71a)
20 lines
910 B
Markdown
20 lines
910 B
Markdown
# GEM-X backend
|
|
|
|
Resident native `gemx_live_*` inference via PureGo. See
|
|
[Motion Capture](../../../docs/content/features/motion.md) for configuration and
|
|
protocol. The upstream pin lives in `Makefile` and is registered with the daily
|
|
bump workflow. Linux CPU/Vulkan and Darwin CPU packages are built; Metal is not
|
|
supported by the upstream runtime. Model assets are not needed for unit tests.
|
|
|
|
```sh
|
|
make -C backend/go/gemxcpp test
|
|
make backends/gemxcpp
|
|
```
|
|
|
|
The adapter owns one native pipeline per loaded model, with one active session.
|
|
Each instance loads GEM, ViTPose and YOLOX. No SAM3D Body, mesh export, SONIC,
|
|
physics, or Python dependency is introduced. The C library has no immediate
|
|
inference cancellation; cancellation discards results and releases the session
|
|
when the native call returns. The public stream schema lives in
|
|
`pkg/motion/proto/motion.proto`, independently of backend RPC envelopes.
|