Model used: Qwen3-Embedding 4B (Q8_0) from https://huggingface.co/Qwen/Qwen3-Embedding-4B Download: https://huggingface.co/Qwen/Qwen3-Embedding-4B-GGUF/resolve/main/Qwen3-Embedding-4B-Q8_0.gguf?download=true
In the client (indexer) settings...
- set embedder provider as OpenAI compatible/format
- set base URL as http://localhost:8080/v1
- no API key is required, you can enter
whatever - set model as qwen3-embedding
- set model dimension (if asked) as 2560
--gpus all: grants the container access to all NVIDIA GPUs on host-p 8080:8080: makes the API accessible at localhost:8080--embedding: switches llama-server to embedding--pooling: defines how the vector is calculatedlastuses the hidden state of the final token to represent the sentence
--n-gpu-layers: offloads model layers to the GPU99(or a high number in general) ensures the entire model loads into VRAM for maximum speed
--ctx-size: maximum input length (in tokens). Any document longer than this will be truncated or rejected--ubatch-size: micro-batch size (physical size)- limits how many tokens the GPU calculates simultaneously in one clock cycle; even if request is huge, GPU will process it in chunks of 1024 to avoid running out of memory
--batch-size: logical batch size- maximum size of a request the server will accept; should match context size (
--ctx-size) to be able to can embed full-length documents
- maximum size of a request the server will accept; should match context size (
--parallel: allows server to process 4 independent requests concurrently--cont-batching: enables continuous batching- optimization that allows the server to swap requests in and out of GPU dynamically; ensures that if one short request finishes, a new one starts immediately without waiting for longer requests to complete