Skip to content

Commit 903483d

Browse files
authored
sensitive_word_check (#51)
1 parent 0a801f8 commit 903483d

File tree

10 files changed

+123
-4
lines changed

10 files changed

+123
-4
lines changed

tests/integration_tests/test_chat.py

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -454,5 +454,39 @@ def test_retrieve_completion_result(logging_conf):
454454
print(err)
455455

456456

457-
if __name__ == '__main__':
458-
test_completions_temp0()
457+
def test_completions_sensitive_word_check(logging_conf):
458+
logging.config.dictConfig(logging_conf) # type: ignore
459+
client = ZhipuAI() # 填写您自己的APIKey
460+
try:
461+
# 生成request_id
462+
request_id = time.time()
463+
print(f"request_id:{request_id}")
464+
response = client.chat.completions.create(
465+
request_id=request_id,
466+
model="glm-4",
467+
messages=[
468+
{
469+
"role": "user",
470+
"content": "tell me a joke"
471+
}
472+
],
473+
top_p=1,
474+
temperature=0.9,
475+
max_tokens=2000,
476+
sensitive_word_check={
477+
"type": "ALL",
478+
"status": "DISABLE"
479+
},
480+
user_id="12345678"
481+
)
482+
print(response)
483+
484+
485+
486+
except zhipuai.core._errors.APIRequestFailedError as err:
487+
print(err)
488+
except zhipuai.core._errors.APIInternalError as err:
489+
print(err)
490+
except zhipuai.core._errors.APIStatusError as err:
491+
print(err)
492+

tests/integration_tests/test_images.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,32 @@ def test_images(logging_conf):
1919

2020

2121

22+
except zhipuai.core._errors.APIRequestFailedError as err:
23+
print(err)
24+
except zhipuai.core._errors.APIInternalError as err:
25+
print(err)
26+
except zhipuai.core._errors.APIStatusError as err:
27+
print(err)
28+
29+
30+
def test_images_sensitive_word_check(logging_conf):
31+
logging.config.dictConfig(logging_conf) # type: ignore
32+
client = ZhipuAI() # 填写您自己的APIKey
33+
try:
34+
response = client.images.generations(
35+
model="cogview-3", #填写需要调用的模型名称
36+
prompt="一只可爱的小猫咪",
37+
sensitive_word_check={
38+
"type": "ALL",
39+
"status": "DISABLE"
40+
},
41+
extra_body={"user_id": "1222212"},
42+
user_id="12345678"
43+
)
44+
print(response)
45+
46+
47+
2248
except zhipuai.core._errors.APIRequestFailedError as err:
2349
print(err)
2450
except zhipuai.core._errors.APIInternalError as err:

tests/integration_tests/test_videos.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,31 @@ def test_videos(logging_conf):
2727
print(err)
2828

2929

30+
def test_videos_sensitive_word_check(logging_conf):
31+
logging.config.dictConfig(logging_conf) # type: ignore
32+
client = ZhipuAI() # 填写您自己的APIKey
33+
try:
34+
response = client.videos.generations(
35+
model="cogvideo",
36+
prompt="一个开船的人",
37+
sensitive_word_check={
38+
"type": "ALL",
39+
"status": "DISABLE"
40+
},
41+
user_id="1212222"
42+
)
43+
print(response)
44+
45+
46+
47+
except zhipuai.core._errors.APIRequestFailedError as err:
48+
print(err)
49+
except zhipuai.core._errors.APIInternalError as err:
50+
print(err)
51+
except zhipuai.core._errors.APIStatusError as err:
52+
print(err)
53+
54+
3055
def test_videos_image_url(logging_conf):
3156
logging.config.dictConfig(logging_conf) # type: ignore
3257
client = ZhipuAI() # 填写您自己的APIKey

zhipuai/api_resource/chat/async_completions.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from ...core import make_request_options
1212
from ...types.chat.async_chat_completion import AsyncTaskStatus, AsyncCompletion
1313
from ...types.chat.code_geex import code_geex_params
14+
from ...types.sensitive_word_check import SensitiveWordCheckRequest
1415

1516
logger = logging.getLogger(__name__)
1617

@@ -35,7 +36,7 @@ def create(
3536
seed: int | NotGiven = NOT_GIVEN,
3637
messages: Union[str, List[str], List[int], List[List[int]], None],
3738
stop: Optional[Union[str, List[str], None]] | NotGiven = NOT_GIVEN,
38-
sensitive_word_check: Optional[object] | NotGiven = NOT_GIVEN,
39+
sensitive_word_check: Optional[SensitiveWordCheckRequest] | NotGiven = NOT_GIVEN,
3940
tools: Optional[object] | NotGiven = NOT_GIVEN,
4041
tool_choice: str | NotGiven = NOT_GIVEN,
4142
meta: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,

zhipuai/api_resource/chat/completions.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
from ...types.chat.chat_completion import Completion
1414
from ...types.chat.chat_completion_chunk import ChatCompletionChunk
1515
from ...types.chat.code_geex import code_geex_params
16+
from ...types.sensitive_word_check import SensitiveWordCheckRequest
1617

1718
logger = logging.getLogger(__name__)
1819

@@ -38,7 +39,7 @@ def create(
3839
seed: int | NotGiven = NOT_GIVEN,
3940
messages: Union[str, List[str], List[int], object, None],
4041
stop: Optional[Union[str, List[str], None]] | NotGiven = NOT_GIVEN,
41-
sensitive_word_check: Optional[object] | NotGiven = NOT_GIVEN,
42+
sensitive_word_check: Optional[SensitiveWordCheckRequest] | NotGiven = NOT_GIVEN,
4243
tools: Optional[object] | NotGiven = NOT_GIVEN,
4344
tool_choice: str | NotGiven = NOT_GIVEN,
4445
meta: Optional[Dict[str,str]] | NotGiven = NOT_GIVEN,

zhipuai/api_resource/images.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from ..core import NotGiven, NOT_GIVEN, Headers, Body
99
from ..core import make_request_options
1010
from ..types.image import ImagesResponded
11+
from ..types.sensitive_word_check import SensitiveWordCheckRequest
1112

1213
if TYPE_CHECKING:
1314
from .._client import ZhipuAI
@@ -27,6 +28,7 @@ def generations(
2728
response_format: Optional[str] | NotGiven = NOT_GIVEN,
2829
size: Optional[str] | NotGiven = NOT_GIVEN,
2930
style: Optional[str] | NotGiven = NOT_GIVEN,
31+
sensitive_word_check: Optional[SensitiveWordCheckRequest] | NotGiven = NOT_GIVEN,
3032
user: str | NotGiven = NOT_GIVEN,
3133
request_id: Optional[str] | NotGiven = NOT_GIVEN,
3234
user_id: Optional[str] | NotGiven = NOT_GIVEN,
@@ -46,6 +48,7 @@ def generations(
4648
"n": n,
4749
"quality": quality,
4850
"response_format": response_format,
51+
"sensitive_word_check": sensitive_word_check,
4952
"size": size,
5053
"style": style,
5154
"user": user,

zhipuai/api_resource/videos/videos.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from typing import TYPE_CHECKING, List, Mapping, cast, Optional, Dict
55
from typing_extensions import Literal
66

7+
from ...types.sensitive_word_check import SensitiveWordCheckRequest
78
from ...types.video import video_create_params
89
from ...types.video import VideoObject
910
from ...core import BaseAPI, maybe_transform
@@ -33,6 +34,7 @@ def generations(
3334
*,
3435
prompt: str = None,
3536
image_url: str = None,
37+
sensitive_word_check: Optional[SensitiveWordCheckRequest] | NotGiven = NOT_GIVEN,
3638
request_id: str = None,
3739
user_id: str = None,
3840
extra_headers: Headers | None = None,
@@ -47,6 +49,7 @@ def generations(
4749
"model": model,
4850
"prompt": prompt,
4951
"image_url": image_url,
52+
"sensitive_word_check": sensitive_word_check,
5053
"request_id": request_id,
5154
"user_id": user_id,
5255
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
2+
3+
from .sensitive_word_check import SensitiveWordCheckRequest
4+
5+
6+
__all__ = [
7+
"SensitiveWordCheckRequest"
8+
]
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
from typing import Optional
2+
3+
from typing_extensions import TypedDict
4+
5+
6+
class SensitiveWordCheckRequest(TypedDict, total=False):
7+
type: Optional[str]
8+
"""敏感词类型,当前仅支持ALL"""
9+
status: Optional[str]
10+
"""敏感词启用禁用状态
11+
启用:ENABLE
12+
禁用:DISABLE
13+
备注:默认开启敏感词校验,如果要关闭敏感词校验,需联系商务获取对应权限,否则敏感词禁用不生效。
14+
"""

zhipuai/types/video/video_create_params.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,17 @@
66

77
__all__ = ["VideoCreateParams"]
88

9+
from ..sensitive_word_check import SensitiveWordCheckRequest
10+
911

1012
class VideoCreateParams(TypedDict, total=False):
1113
model: str
1214
"""模型编码"""
1315
prompt: str
1416
"""所需视频的文本描述"""
1517
image_url: str
18+
"""所需视频的文本描述"""
19+
sensitive_word_check: Optional[SensitiveWordCheckRequest]
1620
"""支持 URL 或者 Base64、传入 image 奖进行图生视频
1721
* 图片格式:
1822
* 图片大小:"""

0 commit comments

Comments
 (0)