- 19 Aug, 2025 2 commits
-
-
suzu authored
-
Yan Ru Pei authored
-
- 18 Aug, 2025 1 commit
-
-
Graham King authored
-
- 14 Aug, 2025 1 commit
-
-
Jorge António authored
Co-authored-by:Yan Ru Pei <yanrpei@gmail.com>
-
- 07 Aug, 2025 2 commits
-
-
Yan Ru Pei authored
-
Graham King authored
-
- 06 Aug, 2025 1 commit
-
-
Graham King authored
-
- 31 Jul, 2025 1 commit
-
-
Yan Ru Pei authored
-
- 18 Jul, 2025 1 commit
-
-
Graham King authored
-
- 16 Jul, 2025 2 commits
-
-
Graham King authored
-
Yan Ru Pei authored
-
- 08 Jul, 2025 2 commits
-
-
Graham King authored
-
Yan Ru Pei authored
Signed-off-by:
Yan Ru Pei <yanrpei@gmail.com> Co-authored-by:
Alec <35311602+alec-flowers@users.noreply.github.com>
-
- 07 Jul, 2025 1 commit
-
-
jain-ria authored
Signed-off-by:
jain-ria <riajain@NVIDIA.com> Co-authored-by:
Alec <35311602+alec-flowers@users.noreply.github.com>
-
- 01 Jul, 2025 2 commits
-
-
jthomson04 authored
-
jthomson04 authored
-
- 30 Jun, 2025 1 commit
-
-
Graham King authored
Move much of what was in the `dynamo-run` crate into `dynamo-llm` so that everyone can use it. Example usage: 1. Create a `LocalModel`: ``` let local_model = LocalModelBuilder::default() .model_path("Qwen/Qwen3-0.6B") .http_port(8080) .build().await?; ``` 2. Make an engine: ``` let engine_config = EngineConfig::StaticFull { engine: dynamo_engine_mistralrs::make_engine(&local_model).await?, model: Box::new(local_model), }; ``` 3. Connect it to an input and run it ``` dynamo_llm::entrypoint::input::run_input(Input::Http, runtime, engine_config).await?; ``` For https://github.com/ai-dynamo/dynamo/issues/1647 Code Rabbit summary, thanks: * Introduced a flexible builder pattern for local model configuration, allowing advanced customization and easier initialization. * Added new input modes and unified input handling, supporting interactive chat, HTTP server, batch file, and distributed endpoint modes. * Centralized engine configuration and routing, enabling more extensible and maintainable engine management. * Simplified and modularized the codebase by moving input and engine logic into dedicated modules. * Replaced direct model construction with an asynchronous builder for improved clarity and extensibility. * Streamlined configuration and validation for flags and router settings. * Added validation to prevent incompatible input and output combinations in endpoint and dynamic modes.
-
- 27 Jun, 2025 1 commit
-
-
Yan Ru Pei authored
feat: Unnormalize waiting requests + predictive load updates for Python router (mirroring Rust) + softmax sampling to reduce thrashing (#1638)
-
- 14 Jun, 2025 1 commit
-
-
Yan Ru Pei authored
Signed-off-by:
PeaBrane <yanrpei@gmail.com> Signed-off-by:
Yan Ru Pei <yanrpei@gmail.com> Signed-off-by:
jain-ria <riajain@NVIDIA.com> Co-authored-by:
coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by:
jain-ria <riajain@NVIDIA.com>
-
- 02 Jun, 2025 1 commit
-
-
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 2 commits
-
-
Alec authored
-
jthomson04 authored
-
- 29 May, 2025 3 commits
- 20 May, 2025 1 commit
-
-
Ryan Olson authored
-
- 19 May, 2025 1 commit
-
-
Jacky authored
-
- 14 May, 2025 1 commit
-
-
Graham King authored
Router: ``` dynamo-run in=http out=dyn://dynamo.endpoint.generate --router-mode kv ``` Worker (* N): ``` dynamo-run in=dyn://dynamo.endpoint.generate out=vllm /data/llms/Qwen/Qwen3-4B ``` You need patched vllm and the C bindings `.so`. Full docs in the updated guide: `docs/guides/dynamo_run.md`. This gives us a pure-Rust ingress node: OpenAI compliant HTTP server + Pre-processor + KV-aware router.
-
- 08 May, 2025 1 commit
-
-
Hongkuan Zhou authored
-
- 07 May, 2025 1 commit
-
-
Hongkuan Zhou authored
-
- 06 May, 2025 2 commits
-
-
jthomson04 authored
-
Graham King authored
Adding this to a Python script makes it register on the network so that `dynamo-run` can discover it and send it requests: ``` from dynamo.llm import register_llm MODEL = "Qwen/Qwen2.5-0.5B-Instruct" await register_llm(endpoint, MODEL, 3) ``` Full vllm example, with pre-processing in dynamo: - `dynamo-run in=text out=dyn://dynamo.backend.generate` - `cd lib/bindings/python/examples/hello_world` - `python server_vllm.py` This builds on top of the work to move pre-processor to ingress side. It means we can decouple Rust and Python using NATS as the bus. The `register_llm` call does this: - Download the model from HF if necessary - Load the model deployment card from the HF folder or extract from GGUF - Push the tokenizer config etc into NATS object store so ingress can access it from a different machine - Publish the model deployment card to ETCD
-
- 29 Apr, 2025 1 commit
-
-
Graham King authored
In a distributed system we don't know if the remote workers need pre-processing done ingress-side or not. Previously Client required us to decide this before discovering the remote endpoints, which was fine because pre-processing was worker-side. As part of moving pre-processing back to ingress-side we need to split this into two steps: - Client discovers the endpoints, and (later PR) will fetch their Model Deployment Card. - PushRouter will use the Model Deployment Card to decide if they need pre-processing or not, which affects the types of the generic parameters. Part of #743
-
- 21 Apr, 2025 1 commit
-
-
ishandhanani authored
-
- 04 Apr, 2025 1 commit
-
-
Yan Ru Pei authored
-
- 02 Apr, 2025 1 commit
-
-
Ryan Olson authored
-
- 17 Mar, 2025 1 commit
-
-
GuanLuo authored
-
- 11 Mar, 2025 1 commit
-
-
Alec authored
-
- 09 Mar, 2025 2 commits
-
-
Alec authored
-
Hongkuan Zhou authored
Signed-off-by:
Hongkuan Zhou <tedzhouhk@gmail.com> Co-authored-by:
hongkuan <hongkuanz@nvidia.com> Co-authored-by:
Piotr Tarasiewicz <ptarasiewicz@nvidia.com> Co-authored-by:
Piotr Tarasiewicz Nvidia <ptarasiewicznv@Piotrs-MacBook-Pro.local> Co-authored-by:
alec-flowers <aflowers@nvidia.com> Co-authored-by:
Neelay Shah <neelays@nvidia.com>
-