跳到主要内容
版本:最新版(未发布)

RISC-V64 standalone Router

Linux RISC-V64 is an experimental platform for the standalone Router. The Router runs natively and forwards requests directly to model endpoints; Envoy is not part of this deployment. Models used for classification, embeddings or reranking, when configured, run in an external model runtime. LLM generation uses a separate backend endpoint.

Coverage​

Native validation uses a SpacemiT X60 machine with 8 CPU cores, 16 GB RAM, openKylin 2.0 SP1 and Linux 6.6.63-cloud. The build uses Debian-compatible containers and public Go/Rust toolchains; no QEMU is required. Other machines need to qualify their CPU instruction support, kernel, container runtime and configuration independently.

Component or capabilityCoverage
Go Router processNative Linux/RISC-V64 build and standalone container execution
GLIDE native libraryCompiled from the pinned source and Cargo lockfile; not a stub
Rule routing and HTTP forwardingKeyword/default routing, buffered responses, SSE and restart smoke
Router-side learned modelsExternal endpoints; local model inference is not qualified here
Envoy / ExtProc deploymentOutside this RISC-V qualification
Dashboard, CLI-managed stack and OperatorOutside this RISC-V qualification
Optional storage and plugin combinationsQualify the selected configuration separately

The smoke test uses fixed responses to check model selection and transport. Valkey-backed features and persistence configurations need separate integration tests.

Build and run​

Use the same checkout for SDK inputs, Dockerfiles, configuration and tests. You need Docker with Buildx, access to its socket, Python 3.11+ for the smoke fixture, and network access to public dependency sources. Native compilation can take over an hour on the tested machine; keep enough disk space for the SDK, build cache and runtime image.

From the repository root on the native machine:

python3 tools/docker/riscv64/build.py --tag public

This builds the SDK and semantic-router-router:public. Docker layer caching is enabled by default; --no-cache explicitly requests a cold build. The SDK uses checksummed toolchain archives and a digest-pinned base image. Package repositories and dependency downloads still require network access.

The native build first exports the Router binary from tools/docker/riscv64/Dockerfile. The independent tools/docker/Dockerfile.attached packages it in the vllm-sr-attached target without bundled PyTorch or vllm-srun; the bundled image Dockerfile is unchanged. Configure reachable external endpoints before starting it. Follow the repository's native build and deployment guide for the restricted-user docker run command, backend credentials and smoke test. That guide also covers reusing an existing SDK and build concurrency.

Keep the request port bound to host loopback until authentication and network access controls are in place. A ready Router does not prove that the backend is reachable or that its credentials work; send a buffered request and an SSE request through the full path.

Image identity and distribution​

The artifact identifier vllm-sr-riscv64 maps to the attached-runtime target and Linux/RISC-V64 only. It is separate from bundled CPU/CUDA/ROCm images; do not add RISC-V to those manifests with different model-runtime contents.

Artifact registration does not itself publish an image. Until a registry artifact and its qualification receipt are available, use the native build above; there is no published RISC-V tag promised by this guide. Native community CI and recurring publication require a native build worker and the normal project qualification process.

See Deployment Support for the distinction between manual qualification and recurring project coverage.