# lmstudio: Fill max_tokens using the response from /models \(\#25606\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/52fa7ababb7feff1a3434e03e94d7a26b34b3d24)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: 52fa7ababb7feff1a3434e03e94d7a26b34b3d24

Requested commit: 52fa7ababb7feff1a3434e03e94d7a26b34b3d24

Commit: 52fa7ababb7feff1a3434e03e94d7a26b34b3d24

Tree: 7c58e4892ab4e54966cd092f891c8f9364439687

Author: Elijah McMorris

Committer: GitHub

## Message

````
lmstudio: Fill max_tokens using the response from /models (#25606)

The info for `max_tokens` for the model is included in
`{api_url}/models`
I don't think this needs to be `.clamp` like in
`crates/ollama/src/ollama.rs` `get_max_tokens`, but it might need to be

## Before:
Every model shows 2k

![image](https://github.com/user-attachments/assets/676075c8-0ceb-44b1-ae27-72ed6a6d783c)

## After:

![image](https://github.com/user-attachments/assets/8291535b-976e-4601-b617-1a508bf44e12)

### Json from `{api_url}/models` with model not loaded
```json
  {
      "id": "qwen2.5-coder-1.5b-instruct-mlx",
      "object": "model",
      "type": "llm",
      "publisher": "lmstudio-community",
      "arch": "qwen2",
      "compatibility_type": "mlx",
      "quantization": "4bit",
      "state": "not-loaded",
      "max_context_length": 32768
    },
```

## Notes
The response from `{api_url}/models` seems to return the `max_tokens`
for the model, not the currently configured context length, but I think
showing the `max_tokens` for the model is better than setting 2k for
everything

`loaded_context_length` exists, but only if the model is loaded at the
startup of zed, which usually isn't the case

maybe `fetch_models` should be rerun when swapping lmstudio models

### Currently configured context
this isn't shown in `{api_url}/models`

![image](https://github.com/user-attachments/assets/8511cb9d-914b-4065-9eba-c0b086ad253b)

### Json from `{api_url}/models` with model loaded
```json
  {
     "id": "qwen2.5-coder-1.5b-instruct-mlx",
      "object": "model",
      "type": "llm",
      "publisher": "lmstudio-community",
      "arch": "qwen2",
      "compatibility_type": "mlx",
      "quantization": "4bit",
      "state": "loaded",
      "max_context_length": 32768,
      "loaded_context_length": 4096
    },
```

Release Notes:

- lmstudio: Fixed showing `max_tokens` in the assistant panel

---------

Co-authored-by: Peter Tripp <peter@zed.dev>
````

## Parents

- [5ad51ca48eba5784ec65abfda98f4b06f846daba](https://git.cafe/gitcafe/zed/commit/5ad51ca48eba5784ec65abfda98f4b06f846daba?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/52fa7ababb7feff1a3434e03e94d7a26b34b3d24?format=markdown)
