1. 22 May, 2025 1 commit
    • Bruce MacDonald's avatar
      server: improve tensor quantization fallback logic (#10806) · fbe6ae28
      Bruce MacDonald authored
      Fall back to alternative quantization types when a tensor's dimensions aren't divisible by the block size required for the original desired quantization type. If retried quantization types fail, the system ultimately falls back to F16 (half-precision floating point) which has a block size of 1 and can handle any tensor dimension.
      fbe6ae28
  2. 21 May, 2025 1 commit
  3. 19 May, 2025 2 commits
  4. 14 May, 2025 2 commits
  5. 13 May, 2025 1 commit
  6. 12 May, 2025 3 commits
  7. 08 May, 2025 2 commits
  8. 07 May, 2025 2 commits
    • Daniel Hiltgen's avatar
      sched: fix race leading to orphaned runners (#10599) · 5e380c3b
      Daniel Hiltgen authored
      If a model is loading, and the request context is canceled during the load
      by a client closing the connection, and another request is inbound for the
      same model with a different configuration (context size, etc.) thus requiring
      a reload, two unload events can be in flight.  The first shuts down the
      original model load, but the second one caused the loss of the new
      reloading runner reference, thus triggering the leak.
      
      The primary fix is detecting the duplicate unload and ignoring the second
      instance.  The load routine is also hardened to ensure we detect
      clobbering an already present runner and unload it with a warning.
      5e380c3b
    • Jeffrey Morgan's avatar
      392de840
  9. 06 May, 2025 3 commits
  10. 05 May, 2025 1 commit
  11. 03 May, 2025 1 commit
    • Daniel Hiltgen's avatar
      sched: logging improvements (#10550) · 76ea735a
      Daniel Hiltgen authored
      This enhances our logging in the scheduler.  The initial "waiting for server" log
      no longer claims an initial error state (now "not responding" which better reflects
      the actual state).  Runners now have slog wiring to report more details about the
      runner, including PID.
      76ea735a
  12. 01 May, 2025 1 commit
  13. 30 Apr, 2025 2 commits
    • Devon Rifkin's avatar
      strip out thinking tags in message history for qwen3 & r1 (#10490) · ad3c7c9b
      Devon Rifkin authored
      * strip out thinking tags in message history for qwen3 & r1
      
      This is in advance of "proper" support where we'll make reasoning
      configurable and we'll parse out thinking/reasoning tags and provide
      them to the caller. These models expect there to be no thinking tags in
      the message history, so this should improve quality
      
      * parse model names instead of hacky prefix check
      ad3c7c9b
    • Daniel Hiltgen's avatar
      Fix "Stopping..." scheduler hang (#10487) · 415c8fcc
      Daniel Hiltgen authored
      * Adjust initial scheduler refCount
      
      Ensure we only set the refCount on success
      
      * sched: fix lock order inversion deadlock
      
      Under certain race conditions, there was a scenario where the scheduler would
      get into a deadlock while trying to update free space information while a model
      was trying to unload.
      415c8fcc
  14. 29 Apr, 2025 1 commit
    • Devon Rifkin's avatar
      lower default num parallel to 2 · fe5b9bb2
      Devon Rifkin authored
      this is in part to "pay" for #10452, which doubled the default context length. The combination isn't fully neutral though, because even though the old 4x2k limit and the new 2x4k limit are memory equivalent, the 1x fallback is larger with 4k
      fe5b9bb2
  15. 28 Apr, 2025 1 commit
  16. 25 Apr, 2025 2 commits
    • Michael Yang's avatar
      explicitly decode maxarraysize 1024 · 340448d2
      Michael Yang authored
      340448d2
    • Michael Yang's avatar
      fix superfluous call to WriteHeader · 214a7678
      Michael Yang authored
      the first call to http.ResponseWriter.Write implicitly calls WriteHeader
      with http.StatusOK if it hasn't already been called. once WriteHeader
      has been called, subsequent calls has no effect. Write is called when
      JSON encoding progressUpdateJSON{}. calls to
      http.ResponseWriter.WriteHeader after the first encode is useless and
      produces a warning:
      
      http: superfluous response.WriteHeader call from github.com/ollama/ollama/server/internal/registry.(*statusCodeRecorder).WriteHeader (server.go:77)
      214a7678
  17. 22 Apr, 2025 1 commit
    • Devon Rifkin's avatar
      increase default context length to 4096 (#10364) · 424f6486
      Devon Rifkin authored
      * increase default context length to 4096
      
      We lower the default numParallel from 4 to 2 and use these "savings" to
      double the default context length from 2048 to 4096.
      
      We're memory neutral in cases when we previously would've used
      numParallel == 4, but we add the following mitigation to handle some
      cases where we would have previously fallen back to 1x2048 due to low
      VRAM: we decide between 2048 and 4096 using a runtime check, choosing
      2048 if we're on a one GPU system with total VRAM of <= 4 GB. We
      purposefully don't check the available VRAM because we don't want the
      context window size to change unexpectedly based on the available VRAM.
      
      We plan on making the default even larger, but this is a relatively
      low-risk change we can make to quickly double it.
      
      * fix tests
      
      add an explicit context length so they don't get truncated. The code
      that converts -1 from being a signal for doing a runtime check isn't
      running as part of these tests.
      
      * tweak small gpu message
      
      * clarify context length default
      
      also make it actually show up in `ollama serve --help`
      424f6486
  18. 19 Apr, 2025 2 commits
  19. 17 Apr, 2025 1 commit
  20. 16 Apr, 2025 4 commits
    • Blake Mizerany's avatar
      server/internal/registry: remove superfluous progress bar flush (#10303) · 369de832
      Blake Mizerany authored
      This removes the extra flushProgress() at the end of handlePull. It is
      unnecessary because final progress updates are flushed in all cases of
      the main select loop.
      369de832
    • Blake Mizerany's avatar
      server/internal/client/ollama: cleanup use of multiple counters (#10304) · 3457a315
      Blake Mizerany authored
      The completed and received counters must work in tandem and the code
      should better reflect that. Previously, the act of updating them was 2-3
      lines of code duplicated in multiple places. This consolidates them into
      a single update closure for easy reading and maintenance.
      
      This also simplifies error handling in places where we can use a return
      parameter and defer to handle the error case for updates.
      
      Also, remove the old Layer field from the trackingReader struct.
      3457a315
    • Daniel Hiltgen's avatar
      Give tests more time to run (#10306) · 56dc316a
      Daniel Hiltgen authored
      Fix flake failures on windows
      56dc316a
    • Blake Mizerany's avatar
      cmd: add retry/backoff (#10069) · 1e7f62cb
      Blake Mizerany authored
      This commit adds retry/backoff to the registry client for pull requests.
      
      Also, revert progress indication to match original client's until we can
      "get it right."
      
      Also, make WithTrace wrap existing traces instead of clobbering them.
      This allows clients to compose traces.
      1e7f62cb
  21. 14 Apr, 2025 1 commit
  22. 10 Apr, 2025 1 commit
  23. 09 Apr, 2025 1 commit
  24. 08 Apr, 2025 1 commit
  25. 07 Apr, 2025 1 commit
  26. 03 Apr, 2025 1 commit
    • Bruce MacDonald's avatar
      llm: set done reason at server level (#9830) · e53b3cbd
      Bruce MacDonald authored
      No functional change. Many different done reasons can be set at the runner
      level, so rather than obsuring them we should return them to the server
      process and let it choose what to do with the done reason. This separates
      the API concerns from the runner.
      e53b3cbd