Skip to content

types: add 'max' think level to match Go ThinkValue#702

Open
vaderollama wants to merge 1 commit into
ollama:mainfrom
vaderollama:fix/think-max-level
Open

types: add 'max' think level to match Go ThinkValue#702
vaderollama wants to merge 1 commit into
ollama:mainfrom
vaderollama:fix/think-max-level

Conversation

@vaderollama

Copy link
Copy Markdown

What & Why

The Go API's ThinkValue type accepts "max" as a valid string level (alongside "low", "medium", "high"), but the Python client was missing 'max' from all think parameter annotations.

This adds 'max' consistently across:

  • GenerateRequest.think (_types.py)
  • ChatRequest.think (_types.py)
  • Client.generate — all 3 overloads (_client.py)
  • Client.chat — all 3 overloads (_client.py)
  • AsyncClient.generate — all 3 overloads (_client.py)
  • AsyncClient.chat — all 3 overloads (_client.py)

Context

Supersedes #681 which only patched _types.py and missed the _client.py overloads. This PR covers all 14 annotation sites in one pass.

Testing

  • test_generate_think_annotation_matches_chat — updated comment, still passes
  • test_think_max_level_accepted — new regression test verifying 'max' is present in all four methods' think annotations
tests/test_client.py::test_generate_think_annotation_matches_chat PASSED
tests/test_client.py::test_think_max_level_accepted PASSED

@ParthSareen

The Go API's ThinkValue type accepts 'max' as a valid string level
(in addition to 'low', 'medium', 'high'), but the Python client was
missing it from all think annotations across _types.py and _client.py.

This adds 'max' to every think parameter annotation consistently:
- GenerateRequest.think
- ChatRequest.think
- Client.generate (all 3 overloads)
- Client.chat (all 3 overloads)
- AsyncClient.generate (all 3 overloads)
- AsyncClient.chat (all 3 overloads)

Also adds a regression test verifying 'max' is present in all four
methods' think annotations.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant