diff --git a/pyproject.toml b/pyproject.toml index fb9ead5..940194b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "zhipuai" -version = "2.1.5.20250717" +version = "2.1.5.20250724" description = "A SDK library for accessing big model apis from ZhipuAI" authors = ["Zhipu AI"] readme = "README.md" @@ -51,9 +51,9 @@ extended_testing = [ [tool.ruff.lint] select = [ - "E", # pycodestyle - "F", # pyflakes - "I", # isort + "E", # pycodestyle + "F", # pyflakes + "I", # isort "T201", # print ] diff --git a/tests/integration_tests/test_agents.py b/tests/integration_tests/test_agents.py index 7cebd9f..60db90e 100644 --- a/tests/integration_tests/test_agents.py +++ b/tests/integration_tests/test_agents.py @@ -52,3 +52,48 @@ def test_completions_stream(logging_conf): print(err) except zhipuai.core._errors.APIStatusError as err: print(err) + +def test_correction(): + client = ZhipuAI() # 请替换为实际API密钥 + + response = client.agents.invoke( + agent_id="intelligent_education_correction_agent", + messages=[ + { + "role": "user", + "content": [ + { + "type": "image_url", + "image_url": "https://b0.bdstatic.com/e24937f1f6b9c0ff6895e1012c981515.jpg" + } + ] + } + ] + ) + print(response) + +def test_correction_result(image_id,uuids,trace_id): + client = ZhipuAI() + + response = client.agents.async_result( + agent_id="intelligent_education_correction_polling", + custom_variables={ + "images": [ + { + "image_id": image_id, + "uuids": uuids + } + ], + "trace_id": trace_id + } + ) + print(response) + +def main(): + test_completions_sync() + test_completions_stream() + # test_correction() + # test_correction_result(image_id,uuids,trace_id) + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/tests/unit_tests/test_agents.py b/tests/unit_tests/test_agents.py new file mode 100644 index 0000000..d8108a1 --- /dev/null +++ b/tests/unit_tests/test_agents.py @@ -0,0 +1,34 @@ +def test_agents_completion_error_field(): + from zhipuai.types.agents.agents_completion import AgentsCompletion, AgentsError, AgentsCompletionChoice, AgentsCompletionMessage, AgentsCompletionUsage + + # 构造一个 AgentsError + error = AgentsError(code="404", message="Not Found") + + # 构造一个完整的 AgentsCompletion + completion = AgentsCompletion( + agent_id="test_agent", + conversation_id="conv_1", + status="failed", + choices=[ + AgentsCompletionChoice( + index=0, + finish_reason="error", + message=AgentsCompletionMessage(content="error", role="system") + ) + ], + request_id="req_1", + id="id_1", + usage=AgentsCompletionUsage(prompt_tokens=1, completion_tokens=1, total_tokens=2), + error=error + ) + + # 检查 error 字段是否为 AgentsError 实例 + assert isinstance(completion.error, AgentsError) + assert completion.error.code == "404" + assert completion.error.message == "Not Found" + + # 检查序列化 + as_dict = completion.model_dump() + assert as_dict["error"]["code"] == "404" + assert as_dict["error"]["message"] == "Not Found" + print("test_agents_completion_error_field passed.") \ No newline at end of file diff --git a/zhipuai/__version__.py b/zhipuai/__version__.py index 712e5cb..355f8d5 100644 --- a/zhipuai/__version__.py +++ b/zhipuai/__version__.py @@ -1,2 +1 @@ - -__version__ = 'v2.1.0' \ No newline at end of file +__version__ = 'v2.1.5.20250724' \ No newline at end of file diff --git a/zhipuai/types/agents/agents_completion.py b/zhipuai/types/agents/agents_completion.py index 1f37a24..20fa271 100644 --- a/zhipuai/types/agents/agents_completion.py +++ b/zhipuai/types/agents/agents_completion.py @@ -19,7 +19,7 @@ class AgentsCompletionChoice(BaseModel): finish_reason: str message: AgentsCompletionMessage -class AgentsError: +class AgentsError(BaseModel): code: Optional[str] = None message: Optional[str] = None diff --git a/zhipuai/types/agents/agents_completion_chunk.py b/zhipuai/types/agents/agents_completion_chunk.py index 32911c1..9df8624 100644 --- a/zhipuai/types/agents/agents_completion_chunk.py +++ b/zhipuai/types/agents/agents_completion_chunk.py @@ -26,7 +26,7 @@ class AgentsCompletionUsage(BaseModel): completion_tokens: int total_tokens: int -class AgentsError: +class AgentsError(BaseModel): code: Optional[str] = None message: Optional[str] = None