Skip to main content

Setup

Sign in to Baseten with Truss, then install the OpenAI SDK.
Sign in to Baseten
Install the OpenAI SDK
Pick the model you want to deploy. Each tab is a self-contained recipe.
nvidia/Nemotron-3-Embed-1B-BF16 is a 1B-parameter dense model with up to 32K context.This preset serves Nemotron 3 Embed 1B on a single H100 with BF16 weights through vLLM’s OpenAI-compatible server, and pre-mounts the weights to local disk for fast cold starts.

Hardware

H100

Engine

vLLM 0.24.0

Context

32K

Concurrency

32

Write the config

Create and move into the project directory:
Then create a file named config.yaml and paste the following:
config.yaml
This config tells Baseten to serve nvidia/Nemotron-3-Embed-1B-BF16 on a single H100 with the stock vllm/vllm-openai:v0.24.0 image. The weights: block pins the checkpoint to a commit SHA, mirrors it to the Baseten Delivery Network at deploy time, and pre-mounts it at /models/nemotron-1b, so vLLM loads from local disk and never calls Hugging Face at runtime. The deployment exposes an OpenAI-compatible /v1/embeddings endpoint with Matryoshka output dimensions of 512, 1024, and 2048.

Flags

The start_command passes these flags to the engine. Each one controls a runtime or serving behavior:

Deploy

Push the config to Baseten:
You should see output similar to:
truss push prints your model ID (abc1d2ef in the example). The examples below use it wherever you see {model_id}, and read your API key from the BASETEN_API_KEY environment variable.

Call the model

Your deployment serves an OpenAI-compatible embeddings API at /v1/embeddings.Now call your deployment to generate embeddings:
main.py
Nemotron 3 Embed is trained with retrieval prompts, and the /v1/embeddings endpoint doesn’t add them for you. Prefix each input yourself: query: for search queries and passage: for the documents they match against, as shown above.Embeddings are 2048-dimensional by default. For smaller vectors, pass the OpenAI dimensions parameter with one of the values from the config’s --hf-overrides flag (512, 1024, or 2048); the server slices and re-normalizes the vector, and rejects values outside that list.
For higher throughput, use the Baseten Performance Client, which batches and pipelines requests automatically.

Next steps

Call your model

Endpoint anatomy, authentication, and sync versus async inference

Autoscaling

Scale replicas with traffic, including scale to zero