Package: gts-engine-client
GTS Engine ClientGTS Engine Client是配合GTS Engine使用的官方API，通过封装HTTP Post请求，让您更方便地使用Python调用GTS Engine，通过几行代码即可轻松训练和部署你的AI模型。快速链接安装使用示例接口详情GTS Engine引用安装您可以通过pip直接进行安装。pipinstall--upgradegts-engine-client也可以clone下github项目后进行安装。gitclonehttps://github.com/IDEA-CCNL/GTS-Engine-Client.gitcdGTS-Engine-Client
pythonsetup.pyinstall使用示例下面给出一个简单的使用示例。首先，您需要使用GTS Engine的开源代码或者Docker启动服务。fromgts_engine_clientimportGTSEngineClient#ip和port参数与启动服务的ip和port一致client=GTSEngineClient(ip="192.168.190.2",port="5207")# 创建任务 (为了方便演示，创建2个任务)client.create_task(task_name="test_task1",task_type="classification",engine_type="qiankunding")# {'ret_code': 200, 'message': 'task成功创建', 'task_id': 'test_task1'}client.create_task(task_name="test_task2",task_type="classification",engine_type="qiankunding")# {'ret_code': 200, 'message': 'task成功创建', 'task_id': 'test_task2'}# 列出任务列表client.list_tasks()# {'ret_code': 200, 'message': 'Success', 'tasks': ['test_task1', 'test_task2']}# 查看任务状态client.check_task_status(task_id="test_task1")# {'ret_code': 0, 'message': 'Initialized'}# 删除任务client.delete_task(task_id="test_task2")# {'ret_code': 200, 'message': 'Success'}#查看任务状态client.list_tasks()#查看任务状态 删除后任务test_task2已经不在任务列表# {'ret_code': 200, 'message': 'Success', 'tasks': ['test_task1']}# 上传文件 (文件地址写绝对路径)client.upload_file(task_id="test_task1",local_data_path="train.json")# {'ret_code': 200, 'message': '上传成功'}client.upload_file(task_id="test_task1",local_data_path="dev.json")# {'ret_code': 200, 'message': '上传成功'}client.upload_file(task_id="test_task1",local_data_path="test.json")# {'ret_code': 200, 'message': '上传成功'}client.upload_file(task_id="test_task1",local_data_path="labels.json")# {'ret_code': 200, 'message': '上传成功'}# 开始训练 (使用标准模式)client.start_train(task_id="test_task1",train_data="train.json",val_data="dev.json",\test_data="test.json",label_data="labels.json",\max_num_epoch=1,min_num_epoch=1,seed=42,gpuid=1,train_mode="standard")#默认训练模式是标准模式# {'ret_code': 200, 'message': '训练调度成功'}# 开始训练 (使用高级模式)client.upload_file(task_id="test_task1",local_data_path="unlabeled.json")#高级模式需要上传无标签数据# {'ret_code': 200, 'message': '上传成功'}client.start_train(task_id="test_task1",train_data="train.json",val_data="dev.json",\test_data="test.json",label_data="labels.json",unlabeled_data="unlabeled.json",\max_num_epoch=3,min_num_epoch=3,gpuid=1,seed=42,\train_mode="advanced")#train_mode训练模型需要选择 "advanced" 高级模式#查看任务状态client.check_task_status(task_id="test_task1")#查看任务状态  任务在训练中# {'ret_code': 1, 'message': 'On Training'}# 终止训练  （若提前终止训练）client.stop_train(task_id="test_task1")# {'ret_code': 200, 'message': '终止训练成功'}#查看任务状态client.check_task_status(task_id="test_task1")#查看任务状态  任务已停止训练# {'ret_code': 3, 'message': 'Train Stopped'}# 加载已训练好的模型client.start_inference(task_id="test_task1")# {'ret_code': 200, 'message': '加载预测模型'}#查看任务状态client.check_task_status(task_id="test_task1")#查看任务状态  预测模型已加载# {'ret_code': 2, 'message': 'On Inference'}# 开始预测client.inference(task_id="test_task1",samples=[{"content":"怎样的房子才算户型方正？"},{"content":"文登区这些公路及危桥将进入 封闭施工，请注意绕行！"}])# 结束预测client.end_inference(task_id="test_task1")# {'ret_code': 200, 'message': '释放预测模型'}#查看任务状态client.check_task_status(task_id="test_task1")#查看任务状态  回到训练成功的状态# {'ret_code': 2, 'message': 'Train Success'}您可以参考GTS Engine的文档来一步一步地使用GTS Engine快速地训练一个FewCLUE任务。接口详情创建任务create_task(self, task_name: str, task_type: str, engine_type: str)输入参数参数名参数类型释义task_namestr任务名称，需要不同于其他已有的任务engine_typestr引擎类型- qiankunding：乾坤鼎- bagualu: 八卦炉task_typestr根据engine_type选择其支持的任务类型：qiankunding支持三种任务类型- classification：文本分类- similarity：句子相似度- nli：推理任务bagualu支持的两种任务类型- classification：文本分类- ie：信息抽取- summary：摘要生成输出参数函数的返回值是一个字典，字典中包含如下字段：参数名参数类型释义ret_codeint返回码：- 200：创建成功- -100：创建失败task_idstr任务对应的id，全局唯一messagestr其他返回提示消息列出任务列表输入参数:空* 输出参数函数的返回值是一个字典，字典中包含如下字段：参数名参数类型释义ret_codeint返回码：- 200：返回成功- -200：返回失败，任务信息文件不存在- -100：返回失败tasksstr返回任务的列表messagestr其他返回提示消息查看任务状态输入参数参数名参数类型释义taskidstr任务id输出参数参数名参数类型释义retcodeint返回码：- 0：初始化- 1：训练中- 2：训练成功- 3：训练失败- 4：训练停止- 5：开启预测- -100：返回失败- -200：返回失败taskidstr任务idmessagestr其他返回提示消息删除任务输入参数参数名参数类型释义taskidstr任务id输出参数函数的返回值是一个字典，字典中包含如下字段：参数名参数类型释义ret_codeint返回码：- 200：返回成功- -100：返回失败messagestr其他返回提示消息上传文件输入参数参数名参数类型释义taskidstr任务idfilenamestr需要上传的文件路径输出参数参数名参数类型释义ret_codeint返回码：- 200：返回成功- -100：返回失败messagestr其他返回提示消息开始训练输入参数参数名参数类型释义taskidstr任务idtrain_datastr训练数据的文件名val_datastr验证数据的文件名test_datastr测试数据的文件名label_datastr标签数据的文件名unlabeled_datastr无标签数据的文件名train_modestr训练模式，以下两种方式可选：- standard：标准模式- advanced：高级模式seedint随机种子max_num_epochint最大训练轮次min_num_epochint最小训练轮次gpuidint指定训练的GPU输出参数函数的返回值是一个字典，字典中包含如下字段：参数名参数类型释义ret_codeint返回码：- 200：启动训练成功- -100：启动训练失败- -102：返回失败- -101：返回失败messagestr其他返回提示消息终止训练输入参数参数名参数类型释义taskidstr任务id输出参数函数的返回值是一个字典，字典中包含如下字段：参数名参数类型释义ret_codeint返回码：- 200：停止成功- -100：停止失败- -101：停止失败- -102：停止失败messagestr其他返回提示消息开始推理输入参数参数名参数类型释义taskidstr任务id输出参数函数的返回值是一个字典，字典中包含如下字段：参数名参数类型释义ret_codeint返回码：- 200：推理模型启动成功- -100：推理模型启动失败messagestr其他返回提示消息推理输入参数参数名参数类型释义taskidstr任务idsampleslistlist中每个元素是待预测样本输出参数函数的返回值是一个字典，字典中包含如下字段：参数名参数类型释义ret_codeint返回码：- 200：推理成功- -100：未启动推理服务predictionslist推理结果的标签列表probabilitieslist推理结果的概率分布messagestr其他返回提示消息终止推理输入参数参数名参数类型释义taskidstr任务idsampleslistlist中每个元素是待预测样本输出参数函数的返回值是一个字典，字典中包含如下字段：参数名参数类型释义ret_codeint返回码：- 200：推理模型停止成功- -100：推理模型停止失败messagestr其他返回提示消息GTS EngineGTS Engine是粤港澳大湾区数字经济研究院认知计算与自然语言研究中心（简称IDEA-CCNL）研发的一站式NLP模型训练与部署的工具箱，能够让您轻松训练和部署AI模型，将提供乾坤鼎和八卦炉两个系列。其中，乾坤鼎系列使用13亿参数级别的大模型进行训练，能够获得很高的性能。而八卦炉系列使用1亿参数级别的小模型，在兼顾训练和推理效率的同时，尽可能获得良好的性能。详细介绍可以参考GTS Engine文档。引用如果您在研究中使用了我们的工具，请引用我们的工作：@misc{GTS-Engine,
  title={GTS-Engine},
  author={IDEA-CCNL},
  year={2022},
  howpublished={\url{https://github.com/IDEA-CCNL/GTS-Engine}},
}