chatlas 0.17.0
New features
ChatOpenAICompletions()(and providers built on it likeChatDeepSeek,ChatOpenRouter, etc.) now extractsreasoning_contentfrom model responses asContentThinkingobjects. A newpreserve_thinkingparameter controls whether reasoning content is sent back to the API in multi-turn conversations; it defaults toFalsebut is set toTrueforChatDeepSeek(required for V4 tool-calling) andChatOpenRouter(recommended for quality). (#295)
Improvements
.stream()and.stream_async()now handle thinking content differently by mode. Withcontent="text", thinking is suppressed entirely. Withcontent="all", thinking fragments are yielded asContentThinkingDeltaobjects with aphaseproperty ("start","body", or"end") that communicates block boundaries to downstream consumers without injecting synthetic strings into the stream. (#299, #297, #294)- Updated default models across all providers to current generation. (#292)
- Updated token pricing data from LiteLLM. (#292)
ChatBedrockAnthropic()gains areasoningparameter for extended thinking, matching the existing parameter onChatAnthropic(). (#286)
Full changelog: https://github.com/posit-dev/chatlas/blob/main/CHANGELOG.md