huanxin 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- huanxin-1.0.0/LICENSE +17 -0
- huanxin-1.0.0/MANIFEST.in +3 -0
- huanxin-1.0.0/PKG-INFO +648 -0
- huanxin-1.0.0/README.md +626 -0
- huanxin-1.0.0/huanxin/__init__.py +38 -0
- huanxin-1.0.0/huanxin/cli.py +130 -0
- huanxin-1.0.0/huanxin/hub/__init__.py +38 -0
- huanxin-1.0.0/huanxin/hub/api.py +1186 -0
- huanxin-1.0.0/huanxin/hub/constants.py +431 -0
- huanxin-1.0.0/huanxin/hub/errors.py +14 -0
- huanxin-1.0.0/huanxin/version.py +1 -0
- huanxin-1.0.0/huanxin.egg-info/PKG-INFO +648 -0
- huanxin-1.0.0/huanxin.egg-info/SOURCES.txt +17 -0
- huanxin-1.0.0/huanxin.egg-info/dependency_links.txt +1 -0
- huanxin-1.0.0/huanxin.egg-info/entry_points.txt +2 -0
- huanxin-1.0.0/huanxin.egg-info/requires.txt +1 -0
- huanxin-1.0.0/huanxin.egg-info/top_level.txt +1 -0
- huanxin-1.0.0/pyproject.toml +45 -0
- huanxin-1.0.0/setup.cfg +4 -0
huanxin-1.0.0/LICENSE
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
Apache License
|
|
2
|
+
Version 2.0, January 2004
|
|
3
|
+
https://www.apache.org/licenses/
|
|
4
|
+
|
|
5
|
+
Copyright 2026 HuanXin team
|
|
6
|
+
|
|
7
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
you may not use this file except in compliance with the License.
|
|
9
|
+
You may obtain a copy of the License at
|
|
10
|
+
|
|
11
|
+
https://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
|
|
13
|
+
Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
See the License for the specific language governing permissions and
|
|
17
|
+
limitations under the License.
|
huanxin-1.0.0/PKG-INFO
ADDED
|
@@ -0,0 +1,648 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: huanxin
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: HuanXin Python SDK
|
|
5
|
+
Author: HuanXin team
|
|
6
|
+
License-Expression: Apache-2.0
|
|
7
|
+
Project-URL: Homepage, https://huanxin.cn
|
|
8
|
+
Keywords: huanxin,model,dataset,sdk
|
|
9
|
+
Classifier: Development Status :: 4 - Beta
|
|
10
|
+
Classifier: Operating System :: OS Independent
|
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
17
|
+
Requires-Python: >=3.9
|
|
18
|
+
Description-Content-Type: text/markdown
|
|
19
|
+
License-File: LICENSE
|
|
20
|
+
Requires-Dist: requests>=2.31.0
|
|
21
|
+
Dynamic: license-file
|
|
22
|
+
|
|
23
|
+
# HuanXin SDK
|
|
24
|
+
|
|
25
|
+
HuanXin 平台 Python SDK。
|
|
26
|
+
|
|
27
|
+
## 安装
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
pip install huanxin
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
安装后也会提供 `huanxin` 命令行工具:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
huanxin --help
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## 1 创建模型
|
|
40
|
+
|
|
41
|
+
### 1.1 Python 示例
|
|
42
|
+
|
|
43
|
+
```python
|
|
44
|
+
from huanxin.hub.api import HubApi
|
|
45
|
+
from huanxin.hub.constants import ApplyScene, HardwareTypes, Industries, Languages, Licenses, ModelCategories, ModelLevels, ModelSizes, ModelTasks, OpenType, OwnerType
|
|
46
|
+
|
|
47
|
+
api = HubApi()
|
|
48
|
+
api.login(access_token="YOUR_SDK_TOKEN")
|
|
49
|
+
|
|
50
|
+
api.create_model(
|
|
51
|
+
name="my-test-model",
|
|
52
|
+
nameCn="我的测试模型",
|
|
53
|
+
ownerType=OwnerType.ORG,
|
|
54
|
+
orgName="my-test-org",
|
|
55
|
+
license=Licenses.APACHE_V2,
|
|
56
|
+
openType=OpenType.PUBLIC,
|
|
57
|
+
category=(
|
|
58
|
+
ModelCategories.COMPUTER_VISION,
|
|
59
|
+
ModelTasks.FACIAL_HUMAN_BODY,
|
|
60
|
+
),
|
|
61
|
+
isLocalized=True,
|
|
62
|
+
applyScene=ApplyScene.INFERENCE,
|
|
63
|
+
hardwareType=[
|
|
64
|
+
HardwareTypes.ST910B2,
|
|
65
|
+
HardwareTypes.TSMR100,
|
|
66
|
+
],
|
|
67
|
+
industry=Industries.COMMUNICATION,
|
|
68
|
+
language=[Languages.CHINESE, Languages.ENGLISH],
|
|
69
|
+
modelSize=ModelSizes.BETWEEN_7B_30B,
|
|
70
|
+
modelLevel=ModelLevels.L1,
|
|
71
|
+
description="这是一个用于演示创建模型接口的测试模型示例。",
|
|
72
|
+
file="./README.md",
|
|
73
|
+
zones=[
|
|
74
|
+
{"zoneName": "my-test-zone-1"},
|
|
75
|
+
{"zoneName": "my-test-zone-2", "tagName": "my-test-tag"},
|
|
76
|
+
{"zoneName": "my-test-zone-3", "tagName": "my-test-tag", "secondaryTagName": "my-test-secondary-tag"},
|
|
77
|
+
],
|
|
78
|
+
)
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### 1.2 CLI 示例
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
huanxin create-model \
|
|
85
|
+
--token YOUR_TOKEN \
|
|
86
|
+
--name my-test-model \
|
|
87
|
+
--nameCn 我的测试模型 \
|
|
88
|
+
--ownerType 1 \
|
|
89
|
+
--orgName my-test-org \
|
|
90
|
+
--license "Apache Lincense 2.0" \
|
|
91
|
+
--openType 0 \
|
|
92
|
+
--category computer_vision,facial_human_body \
|
|
93
|
+
--isLocalized \
|
|
94
|
+
--applyScene 1 \
|
|
95
|
+
--hardwareType ST910B2,TSMR100 \
|
|
96
|
+
--industry 0 \
|
|
97
|
+
--language language_chinese,language_english \
|
|
98
|
+
--modelSize 7B-30B \
|
|
99
|
+
--modelLevel L1 \
|
|
100
|
+
--description "这是一个用于演示创建模型接口的测试模型示例。" \
|
|
101
|
+
--file ./README.md \
|
|
102
|
+
--zones my-test-zone-1,my-test-zone-2:my-test-tag,my-test-zone-3:my-test-tag:my-test-secondary-tag
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### 1.3 字段说明
|
|
106
|
+
|
|
107
|
+
`create_model` 的字段说明如下:
|
|
108
|
+
|
|
109
|
+
| 字段 | 是否必填 | 输入方式 |
|
|
110
|
+
| --- | --- |-----------------------------------------------------------------------------------------------------------------------|
|
|
111
|
+
| `name` | 是 | 模型英文名称,3-80 个字符,支持数字、英文大小写以及中划线(-)、下划线(_)、点号(.),首尾字符必须为英文字母或数字,不支持连续特殊符号 |
|
|
112
|
+
| `nameCn` | 否 | 模型中文名称,3-80 个字符,支持中文、数字、英文大小写以及中划线(-)、下划线(_)、点号(.),首尾字符必须为中文、英文字母或数字,不支持连续特殊符号 |
|
|
113
|
+
| `ownerType` | 是 | 模型所有者类型,取值见下文“所有者类型” |
|
|
114
|
+
| `orgName` | 条件必填 | 当 `ownerType=1` 时必填,传组织名称;当 `ownerType=0` 时禁止填写 |
|
|
115
|
+
| `license` | 是 | 开源协议,取值见下文“开源协议” |
|
|
116
|
+
| `openType` | 是 | 公开方式,取值见下文“公开方式” |
|
|
117
|
+
| `category` | 是 | 模型分类,传二元组 `(一级分类, 二级分类)`,取值见下文“模型分类” |
|
|
118
|
+
| `isLocalized` | 是 | 是否为国产化模型,`True` 或 `False` |
|
|
119
|
+
| `applyScene` | 条件必填 | 当 `isLocalized=True` 时必填;当 `isLocalized=False` 时禁止填写。取值见下文“适配场景” |
|
|
120
|
+
| `hardwareType` | 条件必填 | 当 `isLocalized=True` 时必填,可传单个值或列表;当 `isLocalized=False` 时禁止填写。取值见下文“硬件类型” |
|
|
121
|
+
| `industry` | 否 | 所属行业,取值见下文“行业类型” |
|
|
122
|
+
| `language` | 否 | 支持语言,可传单个值或列表,取值见下文“语言类型” |
|
|
123
|
+
| `modelSize` | 否 | 模型大小,取值见下文“模型大小” |
|
|
124
|
+
| `modelLevel` | 否 | 模型级别,取值见下文“模型级别” |
|
|
125
|
+
| `description` | 是 | 模型描述,20-500 个字符 |
|
|
126
|
+
| `file` | 是 | 本地 `README.md` 文件路径 |
|
|
127
|
+
| `zones` | 否 | 上架专区。Python 传 `[{"zoneName": "专区名称"}, {"zoneName": "专区名称", "tagName": "一级标签名称"}, {"zoneName": "专区名称", "tagName": "一级标签名称", "secondaryTagName": "二级标签名称"}]`;CLI 传 `专区名称`、`专区名称:一级标签名称` 或 `专区名称:一级标签名称:二级标签名称`,多个值用英文逗号分隔。所选一级标签存在二级标签时,必须填写二级标签 |
|
|
128
|
+
|
|
129
|
+
### 1.4 可选值速查
|
|
130
|
+
|
|
131
|
+
#### 1.4.1 所有者类型
|
|
132
|
+
|
|
133
|
+
| Python 常量 | CLI/Shell 值 | 含义 |
|
|
134
|
+
| --- | --- | --- |
|
|
135
|
+
| `OwnerType.PERSONAL` | `0` | 个人 |
|
|
136
|
+
| `OwnerType.ORG` | `1` | 组织 |
|
|
137
|
+
|
|
138
|
+
#### 1.4.2 开源协议
|
|
139
|
+
|
|
140
|
+
`license` 可选值按“Python 常量=`CLI/Shell 实际值`”展示:
|
|
141
|
+
|
|
142
|
+
`Licenses.APACHE_V2`=`Apache Lincense 2.0`、`Licenses.AFL_3_0`=`AFL-3.O`、`Licenses.AGPL_3_0`=`agpl-3.0`、`Licenses.BSD_3_CLAUSE`=`BSD-3-Clause`、`Licenses.CC0_1_0`=`CC0-1.0`、`Licenses.CC_BY_4_0`=`CC-BY-4.0`、`Licenses.CC_BY_NC_4_0`=`CC-BY-NC-4.0`、`Licenses.CC_BY_NC_ND`=`CC-BY-NC-ND`、`Licenses.CC_BY_NC_SA_4_0`=`CC-BY-NC-SA-4.0`、`Licenses.CC_BY_SA_4_0`=`CC-BY-SA-4.0`、`Licenses.CREATIVEML_OPENRAIL_M`=`creativeml-openrail-m`、`Licenses.ECL_2_0`=`ECL-2.0`、`Licenses.GPL_2_0`=`GPL-2.0`、`Licenses.GPL_3_0`=`GPL-3.0`、`Licenses.LGPL_2_9`=`LGPL-2.9`、`Licenses.LGPL_3_0`=`LGPL-3.0`、`Licenses.MIT`=`MIT Lincense`、`Licenses.ODC_BY_1_0`=`ODC-BY-1.0`、`Licenses.OTHER`=`other`
|
|
143
|
+
|
|
144
|
+
#### 1.4.3 公开方式
|
|
145
|
+
|
|
146
|
+
| Python 常量 | CLI/Shell 值 | 含义 |
|
|
147
|
+
| --- | --- | --- |
|
|
148
|
+
| `OpenType.PUBLIC` | `0` | 公开 |
|
|
149
|
+
| `OpenType.PRIVATE` | `1` | 非公开 |
|
|
150
|
+
| `OpenType.APPLY` | `2` | 申请制 |
|
|
151
|
+
|
|
152
|
+
#### 1.4.4 模型分类
|
|
153
|
+
|
|
154
|
+
`category` 传 `(一级分类, 二级分类)` 二元组。
|
|
155
|
+
|
|
156
|
+
下列各项均按“Python 常量=`CLI/Shell 实际值`”展示。
|
|
157
|
+
|
|
158
|
+
一级分类:
|
|
159
|
+
|
|
160
|
+
- `ModelCategories.COMPUTER_VISION`=`computer_vision`:计算机视觉
|
|
161
|
+
- `ModelCategories.NATURAL_LANGUAGE_UNDERSTANDING`=`natural_language_understanding`:自然语言理解
|
|
162
|
+
- `ModelCategories.VOICE`=`voice`:语音
|
|
163
|
+
- `ModelCategories.MULTIMODAL`=`multimodal`:多模态
|
|
164
|
+
- `ModelCategories.OTHER`=`other`:其他
|
|
165
|
+
|
|
166
|
+
二级分类:
|
|
167
|
+
|
|
168
|
+
- 计算机视觉:`ModelTasks.FACIAL_HUMAN_BODY`=`facial_human_body`、`ModelTasks.VISUAL_CLASSIFICATION`=`visual_classification`、`ModelTasks.VISUAL_SEGMENTATION`=`visual_segmentation`、`ModelTasks.VISUAL_GENERATION`=`visual_generation`、`ModelTasks.OBJECT_DETECTION`=`object_detection`、`ModelTasks.OPTICAL_CHARACTER_RECOGNITION`=`optical-character-recognition`、`ModelTasks.VISUAL_EDITING`=`visual-editing`、`ModelTasks.LOW_LEVEL_VISION`=`low-level-vision`、`ModelTasks.VISUAL_REPRESENTATION`=`visual-representation`、`ModelTasks.VISUAL_QUALITY_ASSESSMENT`=`visual-quality-assessment`、`ModelTasks._3D_VISION`=`3d-vision`、`ModelTasks.FOUNDATION_MODEL_APPLICATION`=`foundation-model-application`
|
|
169
|
+
- 自然语言理解:`ModelTasks.TEXT_CLASSIFICATION`=`text_classification`、`ModelTasks.TEXT_GENERATION`=`text_generation`、`ModelTasks.PARTICIPLE`=`participle`、`ModelTasks.NAME_ENTITY_RECOGNITION`=`name_entity_recognition`、`ModelTasks.TEXT_SUMMARY`=`text_summary`、`ModelTasks.FEATURE_EXTRACTION`=`feature_extraction`、`ModelTasks.SENTIMENT_ANALYSIS`=`sentiment_analysis`、`ModelTasks.ENTITY_CLASSIFICATION`=`entity_classification`、`ModelTasks.FILL_MASK`=`fill-mask`、`ModelTasks.TOKEN_CLASSIFICATION`=`token-classification`、`ModelTasks.NLI`=`nli`、`ModelTasks.TEXT_ERROR_CORRECTION`=`text-error-correction`、`ModelTasks.SENTENCE_EMBEDDING`=`sentence-embedding`、`ModelTasks.TRANSLATION`=`translation`、`ModelTasks.SENTENCE_SIMILARITY`=`sentence-similarity`、`ModelTasks.RELATION_EXTRACTION`=`relation-extraction`、`ModelTasks.ZERO_SHOT_CLASSIFICATION`=`zero-shot-classification`、`ModelTasks.TABLE_QUESTION_ANSWERING`=`table-question-answering`、`ModelTasks.QUESTION_ANSWERING`=`question-answering`、`ModelTasks.PART_OF_SPEECH`=`part-of-speech`、`ModelTasks.CHATBOT`=`chatbot`、`ModelTasks.SIAMESE_UIE`=`siamese-uie`、`ModelTasks.TASK_ORIENTED_CONVERSATION`=`task-oriented-conversation`、`ModelTasks.SEMANTIC_SIMILARITY`=`semantic-similarity`、`ModelTasks.FAQ_QUESTION_ANSWERING`=`faq-question-answering`、`ModelTasks.DOCUMENT_SEGMENTATION`=`document-segmentation`、`ModelTasks.TEXT2TEXT_GENERATION`=`text2text-generation`、`ModelTasks.EXTRACTIVE_SUMMARIZATION`=`extractive-summarization`、`ModelTasks.TRANSLATION_EVALUATION`=`translation-evaluation`、`ModelTasks.UNIVERSAL_INFORMATION_EXTRACTION`=`universal-information-extraction`
|
|
170
|
+
- 语音:`ModelTasks.SPEECH_RECOGNITION`=`speech_recognition`、`ModelTasks.SPEECH_SYNTHESIS`=`speech_synthesis`、`ModelTasks.SPEECH_NOISE_REDUCTION`=`speech_noise_reduction`、`ModelTasks.SPEECH_SEPARATION`=`speech_separation`、`ModelTasks.AUDIO_CLASSIFICATION`=`audio_classification`、`ModelTasks.EMOTIONAL_RECOGNITION`=`emotional_recognition`、`ModelTasks.AUDIO_GENERATION`=`audio-generation`、`ModelTasks.SPEAKER_VERIFICATION`=`speaker-verification`、`ModelTasks.SPEAKER_DIARIZATION`=`speaker-diarization`、`ModelTasks.PUNCTUATION`=`punctuation`、`ModelTasks.TIMESTAMP_PREDICTION`=`timestamp-prediction`、`ModelTasks.VOICE_ACTIVITY_DETECTION`=`voice-activity-detection`、`ModelTasks.LANGUAGE_SCORE_PREDICTION`=`language-score-prediction`、`ModelTasks.SPEECH_LANGUAGE_RECOGNITION`=`speech-language-recognition`、`ModelTasks.AUDIO_CODEC`=`audio-codec`、`ModelTasks.AUDIO_VISUAL_SPEECH_RECOGNITION`=`audio-visual-speech-recognition`、`ModelTasks.ACOUSTIC_ECHO_CANCELLATION`=`acoustic-echo-cancellation`、`ModelTasks.KEYWORD_SPOTTING`=`keyword-spotting`、`ModelTasks.INVERSE_TEXT_PROCESSING`=`inverse-text-processing`
|
|
171
|
+
- 多模态:`ModelTasks.TEXT_GENERATED_IMAGES`=`text_generated_images`、`ModelTasks.TEXT_GENERATED_VIDEO`=`text_generated_video`、`ModelTasks.VIDEO_DESCRIPTION`=`video_description`、`ModelTasks.MULTIMODAL_DIALOGUE`=`multimodal_dialogue`、`ModelTasks.EMBODIED_INTELLIGENCE`=`embodied_intelligence`、`ModelTasks.VISUAL_GROUNDING`=`visual-grounding`、`ModelTasks.MULTI_MODAL_EMBEDDING`=`multi-modal-embedding`、`ModelTasks.VISUAL_QUESTION_ANSWERING`=`visual-question-answering`、`ModelTasks.VIDEO_QUESTION_ANSWERING`=`video-question-answering`、`ModelTasks.IMAGE_TEXT_RETRIEVAL`=`image-text-retrieval`、`ModelTasks.VISUAL_ENTAILMENT`=`visual-entailment`、`ModelTasks.GENERATIVE_MULTI_MODAL_EMBEDDING`=`generative-multi-modal-embedding`、`ModelTasks.MULTI_MODAL_SIMILARITY`=`multi-modal-similarity`、`ModelTasks.DOCUMENT_UNDERSTANDING`=`document-understanding`、`ModelTasks.VIDEO_TEMPORAL_GROUNDING`=`video-temporal-grounding`、`ModelTasks.EFFICIENT_DIFFUSION_TUNING`=`efficient-diffusion-tuning`、`ModelTasks.IMAGE_TO_VIDEO`=`image-to-video`、`ModelTasks.UNIFIED_MULTI_MODAL`=`unified-multi-modal`、`ModelTasks.IMAGE_TO_IMAGE`=`image-to-image`、`ModelTasks.IMAGE_TEXT_TO_TEXT`=`image-text-to-text`、`ModelTasks.IMAGE_CAPTIONING`=`image-captioning`
|
|
172
|
+
- 其他:`ModelTasks.OTHER1`=`other1`
|
|
173
|
+
|
|
174
|
+
旧名称 `ModelTasks.VISION_3D` 和 `ModelTasks.OTHER` 仍可使用,分别是 `ModelTasks._3D_VISION` 和 `ModelTasks.OTHER1` 的兼容别名。
|
|
175
|
+
|
|
176
|
+
#### 1.4.5 适配场景
|
|
177
|
+
|
|
178
|
+
| Python 常量 | CLI/Shell 值 | 含义 |
|
|
179
|
+
| --- | --- | --- |
|
|
180
|
+
| `ApplyScene.TRAINING` | `0` | 训练 |
|
|
181
|
+
| `ApplyScene.INFERENCE` | `1` | 推理 |
|
|
182
|
+
| `ApplyScene.TRAINING_AND_INFERENCE` | `2` | 训推一体 |
|
|
183
|
+
|
|
184
|
+
#### 1.4.6 硬件类型
|
|
185
|
+
|
|
186
|
+
`hardwareType` 可传单个值或列表。Python 使用 `HardwareTypes.<常量名>`,CLI/Shell 使用等号右侧的实际值:
|
|
187
|
+
|
|
188
|
+
- 昇腾:`HardwareTypes.ST300I`=`ST300I`、`HardwareTypes.ST910B2`=`ST910B2`、`HardwareTypes.ST910B3`=`ST910B3`、`HardwareTypes.ST910B4`=`ST910B4`、`HardwareTypes.ST910C`=`ST910C`
|
|
189
|
+
- 天数:`HardwareTypes.TSMR50`=`TSMR50`、`HardwareTypes.TSMR100`=`TSMR100`、`HardwareTypes.TSTG100`=`TSTG100`、`HardwareTypes.TSTGBIV150`=`TSTGBIV150`
|
|
190
|
+
- 昆仑芯:`HardwareTypes.KLR200`=`KLR200`、`HardwareTypes.KLP600`=`KLP600`、`HardwareTypes.KLP800`=`KLP800`、`HardwareTypes.KLRG800`=`KLRG800`
|
|
191
|
+
- 海光:`HardwareTypes.HGK100AI`=`HGK100AI`、`HardwareTypes.HGBW1000`=`HGBW1000`、`HardwareTypes.HGDCUZ100`=`HGDCUZ100`
|
|
192
|
+
- 寒武纪:`HardwareTypes.HWJMLUX8`=`HWJMLUX8`、`HardwareTypes.HWJMLU590`=`HWJMLU590`
|
|
193
|
+
- 燧原:`HardwareTypes.SYT20`=`SYT20`、`HardwareTypes.SYI20`=`SYI20`、`HardwareTypes.SYT21`=`SYT21`、`HardwareTypes.SYS60`=`SYS60`
|
|
194
|
+
- 壁仞:`HardwareTypes.BRBR106M`=`BRBR106M`
|
|
195
|
+
- 沐曦:`HardwareTypes.MXC500`=`MXC500`
|
|
196
|
+
- 摩尔线程:`HardwareTypes.MES4000`=`MES4000`、`HardwareTypes.MES5000`=`MES5000`、`HardwareTypes.MES6000`=`MES6000`
|
|
197
|
+
- 平头哥:`HardwareTypes.PTGPPU`=`PTGPPU`
|
|
198
|
+
|
|
199
|
+
#### 1.4.7 行业类型
|
|
200
|
+
|
|
201
|
+
| Python 常量 | CLI/Shell 值 | 含义 |
|
|
202
|
+
| --- | --- | --- |
|
|
203
|
+
| `Industries.COMMUNICATION` | `0` | 通信 |
|
|
204
|
+
| `Industries.FINANCE` | `1` | 金融 |
|
|
205
|
+
| `Industries.PETROCHEMICAL` | `2` | 石油化工 |
|
|
206
|
+
| `Industries.ENERGY_POWER` | `3` | 能源电力类 |
|
|
207
|
+
| `Industries.INFORMATION_TECHNOLOGY` | `4` | 信息技术 |
|
|
208
|
+
| `Industries.AUTOMOTIVE` | `5` | 汽车 |
|
|
209
|
+
| `Industries.CONSTRUCTION` | `6` | 建筑 |
|
|
210
|
+
| `Industries.TRANSPORTATION_LOGISTICS` | `7` | 运输物流 |
|
|
211
|
+
| `Industries.HEALTHCARE` | `8` | 医疗 |
|
|
212
|
+
| `Industries.AGRICULTURE` | `9` | 农业 |
|
|
213
|
+
| `Industries.INDUSTRY` | `10` | 工业 |
|
|
214
|
+
| `Industries.TRADE` | `11` | 贸易 |
|
|
215
|
+
| `Industries.MILITARY` | `12` | 军工 |
|
|
216
|
+
| `Industries.OTHER` | `13` | 其他 |
|
|
217
|
+
|
|
218
|
+
#### 1.4.8 语言类型
|
|
219
|
+
|
|
220
|
+
| Python 常量 | CLI/Shell 值 | 含义 |
|
|
221
|
+
| --- | --- | --- |
|
|
222
|
+
| `Languages.CHINESE` | `language_chinese` | 中文 |
|
|
223
|
+
| `Languages.ENGLISH` | `language_english` | 英文 |
|
|
224
|
+
| `Languages.OTHER` | `language_other` | 其他 |
|
|
225
|
+
|
|
226
|
+
#### 1.4.9 模型大小
|
|
227
|
+
|
|
228
|
+
| Python 常量 | CLI/Shell 值 | 含义 |
|
|
229
|
+
| --- | --- | --- |
|
|
230
|
+
| `ModelSizes.BELOW_1B` | `1B_below` | 1B以下 |
|
|
231
|
+
| `ModelSizes.BETWEEN_1B_7B` | `1B_7B` | 1B-7B |
|
|
232
|
+
| `ModelSizes.BETWEEN_7B_30B` | `7B-30B` | 7B-30B |
|
|
233
|
+
| `ModelSizes.BETWEEN_30B_80B` | `30B-80B` | 30B-80B |
|
|
234
|
+
| `ModelSizes.BETWEEN_80B_150B` | `80B-150B` | 80B-150B |
|
|
235
|
+
| `ModelSizes.ABOVE_150B` | `150_above` | 150B以上 |
|
|
236
|
+
|
|
237
|
+
#### 1.4.10 模型级别
|
|
238
|
+
|
|
239
|
+
| Python 常量 | CLI/Shell 值 | 含义 |
|
|
240
|
+
| --- | --- | --- |
|
|
241
|
+
| `ModelLevels.L0` | `L0` | 通用大模型(L0) |
|
|
242
|
+
| `ModelLevels.L1` | `L1` | 行业大模型(L1) |
|
|
243
|
+
| `ModelLevels.L2` | `L2` | 场景大模型(L2) |
|
|
244
|
+
|
|
245
|
+
## 2 创建数据集
|
|
246
|
+
|
|
247
|
+
### 2.1 Python 示例
|
|
248
|
+
|
|
249
|
+
```python
|
|
250
|
+
from huanxin.hub.api import HubApi
|
|
251
|
+
from huanxin.hub.constants import DatasetCategories, DatasetTasks, DatasetUsagePhase, Industries, Licenses, OpenType, OwnerType
|
|
252
|
+
|
|
253
|
+
api = HubApi()
|
|
254
|
+
api.login(access_token="YOUR_SDK_TOKEN")
|
|
255
|
+
|
|
256
|
+
api.create_dataset(
|
|
257
|
+
name="my-test-dataset",
|
|
258
|
+
nameCn="我的测试数据集",
|
|
259
|
+
ownerType=OwnerType.ORG,
|
|
260
|
+
orgName="my-test-org",
|
|
261
|
+
license=Licenses.APACHE_V2,
|
|
262
|
+
openType=OpenType.PUBLIC,
|
|
263
|
+
category=(
|
|
264
|
+
DatasetCategories.IMAGE,
|
|
265
|
+
DatasetTasks.FACE_BODY,
|
|
266
|
+
),
|
|
267
|
+
usagePhase=DatasetUsagePhase.TRAIN,
|
|
268
|
+
industry=Industries.COMMUNICATION,
|
|
269
|
+
description="这是一个用于演示创建数据集接口的测试数据集示例。",
|
|
270
|
+
file="./README.md",
|
|
271
|
+
zones=[
|
|
272
|
+
{"zoneName": "my-test-zone-1"},
|
|
273
|
+
{"zoneName": "my-test-zone-2", "tagName": "my-test-tag"},
|
|
274
|
+
{"zoneName": "my-test-zone-3", "tagName": "my-test-tag", "secondaryTagName": "my-test-secondary-tag"},
|
|
275
|
+
],
|
|
276
|
+
)
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### 2.2 CLI 示例
|
|
280
|
+
|
|
281
|
+
```bash
|
|
282
|
+
huanxin create-dataset \
|
|
283
|
+
--token YOUR_TOKEN \
|
|
284
|
+
--name my-test-dataset \
|
|
285
|
+
--nameCn 我的测试数据集 \
|
|
286
|
+
--ownerType 1 \
|
|
287
|
+
--orgName my-test-org \
|
|
288
|
+
--license "Apache Lincense 2.0" \
|
|
289
|
+
--openType 0 \
|
|
290
|
+
--category image,face_body \
|
|
291
|
+
--usagePhase 0 \
|
|
292
|
+
--industry 0 \
|
|
293
|
+
--description "这是一个用于演示创建数据集接口的测试数据集示例。" \
|
|
294
|
+
--file ./README.md \
|
|
295
|
+
--zones my-test-zone-1,my-test-zone-2:my-test-tag,my-test-zone-3:my-test-tag:my-test-secondary-tag
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
### 2.3 字段说明
|
|
299
|
+
|
|
300
|
+
`create_dataset` 的字段说明如下:
|
|
301
|
+
|
|
302
|
+
| 字段 | 是否必填 | 输入方式 |
|
|
303
|
+
| --- | --- | --- |
|
|
304
|
+
| `name` | 是 | 数据集英文名称,3-80 个字符,支持数字、英文大小写以及中划线(-)、下划线(_)、点号(.),首尾字符必须为英文字母或数字,不支持连续特殊符号 |
|
|
305
|
+
| `nameCn` | 否 | 数据集中文名称,3-80 个字符,支持中文、数字、英文大小写以及中划线(-)、下划线(_)、点号(.),首尾字符必须为中文、英文字母或数字,不支持连续特殊符号 |
|
|
306
|
+
| `ownerType` | 是 | 数据集所有者类型,取值见下文“所有者类型” |
|
|
307
|
+
| `orgName` | 条件必填 | 当 `ownerType=1` 时必填,传组织名称;当 `ownerType=0` 时禁止填写 |
|
|
308
|
+
| `license` | 是 | 开源协议,取值见下文“开源协议” |
|
|
309
|
+
| `openType` | 是 | 公开方式,取值见下文“公开方式” |
|
|
310
|
+
| `category` | 是 | 数据集分类,传二元组 `(一级分类, 二级分类)`,取值见下文“数据集分类” |
|
|
311
|
+
| `usagePhase` | 否 | 使用环节,取值见下文“数据集使用环节” |
|
|
312
|
+
| `industry` | 否 | 所属行业,取值见下文“行业类型” |
|
|
313
|
+
| `description` | 是 | 数据集描述,20-500 个字符 |
|
|
314
|
+
| `file` | 是 | 本地 `README.md` 文件路径,文件名必须为 `README.md` |
|
|
315
|
+
| `zones` | 否 | 上架专区。Python 传 `[{"zoneName": "专区名称"}, {"zoneName": "专区名称", "tagName": "一级标签名称"}, {"zoneName": "专区名称", "tagName": "一级标签名称", "secondaryTagName": "二级标签名称"}]`;CLI 传 `专区名称`、`专区名称:一级标签名称` 或 `专区名称:一级标签名称:二级标签名称`,多个值用英文逗号分隔。所选一级标签存在二级标签时,必须填写二级标签 |
|
|
316
|
+
|
|
317
|
+
### 2.4 可选值速查
|
|
318
|
+
|
|
319
|
+
#### 2.4.1 所有者类型
|
|
320
|
+
|
|
321
|
+
| Python 常量 | CLI/Shell 值 | 含义 |
|
|
322
|
+
| --- | --- | --- |
|
|
323
|
+
| `OwnerType.PERSONAL` | `0` | 个人 |
|
|
324
|
+
| `OwnerType.ORG` | `1` | 组织 |
|
|
325
|
+
|
|
326
|
+
#### 2.4.2 开源协议
|
|
327
|
+
|
|
328
|
+
`license` 可选值按“Python 常量=`CLI/Shell 实际值`”展示:
|
|
329
|
+
|
|
330
|
+
`Licenses.APACHE_V2`=`Apache Lincense 2.0`、`Licenses.AFL_3_0`=`AFL-3.O`、`Licenses.AGPL_3_0`=`agpl-3.0`、`Licenses.BSD_3_CLAUSE`=`BSD-3-Clause`、`Licenses.CC0_1_0`=`CC0-1.0`、`Licenses.CC_BY_4_0`=`CC-BY-4.0`、`Licenses.CC_BY_NC_4_0`=`CC-BY-NC-4.0`、`Licenses.CC_BY_NC_ND`=`CC-BY-NC-ND`、`Licenses.CC_BY_NC_SA_4_0`=`CC-BY-NC-SA-4.0`、`Licenses.CC_BY_SA_4_0`=`CC-BY-SA-4.0`、`Licenses.CREATIVEML_OPENRAIL_M`=`creativeml-openrail-m`、`Licenses.ECL_2_0`=`ECL-2.0`、`Licenses.GPL_2_0`=`GPL-2.0`、`Licenses.GPL_3_0`=`GPL-3.0`、`Licenses.LGPL_2_9`=`LGPL-2.9`、`Licenses.LGPL_3_0`=`LGPL-3.0`、`Licenses.MIT`=`MIT Lincense`、`Licenses.ODC_BY_1_0`=`ODC-BY-1.0`、`Licenses.OTHER`=`other`
|
|
331
|
+
|
|
332
|
+
#### 2.4.3 公开方式
|
|
333
|
+
|
|
334
|
+
| Python 常量 | CLI/Shell 值 | 含义 |
|
|
335
|
+
| --- | --- | --- |
|
|
336
|
+
| `OpenType.PUBLIC` | `0` | 公开 |
|
|
337
|
+
| `OpenType.PRIVATE` | `1` | 非公开 |
|
|
338
|
+
| `OpenType.APPLY` | `2` | 申请制 |
|
|
339
|
+
|
|
340
|
+
#### 2.4.4 数据集分类
|
|
341
|
+
|
|
342
|
+
`category` 传 `(一级分类, 二级分类)` 二元组。
|
|
343
|
+
|
|
344
|
+
下列各项均按“Python 常量=`CLI/Shell 实际值`”展示。
|
|
345
|
+
|
|
346
|
+
一级分类:
|
|
347
|
+
|
|
348
|
+
- `DatasetCategories.TEXT`=`text`:文本
|
|
349
|
+
- `DatasetCategories.IMAGE`=`image`:图像
|
|
350
|
+
- `DatasetCategories.VIDEO`=`video`:视频
|
|
351
|
+
- `DatasetCategories.VOICE`=`voice`:音频
|
|
352
|
+
- `DatasetCategories.MULTIMODAL`=`multimodal`:多模态
|
|
353
|
+
- `DatasetCategories.NETWORK_DATA`=`network_data`:网络数据
|
|
354
|
+
- `DatasetCategories.OTHER`=`other`:其他
|
|
355
|
+
|
|
356
|
+
二级分类:
|
|
357
|
+
|
|
358
|
+
- 文本:`DatasetTasks.TEXT_CLASSIFICATION`=`text_classification`、`DatasetTasks.TEXT_GENERATE`=`text_generate`、`DatasetTasks.PARTICIPLE`=`participle`、`DatasetTasks.RELATION_EXTRACTION`=`relation extraction`、`DatasetTasks.TEXT_SUMMARY`=`text_summary`、`DatasetTasks.MACHINE_TRANSLATE`=`machine_translate`、`DatasetTasks.INTELLECTUAL_DIALOGUE`=`intellectual dialogue`、`DatasetTasks.SENTENCE_SIMILARITY`=`sentence_similarity`
|
|
359
|
+
- 图像:`DatasetTasks.FACE_BODY`=`face_body`、`DatasetTasks.IMAGE_CLASSIFICATION`=`image_classification`、`DatasetTasks.TARGET_DETECTION`=`target_detection`、`DatasetTasks.IMAGE_DIVIDE`=`image_divide`、`DatasetTasks.CHARACTER_RECOGNITION`=`character_recognition`、`DatasetTasks.IMAGE_GENERATE`=`image_generate`、`DatasetTasks.IMAGE_EDIT`=`image_edit`
|
|
360
|
+
- 视频:`DatasetTasks.TARGET_TRACKING`=`target_tracking`、`DatasetTasks.VIDEO_DIVIDE`=`video_divide`、`DatasetTasks.ACTION_RECOGNITION`=`action_recognition`、`DatasetTasks.VIDEO_GENERATE`=`video_generate`、`DatasetTasks.BEHAVIOR_UNDERSTANDING`=`behavior_understanding`、`DatasetTasks._3D_HUMAN_KEYPOINTS`=`3D_human_keypoints`、`DatasetTasks.VIDEO_CLASSIFICATION`=`video_classification`
|
|
361
|
+
- 音频:`DatasetTasks.SPEECH_RECOGNITION`=`speech_recognition`、`DatasetTasks.SPEECH_SYNTHESIS`=`speech_synthesis`、`DatasetTasks.SPEECH_NOISE_REDUCTION`=`speech_noise_reduction`、`DatasetTasks.SPEECH_SIGNAL_PROCESSING`=`speech_signal_processing`、`DatasetTasks.AUDIO_CLASSIFICATION`=`audio_classification`、`DatasetTasks.SPEECH_ENDPOINT_DETECTION`=`speech_endpoint_detection`、`DatasetTasks.VOICE_WAKEUP`=`voice_wakeup`、`DatasetTasks.EMOTIONAL_RECOGNITION`=`emotional_recognition`
|
|
362
|
+
- 多模态:`DatasetTasks.IMAGE_DESCRIPTION`=`image_description`、`DatasetTasks.TEXT_TO_IMAGE`=`text_to_image`、`DatasetTasks.TEXT_TO_VIDEO`=`text_to_video`、`DatasetTasks.VIDEO_DESCRIPTION`=`video_description`、`DatasetTasks.VISUAL_INFORMATION_EXTRACTION`=`visual_information_extraction`、`DatasetTasks.EMBODIED_INTELLIGENCE`=`embodied_intelligence`
|
|
363
|
+
- 网络数据:`DatasetTasks.OTHER2`=`other2`
|
|
364
|
+
- 其他:`DatasetTasks.OTHER1`=`other1`
|
|
365
|
+
|
|
366
|
+
旧名称 `DatasetTasks.HUMAN_KEYPOINTS_3D`、`DatasetTasks.OTHER_NETWORK_DATASET` 和 `DatasetTasks.OTHER_DATASET` 仍可使用,分别对应 `DatasetTasks._3D_HUMAN_KEYPOINTS`、`DatasetTasks.OTHER2` 和 `DatasetTasks.OTHER1`。
|
|
367
|
+
|
|
368
|
+
#### 2.4.5 数据集使用环节
|
|
369
|
+
|
|
370
|
+
| Python 常量 | CLI/Shell 值 | 含义 |
|
|
371
|
+
| --- | --- | --- |
|
|
372
|
+
| `DatasetUsagePhase.TRAIN` | `0` | 训练集 |
|
|
373
|
+
| `DatasetUsagePhase.TEST` | `1` | 测试集 |
|
|
374
|
+
|
|
375
|
+
#### 2.4.6 行业类型
|
|
376
|
+
|
|
377
|
+
| Python 常量 | CLI/Shell 值 | 含义 |
|
|
378
|
+
| --- | --- | --- |
|
|
379
|
+
| `Industries.COMMUNICATION` | `0` | 通信 |
|
|
380
|
+
| `Industries.FINANCE` | `1` | 金融 |
|
|
381
|
+
| `Industries.PETROCHEMICAL` | `2` | 石油化工 |
|
|
382
|
+
| `Industries.ENERGY_POWER` | `3` | 能源电力类 |
|
|
383
|
+
| `Industries.INFORMATION_TECHNOLOGY` | `4` | 信息技术 |
|
|
384
|
+
| `Industries.AUTOMOTIVE` | `5` | 汽车 |
|
|
385
|
+
| `Industries.CONSTRUCTION` | `6` | 建筑 |
|
|
386
|
+
| `Industries.TRANSPORTATION_LOGISTICS` | `7` | 运输物流 |
|
|
387
|
+
| `Industries.HEALTHCARE` | `8` | 医疗 |
|
|
388
|
+
| `Industries.AGRICULTURE` | `9` | 农业 |
|
|
389
|
+
| `Industries.INDUSTRY` | `10` | 工业 |
|
|
390
|
+
| `Industries.TRADE` | `11` | 贸易 |
|
|
391
|
+
| `Industries.MILITARY` | `12` | 军工 |
|
|
392
|
+
| `Industries.OTHER` | `13` | 其他 |
|
|
393
|
+
|
|
394
|
+
## 3 上传模型
|
|
395
|
+
|
|
396
|
+
### 3.1 前提条件
|
|
397
|
+
|
|
398
|
+
请确保安装 Git 和 Git LFS。
|
|
399
|
+
|
|
400
|
+
### 3.2 Python 示例
|
|
401
|
+
|
|
402
|
+
```python
|
|
403
|
+
from huanxin.hub.api import HubApi
|
|
404
|
+
from huanxin.hub.constants import OwnerType
|
|
405
|
+
|
|
406
|
+
api = HubApi()
|
|
407
|
+
api.login(access_token="YOUR_SDK_TOKEN")
|
|
408
|
+
|
|
409
|
+
api.push_model(
|
|
410
|
+
ownerType=OwnerType.ORG,
|
|
411
|
+
owner="my-test-org",
|
|
412
|
+
name="my-test-model",
|
|
413
|
+
localPath="./my-test-model-dir",
|
|
414
|
+
branch="my-test-branch",
|
|
415
|
+
commitMessage="upload my-test-model files",
|
|
416
|
+
exclude=["*.log"],
|
|
417
|
+
lfsSuffix=["*.safetensors"],
|
|
418
|
+
lfsActivityTimeout=3600,
|
|
419
|
+
)
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
### 3.3 CLI 示例
|
|
423
|
+
|
|
424
|
+
```bash
|
|
425
|
+
huanxin push-model \
|
|
426
|
+
--token YOUR_TOKEN \
|
|
427
|
+
--ownerType 1 \
|
|
428
|
+
--owner my-test-org \
|
|
429
|
+
--name my-test-model \
|
|
430
|
+
--localPath ./my-test-model-dir \
|
|
431
|
+
--branch my-test-branch \
|
|
432
|
+
--commitMessage "upload my-test-model files" \
|
|
433
|
+
--exclude "*.log" \
|
|
434
|
+
--lfsSuffix "*.safetensors" \
|
|
435
|
+
--lfsActivityTimeout 3600
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
### 3.4 字段说明
|
|
439
|
+
|
|
440
|
+
`push_model` 的字段说明如下:
|
|
441
|
+
|
|
442
|
+
| 字段 | 是否必填 | 输入方式 |
|
|
443
|
+
| --- | --- |-------------------------------------------------------------------|
|
|
444
|
+
| `ownerType` | 是 | 模型所有者类型,取值见下文“所有者类型” |
|
|
445
|
+
| `owner` | 是 | 模型所有者标识,个人场景传用户名,组织场景传组织名称 |
|
|
446
|
+
| `name` | 是 | 模型英文名称,3-80 个字符,支持数字、英文大小写以及中划线(-)、下划线(_)、点号(.),首尾字符必须为英文字母或数字,不支持连续特殊符号 |
|
|
447
|
+
| `localPath` | 是 | 本地模型目录路径 |
|
|
448
|
+
| `branch` | 否 | 目标分支,默认 `master`;必须是远程已存在的分支 |
|
|
449
|
+
| `commitMessage` | 否 | git commit 信息,默认 `upload model` |
|
|
450
|
+
| `exclude` | 否 | 忽略上传的文件或目录模式,可传单个值或多个值,多个值用英文逗号分隔 |
|
|
451
|
+
| `lfsSuffix` | 否 | 使用 git lfs 管理的大文件模式,可传单个值或多个值,多个值用英文逗号分隔,例如 `*.safetensors,*.bin` |
|
|
452
|
+
| `lfsActivityTimeout` | 否 | Git LFS HTTP 客户端等待下一次 TCP 读/写的最长时间,单位秒,默认 `3600` |
|
|
453
|
+
|
|
454
|
+
使用 `lfsSuffix` 前,请先确保本机已完成 `git-lfs` 环境准备,例如已安装 `git-lfs` 并执行过 `git lfs install`。
|
|
455
|
+
|
|
456
|
+
### 3.5 可选值速查
|
|
457
|
+
|
|
458
|
+
#### 3.5.1 所有者类型
|
|
459
|
+
|
|
460
|
+
| 值 | 含义 |
|
|
461
|
+
| --- | --- |
|
|
462
|
+
| `0` | 个人 |
|
|
463
|
+
| `1` | 组织 |
|
|
464
|
+
|
|
465
|
+
## 4 上传数据集
|
|
466
|
+
|
|
467
|
+
### 4.1 前提条件
|
|
468
|
+
|
|
469
|
+
请确保安装 Git 和 Git LFS。
|
|
470
|
+
|
|
471
|
+
### 4.2 Python 示例
|
|
472
|
+
|
|
473
|
+
```python
|
|
474
|
+
from huanxin.hub.api import HubApi
|
|
475
|
+
from huanxin.hub.constants import OwnerType
|
|
476
|
+
|
|
477
|
+
api = HubApi()
|
|
478
|
+
api.login(access_token="YOUR_SDK_TOKEN")
|
|
479
|
+
|
|
480
|
+
api.push_dataset(
|
|
481
|
+
ownerType=OwnerType.ORG,
|
|
482
|
+
owner="my-test-org",
|
|
483
|
+
name="my-test-dataset",
|
|
484
|
+
localPath="./my-test-dataset-dir",
|
|
485
|
+
branch="my-test-branch",
|
|
486
|
+
commitMessage="upload my-test-dataset files",
|
|
487
|
+
exclude=["*.log"],
|
|
488
|
+
lfsSuffix=["*.zip"],
|
|
489
|
+
lfsActivityTimeout=3600,
|
|
490
|
+
)
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
### 4.3 CLI 示例
|
|
494
|
+
|
|
495
|
+
```bash
|
|
496
|
+
huanxin push-dataset \
|
|
497
|
+
--token YOUR_TOKEN \
|
|
498
|
+
--ownerType 1 \
|
|
499
|
+
--owner my-test-org \
|
|
500
|
+
--name my-test-dataset \
|
|
501
|
+
--localPath ./my-test-dataset-dir \
|
|
502
|
+
--branch my-test-branch \
|
|
503
|
+
--commitMessage "upload my-test-dataset files" \
|
|
504
|
+
--exclude "*.log" \
|
|
505
|
+
--lfsSuffix "*.zip" \
|
|
506
|
+
--lfsActivityTimeout 3600
|
|
507
|
+
```
|
|
508
|
+
|
|
509
|
+
### 4.4 字段说明
|
|
510
|
+
|
|
511
|
+
`push_dataset` 的字段说明如下:
|
|
512
|
+
|
|
513
|
+
| 字段 | 是否必填 | 输入方式 |
|
|
514
|
+
| --- | --- | --- |
|
|
515
|
+
| `ownerType` | 是 | 数据集所有者类型,取值见下文“所有者类型” |
|
|
516
|
+
| `owner` | 是 | 数据集所有者标识,个人场景传用户名,组织场景传组织名称 |
|
|
517
|
+
| `name` | 是 | 数据集英文名称,3-80 个字符,支持数字、英文大小写以及中划线(-)、下划线(_)、点号(.),首尾字符必须为英文字母或数字,不支持连续特殊符号 |
|
|
518
|
+
| `localPath` | 是 | 本地数据集目录路径 |
|
|
519
|
+
| `branch` | 否 | 目标分支,默认 `master`;必须是远程已存在的分支 |
|
|
520
|
+
| `commitMessage` | 否 | git commit 信息,默认 `upload dataset` |
|
|
521
|
+
| `exclude` | 否 | 忽略上传的文件或目录模式,可传单个值或多个值,多个值用英文逗号分隔 |
|
|
522
|
+
| `lfsSuffix` | 否 | 使用 git lfs 管理的大文件模式,可传单个值或多个值,多个值用英文逗号分隔,例如 `*.zip,*.tar` |
|
|
523
|
+
| `lfsActivityTimeout` | 否 | Git LFS HTTP 客户端等待下一次 TCP 读/写的最长时间,单位秒,默认 `3600` |
|
|
524
|
+
|
|
525
|
+
使用 `lfsSuffix` 前,请先确保本机已完成 `git-lfs` 环境准备,例如已安装 `git-lfs` 并执行过 `git lfs install`。
|
|
526
|
+
|
|
527
|
+
### 4.5 可选值速查
|
|
528
|
+
|
|
529
|
+
#### 4.5.1 所有者类型
|
|
530
|
+
|
|
531
|
+
| 值 | 含义 |
|
|
532
|
+
| --- | --- |
|
|
533
|
+
| `0` | 个人 |
|
|
534
|
+
| `1` | 组织 |
|
|
535
|
+
|
|
536
|
+
## 5 下载模型
|
|
537
|
+
|
|
538
|
+
### 5.1 前提条件
|
|
539
|
+
|
|
540
|
+
请确保安装 Git。下载 Git LFS 文件时,也需要安装 Git LFS。
|
|
541
|
+
|
|
542
|
+
### 5.2 Python 示例
|
|
543
|
+
|
|
544
|
+
```python
|
|
545
|
+
from huanxin.hub.api import HubApi
|
|
546
|
+
from huanxin.hub.constants import OwnerType
|
|
547
|
+
|
|
548
|
+
api = HubApi()
|
|
549
|
+
api.login(access_token="YOUR_SDK_TOKEN")
|
|
550
|
+
|
|
551
|
+
api.download_model(
|
|
552
|
+
ownerType=OwnerType.ORG,
|
|
553
|
+
owner="my-test-org",
|
|
554
|
+
name="my-test-model",
|
|
555
|
+
localPath="./my-test-model",
|
|
556
|
+
branch="master",
|
|
557
|
+
)
|
|
558
|
+
```
|
|
559
|
+
|
|
560
|
+
### 5.3 CLI 示例
|
|
561
|
+
|
|
562
|
+
```bash
|
|
563
|
+
huanxin download-model \
|
|
564
|
+
--token YOUR_TOKEN \
|
|
565
|
+
--ownerType 1 \
|
|
566
|
+
--owner my-test-org \
|
|
567
|
+
--name my-test-model \
|
|
568
|
+
--localPath ./my-test-model \
|
|
569
|
+
--branch master
|
|
570
|
+
```
|
|
571
|
+
|
|
572
|
+
### 5.4 字段说明
|
|
573
|
+
|
|
574
|
+
`download_model` 的字段说明如下:
|
|
575
|
+
|
|
576
|
+
| 字段 | 是否必填 | 输入方式 |
|
|
577
|
+
| --- | --- | --- |
|
|
578
|
+
| `ownerType` | 是 | 模型所有者类型,取值见下文“所有者类型” |
|
|
579
|
+
| `owner` | 是 | 模型所有者标识,个人场景传用户名,组织场景传组织名称 |
|
|
580
|
+
| `name` | 是 | 模型英文名称,3-80 个字符,支持数字、英文大小写以及中划线(-)、下划线(_)、点号(.),首尾字符必须为英文字母或数字,不支持连续特殊符号 |
|
|
581
|
+
| `localPath` | 是 | 本地下载目录路径。目录不存在时自动创建;目录已存在时必须为空 |
|
|
582
|
+
| `branch` | 否 | 下载分支。不传时使用平台返回的默认分支 |
|
|
583
|
+
|
|
584
|
+
### 5.5 可选值速查
|
|
585
|
+
|
|
586
|
+
#### 5.5.1 所有者类型
|
|
587
|
+
|
|
588
|
+
| 值 | 含义 |
|
|
589
|
+
| --- | --- |
|
|
590
|
+
| `0` | 个人 |
|
|
591
|
+
| `1` | 组织 |
|
|
592
|
+
|
|
593
|
+
## 6 下载数据集
|
|
594
|
+
|
|
595
|
+
### 6.1 前提条件
|
|
596
|
+
|
|
597
|
+
请确保安装 Git。下载 Git LFS 文件时,也需要安装 Git LFS。
|
|
598
|
+
|
|
599
|
+
### 6.2 Python 示例
|
|
600
|
+
|
|
601
|
+
```python
|
|
602
|
+
from huanxin.hub.api import HubApi
|
|
603
|
+
from huanxin.hub.constants import OwnerType
|
|
604
|
+
|
|
605
|
+
api = HubApi()
|
|
606
|
+
api.login(access_token="YOUR_SDK_TOKEN")
|
|
607
|
+
|
|
608
|
+
api.download_dataset(
|
|
609
|
+
ownerType=OwnerType.ORG,
|
|
610
|
+
owner="my-test-org",
|
|
611
|
+
name="my-test-dataset",
|
|
612
|
+
localPath="./my-test-dataset",
|
|
613
|
+
branch="master",
|
|
614
|
+
)
|
|
615
|
+
```
|
|
616
|
+
|
|
617
|
+
### 6.3 CLI 示例
|
|
618
|
+
|
|
619
|
+
```bash
|
|
620
|
+
huanxin download-dataset \
|
|
621
|
+
--token YOUR_TOKEN \
|
|
622
|
+
--ownerType 1 \
|
|
623
|
+
--owner my-test-org \
|
|
624
|
+
--name my-test-dataset \
|
|
625
|
+
--localPath ./my-test-dataset \
|
|
626
|
+
--branch master
|
|
627
|
+
```
|
|
628
|
+
|
|
629
|
+
### 6.4 字段说明
|
|
630
|
+
|
|
631
|
+
`download_dataset` 的字段说明如下:
|
|
632
|
+
|
|
633
|
+
| 字段 | 是否必填 | 输入方式 |
|
|
634
|
+
| --- | --- | --- |
|
|
635
|
+
| `ownerType` | 是 | 数据集所有者类型,取值见下文“所有者类型” |
|
|
636
|
+
| `owner` | 是 | 数据集所有者标识,个人场景传用户名,组织场景传组织名称 |
|
|
637
|
+
| `name` | 是 | 数据集英文名称,3-80 个字符,支持数字、英文大小写以及中划线(-)、下划线(_)、点号(.),首尾字符必须为英文字母或数字,不支持连续特殊符号 |
|
|
638
|
+
| `localPath` | 是 | 本地下载目录路径。目录不存在时自动创建;目录已存在时必须为空 |
|
|
639
|
+
| `branch` | 否 | 下载分支。不传时使用平台返回的默认分支 |
|
|
640
|
+
|
|
641
|
+
### 6.5 可选值速查
|
|
642
|
+
|
|
643
|
+
#### 6.5.1 所有者类型
|
|
644
|
+
|
|
645
|
+
| 值 | 含义 |
|
|
646
|
+
| --- | --- |
|
|
647
|
+
| `0` | 个人 |
|
|
648
|
+
| `1` | 组织 |
|