glm-4.5 model

This commit is contained in:
jinhaiyang 2025-07-22 16:46:04 +08:00
parent 6ffee13759
commit ad7af2d6e2
3 changed files with 31 additions and 0 deletions

View file

@ -56,6 +56,8 @@ class AsyncCompletions(BaseAPI):
extra_headers: Headers | None = None, extra_headers: Headers | None = None,
extra_body: Body | None = None, extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
response_format: object | None = None,
thinking: object | None = None,
) -> AsyncTaskStatus: ) -> AsyncTaskStatus:
""" """
Create an asynchronous chat completion task Create an asynchronous chat completion task
@ -79,6 +81,8 @@ class AsyncCompletions(BaseAPI):
extra_headers (Headers): Additional HTTP headers extra_headers (Headers): Additional HTTP headers
extra_body (Body): Additional request body parameters extra_body (Body): Additional request body parameters
timeout (float | httpx.Timeout): Request timeout timeout (float | httpx.Timeout): Request timeout
response_format (Optional[object]): Response format specification
thinking (Optional[object]): Configuration parameters for model reasoning
""" """
_cast_type = AsyncTaskStatus _cast_type = AsyncTaskStatus
logger.debug(f'temperature:{temperature}, top_p:{top_p}') logger.debug(f'temperature:{temperature}, top_p:{top_p}')
@ -121,6 +125,8 @@ class AsyncCompletions(BaseAPI):
'tool_choice': tool_choice, 'tool_choice': tool_choice,
'meta': meta, 'meta': meta,
'extra': maybe_transform(extra, code_geex_params.CodeGeexExtra), 'extra': maybe_transform(extra, code_geex_params.CodeGeexExtra),
"response_format": response_format,
"thinking": thinking
} }
return self._post( return self._post(
'/async/chat/completions', '/async/chat/completions',

View file

@ -62,6 +62,7 @@ class Completions(BaseAPI):
extra_body: Body | None = None, extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
response_format: object | None = None, response_format: object | None = None,
thinking: object | None = None,
) -> Completion | StreamResponse[ChatCompletionChunk]: ) -> Completion | StreamResponse[ChatCompletionChunk]:
""" """
Create a chat completion Create a chat completion
@ -87,6 +88,7 @@ class Completions(BaseAPI):
extra_body (Body): Additional request body parameters extra_body (Body): Additional request body parameters
timeout (float | httpx.Timeout): Request timeout timeout (float | httpx.Timeout): Request timeout
response_format (object): Response format specification response_format (object): Response format specification
thinking (Optional[object]): Configuration parameters for model reasoning
""" """
logger.debug(f'temperature:{temperature}, top_p:{top_p}') logger.debug(f'temperature:{temperature}, top_p:{top_p}')
if temperature is not None and temperature != NOT_GIVEN: if temperature is not None and temperature != NOT_GIVEN:
@ -131,6 +133,7 @@ class Completions(BaseAPI):
'meta': meta, 'meta': meta,
'extra': maybe_transform(extra, code_geex_params.CodeGeexExtra), 'extra': maybe_transform(extra, code_geex_params.CodeGeexExtra),
'response_format': response_format, 'response_format': response_format,
"thinking": thinking
} }
) )
return self._post( return self._post(

View file

@ -45,17 +45,39 @@ class CompletionMessage(BaseModel):
tool_calls: Optional[List[CompletionMessageToolCall]] = None tool_calls: Optional[List[CompletionMessageToolCall]] = None
class PromptTokensDetails(BaseModel):
"""
Detailed breakdown of token usage for the input prompt
Attributes:
cached_tokens: Number of tokens reused from cache
"""
cached_tokens: int
class CompletionTokensDetails(BaseModel):
"""
Detailed breakdown of token usage for the model completion
Attributes:
reasoning_tokens: Number of tokens used for reasoning steps
"""
reasoning_tokens: int
class CompletionUsage(BaseModel): class CompletionUsage(BaseModel):
""" """
Token usage information for completion Token usage information for completion
Attributes: Attributes:
prompt_tokens: Number of tokens in the prompt prompt_tokens: Number of tokens in the prompt
prompt_tokens_details: Detailed breakdown of token usage for the input prompt
completion_tokens: Number of tokens in the completion completion_tokens: Number of tokens in the completion
completion_tokens_details: Detailed breakdown of token usage for the model completion
total_tokens: Total number of tokens used total_tokens: Total number of tokens used
""" """
prompt_tokens: int prompt_tokens: int
prompt_tokens_details: Optional[PromptTokensDetails] = None
completion_tokens: int completion_tokens: int
completion_tokens_details: Optional[CompletionTokensDetails] = None
total_tokens: int total_tokens: int