Skip to content

Commit

Permalink
增加失败重试机制、超时策略,对话模块增加超拟人大模型参数支持,微调api增加删除和取消操作方法 (#30)
Browse files Browse the repository at this point in the history
* 移动包路径,规范一些私有路径的使用

* 一些微调相关的代码

* 增加fine_tuning信息

* 增加链接超时时间

* 增加增加重试机制

* 增加增加重试机制,测试用例

* 拟人模型对话参数支持

* 更新日志

* pydantic 受保护字段修改
  • Loading branch information
glide-the authored Apr 30, 2024
1 parent 83b5244 commit 49f87ba
Show file tree
Hide file tree
Showing 44 changed files with 1,163 additions and 231 deletions.
50 changes: 50 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,53 @@ test/
examples/
.pypirc
/poetry.lock
/logs/local_1714381518619/zhipuai.log
/logs/local_1714381521241/zhipuai.log
/logs/local_1714381523244/zhipuai.log
/logs/local_1714381534486/zhipuai.log
/logs/local_1714381536161/zhipuai.log
/logs/local_1714381537762/zhipuai.log
/logs/local_1714381540228/zhipuai.log
/logs/local_1714381541675/zhipuai.log
/logs/local_1714381544183/zhipuai.log
/logs/local_1714381554442/zhipuai.log
/logs/local_1714381557457/zhipuai.log
/logs/local_1714381560830/zhipuai.log
/logs/local_1714381561389/zhipuai.log
/logs/local_1714381570760/zhipuai.log
/logs/local_1714381572227/zhipuai.log
/logs/local_1714381574060/zhipuai.log
/logs/local_1714381574645/zhipuai.log
/logs/local_1714381586122/zhipuai.log
/logs/local_1714381596219/zhipuai.log
/logs/local_1714381598857/zhipuai.log
/logs/local_1714381599471/zhipuai.log
/logs/local_1714381609065/zhipuai.log
/logs/local_1714381621513/zhipuai.log
/logs/local_1714381622121/zhipuai.log
/logs/local_1714381833346/zhipuai.log
/logs/local_1714381918707/zhipuai.log
/logs/local_1714382871154/zhipuai.log
/logs/local_1714382884150/zhipuai.log
/logs/local_1714382885846/zhipuai.log
/logs/local_1714382887557/zhipuai.log
/logs/local_1714382889632/zhipuai.log
/logs/local_1714382891424/zhipuai.log
/logs/local_1714382893632/zhipuai.log
/logs/local_1714382904235/zhipuai.log
/logs/local_1714382907134/zhipuai.log
/logs/local_1714382908915/zhipuai.log
/logs/local_1714382912290/zhipuai.log
/logs/local_1714382915919/zhipuai.log
/logs/local_1714382935679/zhipuai.log
/logs/local_1714382945693/zhipuai.log
/logs/local_1714382951968/zhipuai.log
/logs/local_1714382953236/zhipuai.log
/logs/local_1714382954392/zhipuai.log
/logs/local_1714382957260/zhipuai.log
/logs/local_1714382958299/zhipuai.log
/logs/local_1714382959178/zhipuai.log
/logs/local_1714382963052/zhipuai.log
/logs/local_1714382964289/zhipuai.log
/logs/local_1714382975167/zhipuai.log
/logs/local_1714382979034/zhipuai.log
20 changes: 12 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -153,14 +153,12 @@ def test_completions_charglm():
"content": "请问你在做什么"
}
],
extra_body={
"meta": {
"user_info": "我是陆星辰,是一个男性,是一位知名导演,也是苏梦远的合作导演。我擅长拍摄音乐题材的电影。苏梦远对我的态度是尊敬的,并视我为良师益友。",
"bot_info": "苏梦远,本名苏远心,是一位当红的国内女歌手及演员。在参加选秀节目后,凭借独特的嗓音及出众的舞台魅力迅速成名,进入娱乐圈。她外表美丽动人,但真正的魅力在于她的才华和勤奋。苏梦远是音乐学院毕业的优秀生,善于创作,拥有多首热门原创歌曲。除了音乐方面的成就,她还热衷于慈善事业,积极参加公益活动,用实际行动传递正能量。在工作中,她对待工作非常敬业,拍戏时总是全身心投入角色,赢得了业内人士的赞誉和粉丝的喜爱。虽然在娱乐圈,但她始终保持低调、谦逊的态度,深得同行尊重。在表达时,苏梦远喜欢使用“我们”和“一起”,强调团队精神。",
"bot_name": "苏梦远",
"user_name": "陆星辰"
},
}
meta={
"user_info": "我是陆星辰,是一个男性,是一位知名导演,也是苏梦远的合作导演。我擅长拍摄音乐题材的电影。苏梦远对我的态度是尊敬的,并视我为良师益友。",
"bot_info": "苏梦远,本名苏远心,是一位当红的国内女歌手及演员。在参加选秀节目后,凭借独特的嗓音及出众的舞台魅力迅速成名,进入娱乐圈。她外表美丽动人,但真正的魅力在于她的才华和勤奋。苏梦远是音乐学院毕业的优秀生,善于创作,拥有多首热门原创歌曲。除了音乐方面的成就,她还热衷于慈善事业,积极参加公益活动,用实际行动传递正能量。在工作中,她对待工作非常敬业,拍戏时总是全身心投入角色,赢得了业内人士的赞誉和粉丝的喜爱。虽然在娱乐圈,但她始终保持低调、谦逊的态度,深得同行尊重。在表达时,苏梦远喜欢使用“我们”和“一起”,强调团队精神。",
"bot_name": "苏梦远",
"user_name": "陆星辰"
},
)
print(response)
test_completions_charglm()
Expand Down Expand Up @@ -212,6 +210,12 @@ Error codes are as followed:

### 更新日志

`2024-4-29`
- 一些 `python3.7` 的代码适配问题,
- 接口失败重试机制,通过 `retry` 参数控制重试次数,默认为3次
- 接口超时策略调整,通过 `Timeout` 控制接口`connect``read` 超时时间,默认为`timeout=300.0, connect=8.0`
- 对话模块增加超拟人大模型参数支持,`model="charglm-3"`, `meta`参数支持

`2024-4-23`
- 一些兼容 `pydantic<3,>=1.9.0 ` 的代码,
- 报文处理的业务请求参数和响应参数可通过配置扩充
Expand Down
10 changes: 5 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "zhipuai"
version = "2.0.1.20240427"
version = "2.0.1.20240429"
description = "A SDK library for accessing big model apis from ZhipuAI"
authors = ["Zhipu AI"]
readme = "README.md"
Expand Down Expand Up @@ -104,7 +104,7 @@ markers = [
asyncio_mode = "auto"

# https://python-poetry.org/docs/repositories/
#[[tool.poetry.source]]
#name = "tsinghua"
#url = "https://pypi.tuna.tsinghua.edu.cn/simple/"
#priority = "default"
[[tool.poetry.source]]
name = "tsinghua"
url = "https://pypi.tuna.tsinghua.edu.cn/simple/"
priority = "default"
9 changes: 7 additions & 2 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@

import pytest
from pytest import Config, Function, Parser
from zhipuai.core.logs import (
get_config_dict,
get_log_file,
get_timestamp_ms,
)



Expand Down Expand Up @@ -94,8 +99,8 @@ def logging_conf() -> dict:
return get_config_dict(
"DEBUG",
get_log_file(log_path="logs", sub_dir=f"local_{get_timestamp_ms()}"),
122,
111,
1024*1024,
1024*1024*1024,
)

@pytest.fixture
Expand Down
39 changes: 21 additions & 18 deletions tests/integration_tests/test_charglm3.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
from zhipuai import ZhipuAI
import zhipuai

import logging
import logging.config

def test_completions_charglm():

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

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

Expand All @@ -75,4 +75,7 @@ def test_retrieve_completion_result():
except zhipuai.core._errors.APIRequestFailedError as err:
print(err)
except zhipuai.core._errors.APIInternalError as err:
print(err)
print(err)

if __name__ == "__main__":
test_retrieve_completion_result()
Loading

0 comments on commit 49f87ba

Please sign in to comment.