feat: update new models glm-5.2 and support reasoning_effort (#72)
This commit is contained in:
parent
d8d898bbf1
commit
ca5109c0aa
9 changed files with 25 additions and 22 deletions
|
|
@ -11,7 +11,7 @@
|
||||||
## ✨ Core Features
|
## ✨ Core Features
|
||||||
|
|
||||||
### 🤖 **Chat Completions**
|
### 🤖 **Chat Completions**
|
||||||
- **Standard Chat**: Create chat completions with various models including `glm-5.1`
|
- **Standard Chat**: Create chat completions with various models including `glm-5.2`
|
||||||
- **Streaming Support**: Real-time streaming responses for interactive applications
|
- **Streaming Support**: Real-time streaming responses for interactive applications
|
||||||
- **Tool Calling**: Function calling capabilities for enhanced AI interactions
|
- **Tool Calling**: Function calling capabilities for enhanced AI interactions
|
||||||
- **Multimodal Chat**: Image understanding capabilities with vision models
|
- **Multimodal Chat**: Image understanding capabilities with vision models
|
||||||
|
|
@ -104,7 +104,7 @@ client = ZhipuAiClient(api_key="your-api-key")
|
||||||
|
|
||||||
# Create chat completion
|
# Create chat completion
|
||||||
response = client.chat.completions.create(
|
response = client.chat.completions.create(
|
||||||
model="glm-5.1",
|
model="glm-5.2",
|
||||||
messages=[
|
messages=[
|
||||||
{"role": "user", "content": "Hello, Z.ai!"}
|
{"role": "user", "content": "Hello, Z.ai!"}
|
||||||
]
|
]
|
||||||
|
|
@ -278,7 +278,7 @@ client = ZaiClient(api_key="your-api-key")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
response = client.chat.completions.create(
|
response = client.chat.completions.create(
|
||||||
model="glm-5.1",
|
model="glm-5.2",
|
||||||
messages=[
|
messages=[
|
||||||
{"role": "user", "content": "Hello, Z.ai!"}
|
{"role": "user", "content": "Hello, Z.ai!"}
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
## ✨ 核心功能
|
## ✨ 核心功能
|
||||||
|
|
||||||
### 🤖 **对话补全**
|
### 🤖 **对话补全**
|
||||||
- **标准对话**: 支持 `glm-5.1` 等多种模型的对话补全
|
- **标准对话**: 支持 `glm-5.2` 等多种模型的对话补全
|
||||||
- **流式支持**: 实时流式响应,适用于交互式应用
|
- **流式支持**: 实时流式响应,适用于交互式应用
|
||||||
- **工具调用**: 函数调用能力,增强 AI 交互体验
|
- **工具调用**: 函数调用能力,增强 AI 交互体验
|
||||||
- **多模态对话**: 支持图像理解的视觉模型
|
- **多模态对话**: 支持图像理解的视觉模型
|
||||||
|
|
@ -106,7 +106,7 @@ client = ZhipuAiClient(api_key="your-api-key")
|
||||||
|
|
||||||
# Create chat completion
|
# Create chat completion
|
||||||
response = client.chat.completions.create(
|
response = client.chat.completions.create(
|
||||||
model="glm-5.1",
|
model="glm-5.2",
|
||||||
messages=[
|
messages=[
|
||||||
{"role": "user", "content": "Hello, Z.ai!"}
|
{"role": "user", "content": "Hello, Z.ai!"}
|
||||||
]
|
]
|
||||||
|
|
@ -285,7 +285,7 @@ client = ZaiClient(api_key="your-api-key") # 请填写您自己的APIKey
|
||||||
|
|
||||||
try:
|
try:
|
||||||
response = client.chat.completions.create(
|
response = client.chat.completions.create(
|
||||||
model="glm-5.1",
|
model="glm-5.2",
|
||||||
messages=[
|
messages=[
|
||||||
{"role": "user", "content": "你好, Z.ai !"}
|
{"role": "user", "content": "你好, Z.ai !"}
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ def completion():
|
||||||
|
|
||||||
# Create chat completion
|
# Create chat completion
|
||||||
response = client.chat.completions.create(
|
response = client.chat.completions.create(
|
||||||
model='glm-5.1',
|
model='glm-5.2',
|
||||||
messages=[{'role': 'user', 'content': 'Hello, Z.ai!'}],
|
messages=[{'role': 'user', 'content': 'Hello, Z.ai!'}],
|
||||||
temperature=1.0,
|
temperature=1.0,
|
||||||
)
|
)
|
||||||
|
|
@ -19,7 +19,7 @@ def completion_with_stream():
|
||||||
|
|
||||||
# Create chat completion
|
# Create chat completion
|
||||||
response = client.chat.completions.create(
|
response = client.chat.completions.create(
|
||||||
model='glm-5.1',
|
model='glm-5.2',
|
||||||
messages=[
|
messages=[
|
||||||
{'role': 'system', 'content': 'You are a helpful assistant.'},
|
{'role': 'system', 'content': 'You are a helpful assistant.'},
|
||||||
{'role': 'user', 'content': 'Tell me a story about AI.'},
|
{'role': 'user', 'content': 'Tell me a story about AI.'},
|
||||||
|
|
@ -38,7 +38,7 @@ def completion_with_websearch():
|
||||||
|
|
||||||
# Create chat completion
|
# Create chat completion
|
||||||
response = client.chat.completions.create(
|
response = client.chat.completions.create(
|
||||||
model='glm-5.1',
|
model='glm-5.2',
|
||||||
messages=[
|
messages=[
|
||||||
{'role': 'system', 'content': 'You are a helpful assistant.'},
|
{'role': 'system', 'content': 'You are a helpful assistant.'},
|
||||||
{'role': 'user', 'content': 'What is artificial intelligence?'},
|
{'role': 'user', 'content': 'What is artificial intelligence?'},
|
||||||
|
|
@ -66,7 +66,7 @@ def completion_with_mcp_server_url():
|
||||||
|
|
||||||
# Create chat completion with MCP server URL
|
# Create chat completion with MCP server URL
|
||||||
response = client.chat.completions.create(
|
response = client.chat.completions.create(
|
||||||
model='glm-5.1',
|
model='glm-5.2',
|
||||||
stream=False,
|
stream=False,
|
||||||
messages=[{'role': 'user', 'content': 'Hello, please introduce GPT?'}],
|
messages=[{'role': 'user', 'content': 'Hello, please introduce GPT?'}],
|
||||||
tools=[
|
tools=[
|
||||||
|
|
@ -95,7 +95,7 @@ def completion_with_mcp_server_label():
|
||||||
|
|
||||||
# Create chat completion with MCP server label
|
# Create chat completion with MCP server label
|
||||||
response = client.chat.completions.create(
|
response = client.chat.completions.create(
|
||||||
model='glm-5.1',
|
model='glm-5.2',
|
||||||
stream=False,
|
stream=False,
|
||||||
messages=[{'role': 'user', 'content': 'Hello, please introduce GPT?'}],
|
messages=[{'role': 'user', 'content': 'Hello, please introduce GPT?'}],
|
||||||
tools=[
|
tools=[
|
||||||
|
|
@ -217,7 +217,7 @@ def ofZai():
|
||||||
client = ZaiClient()
|
client = ZaiClient()
|
||||||
print(client.base_url)
|
print(client.base_url)
|
||||||
response = client.chat.completions.create(
|
response = client.chat.completions.create(
|
||||||
model='glm-5.1',
|
model='glm-5.2',
|
||||||
messages=[{'role': 'user', 'content': 'Hello, Z.ai!'}],
|
messages=[{'role': 'user', 'content': 'Hello, Z.ai!'}],
|
||||||
temperature=0.7,
|
temperature=0.7,
|
||||||
)
|
)
|
||||||
|
|
@ -227,7 +227,7 @@ def ofZhipu():
|
||||||
client = ZhipuAiClient()
|
client = ZhipuAiClient()
|
||||||
print(client.base_url)
|
print(client.base_url)
|
||||||
response = client.chat.completions.create(
|
response = client.chat.completions.create(
|
||||||
model='glm-5.1',
|
model='glm-5.2',
|
||||||
messages=[{'role': 'user', 'content': 'Hello, Z.ai!'}],
|
messages=[{'role': 'user', 'content': 'Hello, Z.ai!'}],
|
||||||
temperature=0.7,
|
temperature=0.7,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ def stream_web_search_example():
|
||||||
}]
|
}]
|
||||||
client = ZaiClient()
|
client = ZaiClient()
|
||||||
response = client.chat.completions.create(
|
response = client.chat.completions.create(
|
||||||
model="glm-5.1",
|
model="glm-5.2",
|
||||||
messages=messages,
|
messages=messages,
|
||||||
tools=tools,
|
tools=tools,
|
||||||
stream=True
|
stream=True
|
||||||
|
|
@ -35,7 +35,7 @@ def sync_example():
|
||||||
print("=== GLM-4 Synchronous Example ===")
|
print("=== GLM-4 Synchronous Example ===")
|
||||||
client = ZaiClient()
|
client = ZaiClient()
|
||||||
response = client.chat.completions.create(
|
response = client.chat.completions.create(
|
||||||
model="glm-5.1",
|
model="glm-5.2",
|
||||||
messages=[
|
messages=[
|
||||||
{"role": "system", "content": "You are a helpful assistant who provides professional, accurate, and insightful advice."},
|
{"role": "system", "content": "You are a helpful assistant who provides professional, accurate, and insightful advice."},
|
||||||
{"role": "user", "content": "I'm very interested in the planets of the solar system, especially Saturn. Please provide basic information about Saturn, including its size, composition, ring system, and any unique astronomical phenomena."},
|
{"role": "user", "content": "I'm very interested in the planets of the solar system, especially Saturn. Please provide basic information about Saturn, including its size, composition, ring system, and any unique astronomical phenomena."},
|
||||||
|
|
@ -47,7 +47,7 @@ def async_example():
|
||||||
print("=== GLM-4 Async Example ===")
|
print("=== GLM-4 Async Example ===")
|
||||||
client = ZaiClient()
|
client = ZaiClient()
|
||||||
response = client.chat.asyncCompletions.create(
|
response = client.chat.asyncCompletions.create(
|
||||||
model="glm-5.1",
|
model="glm-5.2",
|
||||||
messages=[
|
messages=[
|
||||||
{
|
{
|
||||||
"role": "user",
|
"role": "user",
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ class ZaiSampler(SamplerBase):
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
model: str = "glm-5",
|
model: str = "glm-5.2",
|
||||||
api_key: str = '',
|
api_key: str = '',
|
||||||
system_message: Optional[str] = None,
|
system_message: Optional[str] = None,
|
||||||
temperature: float = 0.0,
|
temperature: float = 0.0,
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ def main():
|
||||||
client = ZhipuAiClient()
|
client = ZhipuAiClient()
|
||||||
# create chat completion with tool calls and streaming
|
# create chat completion with tool calls and streaming
|
||||||
response = client.chat.completions.create(
|
response = client.chat.completions.create(
|
||||||
model="glm-5.1",
|
model="glm-5.2",
|
||||||
messages=[
|
messages=[
|
||||||
{"role": "user", "content": "How is the weather in Beijing and Shanghai? Please provide the answer in Celsius."},
|
{"role": "user", "content": "How is the weather in Beijing and Shanghai? Please provide the answer in Celsius."},
|
||||||
],
|
],
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
[tool.poetry]
|
[tool.poetry]
|
||||||
name = "zai-sdk"
|
name = "zai-sdk"
|
||||||
version = "0.2.2"
|
version = "0.2.3"
|
||||||
description = "A SDK library for accessing big model apis from Z.ai"
|
description = "A SDK library for accessing big model apis from Z.ai"
|
||||||
authors = ["Z.ai"]
|
authors = ["Z.ai"]
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1,2 @@
|
||||||
__title__ = 'Z.ai'
|
__title__ = 'Z.ai'
|
||||||
__version__ = '0.2.2'
|
__version__ = '0.2.3'
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,8 @@ class Completions(BaseAPI):
|
||||||
response_format: object | None = None,
|
response_format: object | None = None,
|
||||||
thinking: object | None = None,
|
thinking: object | None = None,
|
||||||
watermark_enabled: Optional[bool] | NotGiven = NOT_GIVEN,
|
watermark_enabled: Optional[bool] | NotGiven = NOT_GIVEN,
|
||||||
tool_stream: bool | NotGiven = NOT_GIVEN,
|
tool_stream: bool | NotGiven = NOT_GIVEN,
|
||||||
|
reasoning_effort: Optional[str] | NotGiven = NOT_GIVEN,
|
||||||
) -> Completion | StreamResponse[ChatCompletionChunk]:
|
) -> Completion | StreamResponse[ChatCompletionChunk]:
|
||||||
"""
|
"""
|
||||||
Create a chat completion
|
Create a chat completion
|
||||||
|
|
@ -95,6 +96,7 @@ class Completions(BaseAPI):
|
||||||
thinking (Optional[object]): Configuration parameters for model reasoning
|
thinking (Optional[object]): Configuration parameters for model reasoning
|
||||||
watermark_enabled (Optional[bool]): Whether to enable watermark on generated audio
|
watermark_enabled (Optional[bool]): Whether to enable watermark on generated audio
|
||||||
tool_stream (Optional[bool]): Whether to enable tool streaming
|
tool_stream (Optional[bool]): Whether to enable tool streaming
|
||||||
|
reasoning_effort (Optional[str]): Reasoning effort level, supports none, minimal, low, medium, high, xhigh, max. Effective for glm-5.2 and above models.
|
||||||
"""
|
"""
|
||||||
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:
|
||||||
|
|
@ -143,7 +145,8 @@ class Completions(BaseAPI):
|
||||||
'response_format': response_format,
|
'response_format': response_format,
|
||||||
'thinking': thinking,
|
'thinking': thinking,
|
||||||
'watermark_enabled': watermark_enabled,
|
'watermark_enabled': watermark_enabled,
|
||||||
'tool_stream': tool_stream,
|
'tool_stream': tool_stream,
|
||||||
|
'reasoning_effort': reasoning_effort,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
return self._post(
|
return self._post(
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue