Skip to content

Commit 49f87ba

Browse files
authored
增加失败重试机制、超时策略,对话模块增加超拟人大模型参数支持,微调api增加删除和取消操作方法 (#30)
* 移动包路径,规范一些私有路径的使用 * 一些微调相关的代码 * 增加fine_tuning信息 * 增加链接超时时间 * 增加增加重试机制 * 增加增加重试机制,测试用例 * 拟人模型对话参数支持 * 更新日志 * pydantic 受保护字段修改
1 parent 83b5244 commit 49f87ba

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+1163
-231
lines changed

.gitignore

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,53 @@ test/
1717
examples/
1818
.pypirc
1919
/poetry.lock
20+
/logs/local_1714381518619/zhipuai.log
21+
/logs/local_1714381521241/zhipuai.log
22+
/logs/local_1714381523244/zhipuai.log
23+
/logs/local_1714381534486/zhipuai.log
24+
/logs/local_1714381536161/zhipuai.log
25+
/logs/local_1714381537762/zhipuai.log
26+
/logs/local_1714381540228/zhipuai.log
27+
/logs/local_1714381541675/zhipuai.log
28+
/logs/local_1714381544183/zhipuai.log
29+
/logs/local_1714381554442/zhipuai.log
30+
/logs/local_1714381557457/zhipuai.log
31+
/logs/local_1714381560830/zhipuai.log
32+
/logs/local_1714381561389/zhipuai.log
33+
/logs/local_1714381570760/zhipuai.log
34+
/logs/local_1714381572227/zhipuai.log
35+
/logs/local_1714381574060/zhipuai.log
36+
/logs/local_1714381574645/zhipuai.log
37+
/logs/local_1714381586122/zhipuai.log
38+
/logs/local_1714381596219/zhipuai.log
39+
/logs/local_1714381598857/zhipuai.log
40+
/logs/local_1714381599471/zhipuai.log
41+
/logs/local_1714381609065/zhipuai.log
42+
/logs/local_1714381621513/zhipuai.log
43+
/logs/local_1714381622121/zhipuai.log
44+
/logs/local_1714381833346/zhipuai.log
45+
/logs/local_1714381918707/zhipuai.log
46+
/logs/local_1714382871154/zhipuai.log
47+
/logs/local_1714382884150/zhipuai.log
48+
/logs/local_1714382885846/zhipuai.log
49+
/logs/local_1714382887557/zhipuai.log
50+
/logs/local_1714382889632/zhipuai.log
51+
/logs/local_1714382891424/zhipuai.log
52+
/logs/local_1714382893632/zhipuai.log
53+
/logs/local_1714382904235/zhipuai.log
54+
/logs/local_1714382907134/zhipuai.log
55+
/logs/local_1714382908915/zhipuai.log
56+
/logs/local_1714382912290/zhipuai.log
57+
/logs/local_1714382915919/zhipuai.log
58+
/logs/local_1714382935679/zhipuai.log
59+
/logs/local_1714382945693/zhipuai.log
60+
/logs/local_1714382951968/zhipuai.log
61+
/logs/local_1714382953236/zhipuai.log
62+
/logs/local_1714382954392/zhipuai.log
63+
/logs/local_1714382957260/zhipuai.log
64+
/logs/local_1714382958299/zhipuai.log
65+
/logs/local_1714382959178/zhipuai.log
66+
/logs/local_1714382963052/zhipuai.log
67+
/logs/local_1714382964289/zhipuai.log
68+
/logs/local_1714382975167/zhipuai.log
69+
/logs/local_1714382979034/zhipuai.log

README.md

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -153,14 +153,12 @@ def test_completions_charglm():
153153
"content": "请问你在做什么"
154154
}
155155
],
156-
extra_body={
157-
"meta": {
158-
"user_info": "我是陆星辰,是一个男性,是一位知名导演,也是苏梦远的合作导演。我擅长拍摄音乐题材的电影。苏梦远对我的态度是尊敬的,并视我为良师益友。",
159-
"bot_info": "苏梦远,本名苏远心,是一位当红的国内女歌手及演员。在参加选秀节目后,凭借独特的嗓音及出众的舞台魅力迅速成名,进入娱乐圈。她外表美丽动人,但真正的魅力在于她的才华和勤奋。苏梦远是音乐学院毕业的优秀生,善于创作,拥有多首热门原创歌曲。除了音乐方面的成就,她还热衷于慈善事业,积极参加公益活动,用实际行动传递正能量。在工作中,她对待工作非常敬业,拍戏时总是全身心投入角色,赢得了业内人士的赞誉和粉丝的喜爱。虽然在娱乐圈,但她始终保持低调、谦逊的态度,深得同行尊重。在表达时,苏梦远喜欢使用“我们”和“一起”,强调团队精神。",
160-
"bot_name": "苏梦远",
161-
"user_name": "陆星辰"
162-
},
163-
}
156+
meta={
157+
"user_info": "我是陆星辰,是一个男性,是一位知名导演,也是苏梦远的合作导演。我擅长拍摄音乐题材的电影。苏梦远对我的态度是尊敬的,并视我为良师益友。",
158+
"bot_info": "苏梦远,本名苏远心,是一位当红的国内女歌手及演员。在参加选秀节目后,凭借独特的嗓音及出众的舞台魅力迅速成名,进入娱乐圈。她外表美丽动人,但真正的魅力在于她的才华和勤奋。苏梦远是音乐学院毕业的优秀生,善于创作,拥有多首热门原创歌曲。除了音乐方面的成就,她还热衷于慈善事业,积极参加公益活动,用实际行动传递正能量。在工作中,她对待工作非常敬业,拍戏时总是全身心投入角色,赢得了业内人士的赞誉和粉丝的喜爱。虽然在娱乐圈,但她始终保持低调、谦逊的态度,深得同行尊重。在表达时,苏梦远喜欢使用“我们”和“一起”,强调团队精神。",
159+
"bot_name": "苏梦远",
160+
"user_name": "陆星辰"
161+
},
164162
)
165163
print(response)
166164
test_completions_charglm()
@@ -212,6 +210,12 @@ Error codes are as followed:
212210

213211
### 更新日志
214212

213+
`2024-4-29`
214+
- 一些 `python3.7` 的代码适配问题,
215+
- 接口失败重试机制,通过 `retry` 参数控制重试次数,默认为3次
216+
- 接口超时策略调整,通过 `Timeout` 控制接口`connect``read` 超时时间,默认为`timeout=300.0, connect=8.0`
217+
- 对话模块增加超拟人大模型参数支持,`model="charglm-3"`, `meta`参数支持
218+
215219
`2024-4-23`
216220
- 一些兼容 `pydantic<3,>=1.9.0 ` 的代码,
217221
- 报文处理的业务请求参数和响应参数可通过配置扩充

pyproject.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "zhipuai"
3-
version = "2.0.1.20240427"
3+
version = "2.0.1.20240429"
44
description = "A SDK library for accessing big model apis from ZhipuAI"
55
authors = ["Zhipu AI"]
66
readme = "README.md"
@@ -104,7 +104,7 @@ markers = [
104104
asyncio_mode = "auto"
105105

106106
# https://python-poetry.org/docs/repositories/
107-
#[[tool.poetry.source]]
108-
#name = "tsinghua"
109-
#url = "https://pypi.tuna.tsinghua.edu.cn/simple/"
110-
#priority = "default"
107+
[[tool.poetry.source]]
108+
name = "tsinghua"
109+
url = "https://pypi.tuna.tsinghua.edu.cn/simple/"
110+
priority = "default"

tests/conftest.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@
55

66
import pytest
77
from pytest import Config, Function, Parser
8+
from zhipuai.core.logs import (
9+
get_config_dict,
10+
get_log_file,
11+
get_timestamp_ms,
12+
)
813

914

1015

@@ -94,8 +99,8 @@ def logging_conf() -> dict:
9499
return get_config_dict(
95100
"DEBUG",
96101
get_log_file(log_path="logs", sub_dir=f"local_{get_timestamp_ms()}"),
97-
122,
98-
111,
102+
1024*1024,
103+
1024*1024*1024,
99104
)
100105

101106
@pytest.fixture

tests/integration_tests/test_charglm3.py

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
from zhipuai import ZhipuAI
22
import zhipuai
33

4+
import logging
5+
import logging.config
46

5-
def test_completions_charglm():
7+
8+
def test_completions_charglm(logging_conf):
9+
logging.config.dictConfig(logging_conf) # type: ignore
610
client = ZhipuAI() # 请填写您自己的APIKey
711
try:
812
response = client.chat.completions.create(
@@ -13,14 +17,12 @@ def test_completions_charglm():
1317
"content": "请问你在做什么"
1418
}
1519
],
16-
extra_body={
17-
"meta": {
18-
"user_info": "我是陆星辰,是一个男性,是一位知名导演,也是苏梦远的合作导演。我擅长拍摄音乐题材的电影。苏梦远对我的态度是尊敬的,并视我为良师益友。",
19-
"bot_info": "苏梦远,本名苏远心,是一位当红的国内女歌手及演员。在参加选秀节目后,凭借独特的嗓音及出众的舞台魅力迅速成名,进入娱乐圈。她外表美丽动人,但真正的魅力在于她的才华和勤奋。苏梦远是音乐学院毕业的优秀生,善于创作,拥有多首热门原创歌曲。除了音乐方面的成就,她还热衷于慈善事业,积极参加公益活动,用实际行动传递正能量。在工作中,她对待工作非常敬业,拍戏时总是全身心投入角色,赢得了业内人士的赞誉和粉丝的喜爱。虽然在娱乐圈,但她始终保持低调、谦逊的态度,深得同行尊重。在表达时,苏梦远喜欢使用“我们”和“一起”,强调团队精神。",
20-
"bot_name": "苏梦远",
21-
"user_name": "陆星辰"
22-
},
23-
}
20+
meta={
21+
"user_info": "我是陆星辰,是一个男性,是一位知名导演,也是苏梦远的合作导演。我擅长拍摄音乐题材的电影。苏梦远对我的态度是尊敬的,并视我为良师益友。",
22+
"bot_info": "苏梦远,本名苏远心,是一位当红的国内女歌手及演员。在参加选秀节目后,凭借独特的嗓音及出众的舞台魅力迅速成名,进入娱乐圈。她外表美丽动人,但真正的魅力在于她的才华和勤奋。苏梦远是音乐学院毕业的优秀生,善于创作,拥有多首热门原创歌曲。除了音乐方面的成就,她还热衷于慈善事业,积极参加公益活动,用实际行动传递正能量。在工作中,她对待工作非常敬业,拍戏时总是全身心投入角色,赢得了业内人士的赞誉和粉丝的喜爱。虽然在娱乐圈,但她始终保持低调、谦逊的态度,深得同行尊重。在表达时,苏梦远喜欢使用“我们”和“一起”,强调团队精神。",
23+
"bot_name": "苏梦远",
24+
"user_name": "陆星辰"
25+
},
2426
)
2527
print(response)
2628

@@ -45,14 +47,12 @@ def test_async_completions():
4547
"content": "请问你在做什么"
4648
}
4749
],
48-
extra_body={
49-
"meta": {
50-
"user_info": "我是陆星辰,是一个男性,是一位知名导演,也是苏梦远的合作导演。我擅长拍摄音乐题材的电影。苏梦远对我的态度是尊敬的,并视我为良师益友。",
51-
"bot_info": "苏梦远,本名苏远心,是一位当红的国内女歌手及演员。在参加选秀节目后,凭借独特的嗓音及出众的舞台魅力迅速成名,进入娱乐圈。她外表美丽动人,但真正的魅力在于她的才华和勤奋。苏梦远是音乐学院毕业的优秀生,善于创作,拥有多首热门原创歌曲。除了音乐方面的成就,她还热衷于慈善事业,积极参加公益活动,用实际行动传递正能量。在工作中,她对待工作非常敬业,拍戏时总是全身心投入角色,赢得了业内人士的赞誉和粉丝的喜爱。虽然在娱乐圈,但她始终保持低调、谦逊的态度,深得同行尊重。在表达时,苏梦远喜欢使用“我们”和“一起”,强调团队精神。",
52-
"bot_name": "苏梦远",
53-
"user_name": "陆星辰"
54-
},
55-
}
50+
meta={
51+
"user_info": "我是陆星辰,是一个男性,是一位知名导演,也是苏梦远的合作导演。我擅长拍摄音乐题材的电影。苏梦远对我的态度是尊敬的,并视我为良师益友。",
52+
"bot_info": "苏梦远,本名苏远心,是一位当红的国内女歌手及演员。在参加选秀节目后,凭借独特的嗓音及出众的舞台魅力迅速成名,进入娱乐圈。她外表美丽动人,但真正的魅力在于她的才华和勤奋。苏梦远是音乐学院毕业的优秀生,善于创作,拥有多首热门原创歌曲。除了音乐方面的成就,她还热衷于慈善事业,积极参加公益活动,用实际行动传递正能量。在工作中,她对待工作非常敬业,拍戏时总是全身心投入角色,赢得了业内人士的赞誉和粉丝的喜爱。虽然在娱乐圈,但她始终保持低调、谦逊的态度,深得同行尊重。在表达时,苏梦远喜欢使用“我们”和“一起”,强调团队精神。",
53+
"bot_name": "苏梦远",
54+
"user_name": "陆星辰"
55+
},
5656
)
5757
print(response)
5858

@@ -75,4 +75,7 @@ def test_retrieve_completion_result():
7575
except zhipuai.core._errors.APIRequestFailedError as err:
7676
print(err)
7777
except zhipuai.core._errors.APIInternalError as err:
78-
print(err)
78+
print(err)
79+
80+
if __name__ == "__main__":
81+
test_retrieve_completion_result()

0 commit comments

Comments
 (0)