- 26 Jun, 2025 1 commit
-
-
Paul Hendricks authored
-
- 25 Jun, 2025 4 commits
-
-
ishandhanani authored
Co-authored-by:Ryan McCormick <rmccormick@nvidia.com>
-
Will Killian authored
Signed-off-by:Will Killian <wkillian@nvidia.com>
-
jain-ria authored
-
Nathan Barry authored
-
- 17 Jun, 2025 2 commits
-
-
Tanmay Verma authored
-
Ryan McCormick authored
-
- 12 Jun, 2025 3 commits
- 10 Jun, 2025 1 commit
-
-
Ryan McCormick authored
-
- 04 Jun, 2025 2 commits
-
-
Paul Hendricks authored
-
Tom O'Brien authored
-
- 03 Jun, 2025 3 commits
-
-
Tanmay Verma authored
-
Graham King authored
To talk to the vllm/sglang/trtllm engine we previously hardcoded an endpoint. The user never sees it so it doesn't matter which one. However if you try to run _two_ instances of Dynamo on one machine they will conflict. Use a UUID as the component name to resolve that. Part of the solution for: https://github.com/ai-dynamo/dynamo/issues/1073
-
Paul Hendricks authored
-
- 02 Jun, 2025 3 commits
-
-
Graham King authored
This allows building: - only `mistral.rs` engine: `--no-default-features --features mistralrs` - or only `llama.cpp` engine: `--no-default-features --features llamacpp`. Since llama.cpp became a default we'd only tested building both at once. The docs already said we supported that but there was some combo of Rust features that didn't build. This is the fix.
-
Hongkuan Zhou authored
-
Graham King authored
It was confusing to have two names for one type. This tidy up started in #1064 , is now complete.
-
- 30 May, 2025 1 commit
-
-
Alec authored
-
- 29 May, 2025 5 commits
-
-
Graham King authored
Previously `mistral.rs` was the default engine for both safetensors and GGUF models. Now it is only the default for safetensors, `llama.cpp` becomes the default for GGUF. Why? - Since #1177 `llama.cpp` is built-in by default, so we can switch. - `llama.cpp` is very very good at running GGUF (but can't run other types of model), so we should switch. Dynamo's multi-engine support gives us a secret super-power: we can use the best engine for this specific format or model. We can still run GGUF with mistralrs by doing `out=mistralrs`.
-
Tanmay Verma authored
-
Alec authored
-
Alec authored
-
jthomson04 authored
-
- 28 May, 2025 3 commits
-
-
Graham King authored
It was removed from the docs in 0.2.1 and replaced with writing a [standalone Python engine](https://github.com/ai-dynamo/dynamo/blob/main/docs/guides/dynamo_run.md#writing-your-own-engine-in-python). Also remove the associated `dynamo-run` feature `python`. Releasing this in 0.3.0 will resolve #784 and #1109.
-
Tanmay Verma authored
-
Alec authored
-
- 27 May, 2025 1 commit
-
-
Tanmay Verma authored
-
- 22 May, 2025 3 commits
-
-
Tanmay Verma authored
-
Graham King authored
Example: ``` dynamo-run out=<engine> <model> --kv-cache-block-size 64 ``` In a distributed system this goes on the worker node and is propagated to ingress via the model deployment card. Previously hard coded to 16, which is now the default. - Load context_length from model. Closes #1172 - Store context length and KV cache block size in Model Deployment Card #1170
-
Graham King authored
Llama 4 has a very large context length (aka n_ctx, model_max_length, max_model_len), and vllm won't start unless it can allocate enough KV cache for the entire context. Allow passing `--context-length <N>` to `dynamo-run` to limit it so long-context models will fit. Future todo: - Restrict every request's `max_tokens` to below the context length. Our pre-processor should do this by setting stop_conditions.max_tokens. mistralrs engine wrapper must do it itself because it does not use the pre-processor. - mistralrs and llamacpp currently have a hard-coded max context length if one is not provided on the command line. Change those to be the model's built-in max, read from the GGUF or tokenizer_config.json.
-
- 21 May, 2025 4 commits
-
-
Graham King authored
Previously any error would cause us to halt. Most of them are recoverable. So now we print the error and return to the prompt.
-
Graham King authored
-
Neelay Shah authored
-
Graham King authored
- Stop advertising a model when it's last instance stops. Previously was when any instance stops. - Faster locks on model manager. - Move discovery code out of http, as it is used by all inputs.
-
- 19 May, 2025 2 commits
-
-
Graham King authored
We can now do this: - Node 1: ``` dynamo-run in=http out=dyn ``` - Node 2 and 3, two instances of component 'backend' in the nemotron_ultra pipeline: ``` dynamo-run in=dyn://nemotron_ultra.backend.generate out=vllm /data/models/NemotronUltra ``` - Node 4 and 5, two instances of the 'backend' component in nemotron_super pipeline: ``` dynamo-run in=dyn://nemotron_super.backend.generate out=vllm /data/models/NemotronSuper ``` The ingress node will discover all four instances and route correctly. We have been planning for this for a long time now. As part of this auto-discovery is now always `out=dyn`, with no extra URL parts. Previously it could only route to a single pipeline. Also: - Refactor endpoint / instance naming now that I understand them - Fix removing models when their instance stops.
-
Tom O'Brien authored
Implements OpenAI embeddings (interface only). - Adds ModelType::Embedding - Adds OpenAI embedding request/response structs - Adds support for embedding model discovery
-
- 16 May, 2025 1 commit
-
-
Ryan McCormick authored
-
- 15 May, 2025 1 commit
-
-
Graham King authored
Each namespace is for a single pipeline, so a component must be model-unique. The means we can have several components with the same name running the same model (data parallel), their traffic will be routed according to `--router-mode`, but we cannot have several components with the same name running different models. Add an `ensure_unique` check to prevent that happening.
-