1. 11 Jun, 2025 1 commit
  2. 04 Jun, 2025 1 commit
  3. 03 Jun, 2025 2 commits
  4. 02 Jun, 2025 2 commits
  5. 30 May, 2025 1 commit
  6. 29 May, 2025 1 commit
    • Graham King's avatar
      feat: Initial Granite support (#1271) · 7d0c9386
      Graham King authored
      - Add Granite to our tokenizer
      - Fix pre-processor to load context length correctly
      - Add strftime_now Jinja function for prompt templates
      - Update llama.cpp
      - Handle trtllm errors when not using trtllm
      
      Support depends on the engine:
      
      - `mistral.rs`, our default engine, doesn't support Granite yet.
      
      - `llama.cpp` does and works very well:
      ```
      dynamo-run out=llamacpp ~/llms/granite-3.3-2b-instruct-Q4_K_M.gguf --context-length 16384
      ```
      
      - `vllm` also works very well:
      ```
      dynamo-run in=http out=vllm ~/llms/granite-3.3-2b-instruct --context-length 16384
      ```
      
      - `sglang` mostly works, but it doesn't catch the stop token, so we do in the HTTP ingress, and log an error. The Text ingress doesn't catch it because I disabled it to make the raw echo engine work. A bit of work to do here.
      
      Closes: #1245 
      7d0c9386
  7. 28 May, 2025 1 commit
  8. 22 May, 2025 2 commits
    • Graham King's avatar
      feat(dynamo-run): Allow setting KV cache block size (#1175) · 183f2b32
      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
      183f2b32
    • Graham King's avatar
      feat(dynamo-run): Allow setting context-length (#1157) · 6d5da821
      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.
      6d5da821
  9. 21 May, 2025 1 commit
  10. 19 May, 2025 1 commit
  11. 08 May, 2025 1 commit
    • Graham King's avatar
      feat: Qwen3, Gemma3 and Llama4 support (#1002) · ceaeba3e
      Graham King authored
      . New mistralrs and llamacpp version
      . mistralrs: Handle Gemma 3 and Llama 4 as vision models
      . Update the dynamo-run docs to use Qwen 3
      . Our pre-processor now supports Llama 4's newer multi-modal `config.json`
      . Upgrade minijinja to handle Qwen 3's prompt template
      
      For Llama 4 we'll need to limit the max seq len. vllm says:
      > To serve at least one request with the models's max seq len (10485760), (240.00 GiB KV cache is needed,...
      
      I was able to run Llama 4 with llamacpp and a quantized GGUF, with Dynamo doing the pre-processing.
      ceaeba3e
  12. 07 May, 2025 1 commit
  13. 28 Apr, 2025 1 commit
  14. 24 Apr, 2025 1 commit
  15. 18 Apr, 2025 2 commits
  16. 07 Apr, 2025 1 commit
    • Graham King's avatar
      feat(dynamo-run): Basic routing choice (#524) · ec2e7307
      Graham King authored
      As a first step towards KV routing:
      - introduce a `--router-mode` in dynamo-run that only does random and round-robin right now. Not that interesting yet.
      - Make the vllm engine publish the KV events received from our patched vllm.
      
      Now we "just" need to connect the two. Easy right?
      ec2e7307
  17. 03 Apr, 2025 1 commit