opengradient 0.3.24__py3-none-any.whl → 0.3.26__py3-none-any.whl
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.
- opengradient/__init__.py +125 -98
- opengradient/account.py +6 -4
- opengradient/cli.py +151 -154
- opengradient/client.py +300 -362
- opengradient/defaults.py +7 -7
- opengradient/exceptions.py +25 -0
- opengradient/llm/__init__.py +7 -10
- opengradient/llm/og_langchain.py +34 -51
- opengradient/llm/og_openai.py +54 -61
- opengradient/mltools/__init__.py +2 -7
- opengradient/mltools/model_tool.py +20 -26
- opengradient/proto/infer_pb2.py +24 -29
- opengradient/proto/infer_pb2_grpc.py +95 -86
- opengradient/types.py +39 -35
- opengradient/utils.py +30 -31
- {opengradient-0.3.24.dist-info → opengradient-0.3.26.dist-info}/METADATA +5 -92
- opengradient-0.3.26.dist-info/RECORD +26 -0
- opengradient-0.3.24.dist-info/RECORD +0 -26
- {opengradient-0.3.24.dist-info → opengradient-0.3.26.dist-info}/LICENSE +0 -0
- {opengradient-0.3.24.dist-info → opengradient-0.3.26.dist-info}/WHEEL +0 -0
- {opengradient-0.3.24.dist-info → opengradient-0.3.26.dist-info}/entry_points.txt +0 -0
- {opengradient-0.3.24.dist-info → opengradient-0.3.26.dist-info}/top_level.txt +0 -0
opengradient/utils.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import json
|
|
1
2
|
import logging
|
|
2
3
|
from decimal import Decimal
|
|
3
4
|
from typing import Dict, List, Tuple
|
|
4
|
-
import json
|
|
5
5
|
|
|
6
6
|
import numpy as np
|
|
7
7
|
from web3.datastructures import AttributeDict
|
|
@@ -17,20 +17,21 @@ def convert_to_fixed_point(number: float) -> Tuple[int, int]:
|
|
|
17
17
|
# Converting number to string in case this is a numpy float
|
|
18
18
|
decimal_val = Decimal(str(number)).normalize()
|
|
19
19
|
sign, digits, exponent = decimal_val.as_tuple()
|
|
20
|
-
value = int(
|
|
20
|
+
value = int("".join(map(str, digits)))
|
|
21
21
|
if sign:
|
|
22
22
|
value = -value
|
|
23
|
-
|
|
23
|
+
|
|
24
24
|
if exponent >= 0:
|
|
25
|
-
value *= 10
|
|
25
|
+
value *= 10**exponent
|
|
26
26
|
decimals = 0
|
|
27
27
|
else:
|
|
28
28
|
decimals = -exponent
|
|
29
|
-
|
|
29
|
+
|
|
30
30
|
logging.debug(f"Converted number {number} to fixed point value={value} decimals={decimals}")
|
|
31
31
|
logging.debug(f"Types value={type(value)} decimals={type(decimals)}")
|
|
32
32
|
return value, decimals
|
|
33
33
|
|
|
34
|
+
|
|
34
35
|
def convert_to_float32(value: int, decimals: int) -> np.float32:
|
|
35
36
|
"""
|
|
36
37
|
Converts fixed point back into floating point
|
|
@@ -39,9 +40,8 @@ def convert_to_float32(value: int, decimals: int) -> np.float32:
|
|
|
39
40
|
"""
|
|
40
41
|
return np.float32(Decimal(value) / (10 ** Decimal(decimals)))
|
|
41
42
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
) -> Tuple[List[Tuple[str, List[Tuple[int, int]]]], List[Tuple[str, List[str]]]]:
|
|
43
|
+
|
|
44
|
+
def convert_to_model_input(inputs: Dict[str, np.ndarray]) -> Tuple[List[Tuple[str, List[Tuple[int, int]]]], List[Tuple[str, List[str]]]]:
|
|
45
45
|
"""
|
|
46
46
|
Expect SDK input to be a dict with the format
|
|
47
47
|
key: tensor name
|
|
@@ -66,9 +66,7 @@ def convert_to_model_input(
|
|
|
66
66
|
|
|
67
67
|
# Check if type is np array
|
|
68
68
|
if not isinstance(tensor_data, np.ndarray):
|
|
69
|
-
raise TypeError(
|
|
70
|
-
"Inference input must be list, numpy array, or type (str, int, float): %s"
|
|
71
|
-
% type(tensor_data))
|
|
69
|
+
raise TypeError("Inference input must be list, numpy array, or type (str, int, float): %s" % type(tensor_data))
|
|
72
70
|
|
|
73
71
|
# Flatten list and retain shape
|
|
74
72
|
shape = tensor_data.shape
|
|
@@ -78,16 +76,16 @@ def convert_to_model_input(
|
|
|
78
76
|
# Parse into number and string tensors
|
|
79
77
|
if issubclass(tensor_data.dtype.type, np.floating):
|
|
80
78
|
# Convert to fixed-point tuples
|
|
81
|
-
data_type = np.dtype([(
|
|
79
|
+
data_type = np.dtype([("value", int), ("decimal", int)])
|
|
82
80
|
converted_tensor_data = np.array([convert_to_fixed_point(i) for i in flat_data], dtype=data_type)
|
|
83
|
-
|
|
81
|
+
|
|
84
82
|
input = (tensor_name, converted_tensor_data.tolist(), shape)
|
|
85
83
|
logging.debug("\tFloating tensor input: %s", input)
|
|
86
84
|
|
|
87
85
|
number_tensors.append(input)
|
|
88
86
|
elif issubclass(tensor_data.dtype.type, np.integer):
|
|
89
87
|
# Convert to fixed-point tuples
|
|
90
|
-
data_type = np.dtype([(
|
|
88
|
+
data_type = np.dtype([("value", int), ("decimal", int)])
|
|
91
89
|
converted_tensor_data = np.array([convert_to_fixed_point(int(i)) for i in flat_data], dtype=data_type)
|
|
92
90
|
|
|
93
91
|
input = (tensor_name, converted_tensor_data.tolist(), shape)
|
|
@@ -102,16 +100,17 @@ def convert_to_model_input(
|
|
|
102
100
|
string_tensors.append(input)
|
|
103
101
|
else:
|
|
104
102
|
raise TypeError(f"Data type {tensor_data.dtype.type} not recognized")
|
|
105
|
-
|
|
103
|
+
|
|
106
104
|
logging.debug("Number tensors: %s", number_tensors)
|
|
107
105
|
logging.debug("Number tensor types: %s", [type(item) for item in number_tensors])
|
|
108
106
|
logging.debug("String tensors: %s", string_tensors)
|
|
109
107
|
logging.debug("String tensor types: %s", [type(item) for item in string_tensors])
|
|
110
108
|
return number_tensors, string_tensors
|
|
111
109
|
|
|
110
|
+
|
|
112
111
|
def convert_to_model_output(event_data: AttributeDict) -> Dict[str, np.ndarray]:
|
|
113
112
|
"""
|
|
114
|
-
Converts inference output into a user-readable output.
|
|
113
|
+
Converts inference output into a user-readable output.
|
|
115
114
|
Expects the inference node to return a dict with the format:
|
|
116
115
|
key: output_name (str)
|
|
117
116
|
value: (output_array (list), shape (list)) (tuple)
|
|
@@ -120,24 +119,24 @@ def convert_to_model_output(event_data: AttributeDict) -> Dict[str, np.ndarray]:
|
|
|
120
119
|
back into its original shape.
|
|
121
120
|
"""
|
|
122
121
|
logging.debug(f"Parsing event data: {event_data}")
|
|
123
|
-
|
|
122
|
+
|
|
124
123
|
output_dict = {}
|
|
125
124
|
|
|
126
|
-
output = event_data.get(
|
|
125
|
+
output = event_data.get("output", {})
|
|
127
126
|
logging.debug(f"Output data: {output}")
|
|
128
127
|
|
|
129
128
|
if isinstance(output, AttributeDict):
|
|
130
129
|
# Parse numbers
|
|
131
|
-
for tensor in output.get(
|
|
130
|
+
for tensor in output.get("numbers", []):
|
|
132
131
|
logging.debug(f"Processing number tensor: {tensor}")
|
|
133
132
|
if isinstance(tensor, AttributeDict):
|
|
134
|
-
name = tensor.get(
|
|
135
|
-
shape = tensor.get(
|
|
133
|
+
name = tensor.get("name")
|
|
134
|
+
shape = tensor.get("shape")
|
|
136
135
|
values = []
|
|
137
136
|
# Convert from fixed point back into np.float32
|
|
138
|
-
for v in tensor.get(
|
|
137
|
+
for v in tensor.get("values", []):
|
|
139
138
|
if isinstance(v, AttributeDict):
|
|
140
|
-
values.append(convert_to_float32(value=int(v.get(
|
|
139
|
+
values.append(convert_to_float32(value=int(v.get("value")), decimals=int(v.get("decimals"))))
|
|
141
140
|
else:
|
|
142
141
|
logging.warning(f"Unexpected number type: {type(v)}")
|
|
143
142
|
output_dict[name] = np.array(values).reshape(shape)
|
|
@@ -145,22 +144,22 @@ def convert_to_model_output(event_data: AttributeDict) -> Dict[str, np.ndarray]:
|
|
|
145
144
|
logging.warning(f"Unexpected tensor type: {type(tensor)}")
|
|
146
145
|
|
|
147
146
|
# Parse strings
|
|
148
|
-
for tensor in output.get(
|
|
147
|
+
for tensor in output.get("strings", []):
|
|
149
148
|
logging.debug(f"Processing string tensor: {tensor}")
|
|
150
149
|
if isinstance(tensor, AttributeDict):
|
|
151
|
-
name = tensor.get(
|
|
152
|
-
shape = tensor.get(
|
|
153
|
-
values = tensor.get(
|
|
150
|
+
name = tensor.get("name")
|
|
151
|
+
shape = tensor.get("shape")
|
|
152
|
+
values = tensor.get("values", [])
|
|
154
153
|
output_dict[name] = np.array(values).reshape(shape)
|
|
155
154
|
else:
|
|
156
155
|
logging.warning(f"Unexpected tensor type: {type(tensor)}")
|
|
157
156
|
|
|
158
157
|
# Parse JSON dicts
|
|
159
|
-
for tensor in output.get(
|
|
158
|
+
for tensor in output.get("jsons", []):
|
|
160
159
|
logging.debug(f"Processing JSON tensor: {tensor}")
|
|
161
160
|
if isinstance(tensor, AttributeDict):
|
|
162
|
-
name = tensor.get(
|
|
163
|
-
value = tensor.get(
|
|
161
|
+
name = tensor.get("name")
|
|
162
|
+
value = tensor.get("value")
|
|
164
163
|
output_dict[name] = np.array(json.loads(value))
|
|
165
164
|
else:
|
|
166
165
|
logging.warning(f"Unexpected tensor type: {type(tensor)}")
|
|
@@ -170,4 +169,4 @@ def convert_to_model_output(event_data: AttributeDict) -> Dict[str, np.ndarray]:
|
|
|
170
169
|
|
|
171
170
|
logging.debug(f"Parsed output: {output_dict}")
|
|
172
171
|
|
|
173
|
-
return output_dict
|
|
172
|
+
return output_dict
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: opengradient
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.26
|
|
4
4
|
Summary: Python SDK for OpenGradient decentralized model management & inference services
|
|
5
5
|
Author-email: OpenGradient <oliver@opengradient.ai>
|
|
6
6
|
License: MIT License
|
|
@@ -35,103 +35,16 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
35
35
|
Requires-Python: >=3.10
|
|
36
36
|
Description-Content-Type: text/markdown
|
|
37
37
|
License-File: LICENSE
|
|
38
|
-
Requires-Dist: aiohappyeyeballs>=2.4.3
|
|
39
|
-
Requires-Dist: aiohttp>=3.10.8
|
|
40
|
-
Requires-Dist: aiosignal>=1.3.1
|
|
41
|
-
Requires-Dist: annotated-types>=0.7.0
|
|
42
|
-
Requires-Dist: attrs>=24.2.0
|
|
43
|
-
Requires-Dist: bitarray>=2.9.2
|
|
44
|
-
Requires-Dist: CacheControl>=0.14.0
|
|
45
|
-
Requires-Dist: cachetools>=5.5.0
|
|
46
|
-
Requires-Dist: certifi>=2024.8.30
|
|
47
|
-
Requires-Dist: cffi>=1.17.1
|
|
48
|
-
Requires-Dist: charset-normalizer>=3.3.2
|
|
49
|
-
Requires-Dist: ckzg>=2.0.1
|
|
50
|
-
Requires-Dist: cleo>=2.1.0
|
|
51
|
-
Requires-Dist: click>=8.1.7
|
|
52
|
-
Requires-Dist: cramjam>=2.8.4
|
|
53
|
-
Requires-Dist: crashtest>=0.4.1
|
|
54
|
-
Requires-Dist: cryptography>=43.0.1
|
|
55
|
-
Requires-Dist: cytoolz>=0.12.3
|
|
56
|
-
Requires-Dist: distlib>=0.3.8
|
|
57
|
-
Requires-Dist: dulwich>=0.21.7
|
|
58
38
|
Requires-Dist: eth-account>=0.13.4
|
|
59
|
-
Requires-Dist:
|
|
60
|
-
Requires-Dist:
|
|
61
|
-
Requires-Dist: eth-keys>=0.5.1
|
|
62
|
-
Requires-Dist: eth-rlp>=2.1.0
|
|
63
|
-
Requires-Dist: eth-typing>=5.0.0
|
|
64
|
-
Requires-Dist: eth-utils>=5.0.0
|
|
65
|
-
Requires-Dist: eth_abi>=5.1.0
|
|
66
|
-
Requires-Dist: fastjsonschema>=2.20.0
|
|
67
|
-
Requires-Dist: fastparquet>=2024.5.0
|
|
68
|
-
Requires-Dist: filelock>=3.16.1
|
|
39
|
+
Requires-Dist: web3>=7.3.0
|
|
40
|
+
Requires-Dist: click>=8.1.7
|
|
69
41
|
Requires-Dist: firebase-rest-api>=1.11.0
|
|
70
|
-
Requires-Dist: frozenlist>=1.4.1
|
|
71
|
-
Requires-Dist: fsspec>=2024.9.0
|
|
72
|
-
Requires-Dist: google-api-core>=2.20.0
|
|
73
|
-
Requires-Dist: google-auth>=2.35.0
|
|
74
|
-
Requires-Dist: google-cloud-core>=2.4.1
|
|
75
|
-
Requires-Dist: google-cloud-firestore>=2.19.0
|
|
76
|
-
Requires-Dist: google-cloud-storage>=2.18.2
|
|
77
|
-
Requires-Dist: google-crc32c>=1.6.0
|
|
78
|
-
Requires-Dist: google-resumable-media>=2.7.2
|
|
79
|
-
Requires-Dist: googleapis-common-protos>=1.65.0
|
|
80
42
|
Requires-Dist: grpcio>=1.66.2
|
|
81
|
-
Requires-Dist:
|
|
82
|
-
Requires-Dist:
|
|
83
|
-
Requires-Dist: hexbytes>=1.2.1
|
|
84
|
-
Requires-Dist: idna>=3.10
|
|
85
|
-
Requires-Dist: jaraco.classes>=3.4.0
|
|
86
|
-
Requires-Dist: jwcrypto>=1.5.6
|
|
87
|
-
Requires-Dist: keyring>=24.3.1
|
|
43
|
+
Requires-Dist: numpy>=1.26.4
|
|
44
|
+
Requires-Dist: requests>=2.32.3
|
|
88
45
|
Requires-Dist: langchain>=0.3.7
|
|
89
|
-
Requires-Dist: more-itertools>=10.5.0
|
|
90
|
-
Requires-Dist: msgpack>=1.1.0
|
|
91
|
-
Requires-Dist: multidict>=6.1.0
|
|
92
46
|
Requires-Dist: openai>=1.58.1
|
|
93
|
-
Requires-Dist: packaging>=24.1
|
|
94
|
-
Requires-Dist: pandas>=2.2.3
|
|
95
|
-
Requires-Dist: parsimonious>=0.10.0
|
|
96
|
-
Requires-Dist: pathlib>=1.0.1
|
|
97
|
-
Requires-Dist: pexpect>=4.9.0
|
|
98
|
-
Requires-Dist: pkce>=1.0.3
|
|
99
|
-
Requires-Dist: pkginfo>=1.11.1
|
|
100
|
-
Requires-Dist: platformdirs>=4.3.6
|
|
101
|
-
Requires-Dist: proto-plus>=1.24.0
|
|
102
|
-
Requires-Dist: protobuf>=5.28.2
|
|
103
|
-
Requires-Dist: ptyprocess>=0.7.0
|
|
104
|
-
Requires-Dist: pyarrow>=17.0.0
|
|
105
|
-
Requires-Dist: pyasn1>=0.6.1
|
|
106
|
-
Requires-Dist: pyasn1_modules>=0.4.1
|
|
107
|
-
Requires-Dist: pycparser>=2.22
|
|
108
|
-
Requires-Dist: pycryptodome>=3.21.0
|
|
109
47
|
Requires-Dist: pydantic>=2.9.2
|
|
110
|
-
Requires-Dist: pydantic_core>=2.23.4
|
|
111
|
-
Requires-Dist: pyproject_hooks>=1.2.0
|
|
112
|
-
Requires-Dist: python-dateutil>=2.9.0.post0
|
|
113
|
-
Requires-Dist: python-jwt>=4.1.0
|
|
114
|
-
Requires-Dist: pytz>=2024.2
|
|
115
|
-
Requires-Dist: pyunormalize>=16.0.0
|
|
116
|
-
Requires-Dist: RapidFuzz>=3.10.0
|
|
117
|
-
Requires-Dist: regex>=2024.9.11
|
|
118
|
-
Requires-Dist: requests>=2.32.3
|
|
119
|
-
Requires-Dist: requests-toolbelt>=1.0.0
|
|
120
|
-
Requires-Dist: rlp>=4.0.1
|
|
121
|
-
Requires-Dist: rsa>=4.9
|
|
122
|
-
Requires-Dist: shellingham>=1.5.4
|
|
123
|
-
Requires-Dist: six>=1.16.0
|
|
124
|
-
Requires-Dist: tomlkit>=0.13.2
|
|
125
|
-
Requires-Dist: toolz>=0.12.1
|
|
126
|
-
Requires-Dist: trove-classifiers>=2024.9.12
|
|
127
|
-
Requires-Dist: types-requests>=2.32.0.20240914
|
|
128
|
-
Requires-Dist: typing_extensions>=4.12.2
|
|
129
|
-
Requires-Dist: tzdata>=2024.2
|
|
130
|
-
Requires-Dist: urllib3>=2.2.3
|
|
131
|
-
Requires-Dist: web3>=7.3.0
|
|
132
|
-
Requires-Dist: websockets>=13.1
|
|
133
|
-
Requires-Dist: xattr>=1.1.0
|
|
134
|
-
Requires-Dist: yarl>=1.13.1
|
|
135
48
|
|
|
136
49
|
# OpenGradient Python SDK
|
|
137
50
|
Python SDK for the OpenGradient platform provides decentralized model management & inference services. Python SDK allows programmatic access to our model repository and decentralized AI infrastructure.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
opengradient/__init__.py,sha256=j52gE9yLsig3og9_EKhV12K-VzFpZLORmM0msm2zJB0,12858
|
|
2
|
+
opengradient/account.py,sha256=5wrYpws_1lozjOFjLCTHtxgoxK-LmObDAaVy9eDcJY4,1145
|
|
3
|
+
opengradient/cli.py,sha256=uRvzICY_QqWor025-pQvovL4xuCmOSk0Z2uyHsJtS3g,25582
|
|
4
|
+
opengradient/client.py,sha256=YmNrDjn9Zd71O0M_pgmnKQ3CqWFPfIDp0004UpRFt_A,41064
|
|
5
|
+
opengradient/defaults.py,sha256=VK3a4B4d6ZpGRqfpMe20PTUMXACjH2TdbCkiWLld8WU,398
|
|
6
|
+
opengradient/exceptions.py,sha256=88tfegboGtlehQcwhxsl6ZzhLJWZWlkf_bkHTiCtXpo,3391
|
|
7
|
+
opengradient/types.py,sha256=rjnn6d7ugv4kO2tJw87QWiC4aBvei8renVw2NMVNhEo,3989
|
|
8
|
+
opengradient/utils.py,sha256=hf1dQvOHdCFthrAr_Wif_PNn6-C3zZaa3QCZX1HMWoA,6911
|
|
9
|
+
opengradient/abi/ModelExecutorHistorical.abi,sha256=Z-2CQRG2BO5R-Ix1OLgQD9GCcHZw8w6-Zth3rzNX0TU,3278
|
|
10
|
+
opengradient/abi/inference.abi,sha256=MR5u9npZ-Yx2EqRW17_M-UnGgFF3mMEMepOwaZ-Bkgc,7040
|
|
11
|
+
opengradient/contracts/templates/ModelExecutorHistorical.bin,sha256=J_bHglQOXEsv44BkBkMvA9uWz7c9c8gdqqSb0KxIzkI,34924
|
|
12
|
+
opengradient/llm/__init__.py,sha256=b_msjZstmTRD20LOaZbBxxigtnL7vxh7CziiyVlqpAo,1104
|
|
13
|
+
opengradient/llm/og_langchain.py,sha256=F9gdrwqMFPjLUakUfSjc4Obx8qIvf7HIphe6eM3ObZo,4322
|
|
14
|
+
opengradient/llm/og_openai.py,sha256=9MA3HDotjcJbbcGJ7DYZUA990QHQLdWpxAYhJSsTiz0,3708
|
|
15
|
+
opengradient/mltools/__init__.py,sha256=JU1VDzYb-rpko_hn9IlwjOvy_dfW1hvxBCBC2xrnvUM,147
|
|
16
|
+
opengradient/mltools/model_tool.py,sha256=dNoznwAiauff961EzM_9raYGdwcPLIqxIsPE1yCuWPU,5086
|
|
17
|
+
opengradient/proto/__init__.py,sha256=AhaSmrqV0TXGzCKaoPV8-XUvqs2fGAJBM2aOmDpkNbE,55
|
|
18
|
+
opengradient/proto/infer.proto,sha256=13eaEMcppxkBF8yChptsX9HooWFwJKze7oLZNl-LEb8,1217
|
|
19
|
+
opengradient/proto/infer_pb2.py,sha256=sGWDDVumYhXoCJTG9rLyvKu4XyaEjPE_b038kbNlj7w,3484
|
|
20
|
+
opengradient/proto/infer_pb2_grpc.py,sha256=q42_eZ7OZCMTXdWocYA4Ka3B0c3B74dOhfqdaIOO5AU,6700
|
|
21
|
+
opengradient-0.3.26.dist-info/LICENSE,sha256=xEcvQ3AxZOtDkrqkys2Mm6Y9diEnaSeQRKvxi-JGnNA,1069
|
|
22
|
+
opengradient-0.3.26.dist-info/METADATA,sha256=8emmrKaTCefGRESCgFIBx4AHmLaRNTD_V6HoO7odY3c,5833
|
|
23
|
+
opengradient-0.3.26.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
24
|
+
opengradient-0.3.26.dist-info/entry_points.txt,sha256=yUKTaJx8RXnybkob0J62wVBiCp_1agVbgw9uzsmaeJc,54
|
|
25
|
+
opengradient-0.3.26.dist-info/top_level.txt,sha256=oC1zimVLa2Yi1LQz8c7x-0IQm92milb5ax8gHBHwDqU,13
|
|
26
|
+
opengradient-0.3.26.dist-info/RECORD,,
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
opengradient/__init__.py,sha256=tv3JB_R52vy0lHnnUioee6CJ3kjnQAriRHZ3iHY06aY,12741
|
|
2
|
-
opengradient/account.py,sha256=2B7rtCXQDX-yF4U69h8B9-OUreJU4IqoGXG_1Hn9nWs,1150
|
|
3
|
-
opengradient/cli.py,sha256=vYE_zr1oKYOkiAEWRyW3cR6jJQr6xKterjI1grhmROg,26399
|
|
4
|
-
opengradient/client.py,sha256=Dybu7g5kP7rJKQq0NbNjamJUVNTYLdSFdEd3ZA6fiaQ,42668
|
|
5
|
-
opengradient/defaults.py,sha256=6tsW9Z84z6YtITCsULTTgnN0KRUZjfSoeWJZqdWkYCo,384
|
|
6
|
-
opengradient/exceptions.py,sha256=v4VmUGTvvtjhCZAhR24Ga42z3q-DzR1Y5zSqP_yn2Xk,3366
|
|
7
|
-
opengradient/types.py,sha256=Z8HFmCxNiC4Pr8qVoALF_jYOAqIJuKsiJSgq96q-sxQ,4175
|
|
8
|
-
opengradient/utils.py,sha256=lUDPmyPqLwpZI-owyN6Rm3QvUjOn5pLN5G1QyriVm-E,6994
|
|
9
|
-
opengradient/abi/ModelExecutorHistorical.abi,sha256=Z-2CQRG2BO5R-Ix1OLgQD9GCcHZw8w6-Zth3rzNX0TU,3278
|
|
10
|
-
opengradient/abi/inference.abi,sha256=MR5u9npZ-Yx2EqRW17_M-UnGgFF3mMEMepOwaZ-Bkgc,7040
|
|
11
|
-
opengradient/contracts/templates/ModelExecutorHistorical.bin,sha256=J_bHglQOXEsv44BkBkMvA9uWz7c9c8gdqqSb0KxIzkI,34924
|
|
12
|
-
opengradient/llm/__init__.py,sha256=J1W_AKPntqlDqLeflhn2x7A0i-dkMT-ol3jlEdFgMWU,1135
|
|
13
|
-
opengradient/llm/og_langchain.py,sha256=-QBGFdQJ1cdSCTUUerajHXNvV5Xi9yaVpa3BeAqKZbQ,4541
|
|
14
|
-
opengradient/llm/og_openai.py,sha256=3oaQOQnA7RzQ-LcFw-AQRn2RON8tsprSa9bGtyD88OE,3853
|
|
15
|
-
opengradient/mltools/__init__.py,sha256=cfzf6lZmqLNN1efa5K_pCa7k1D5PnRkB6LNyJ9UeJvk,162
|
|
16
|
-
opengradient/mltools/model_tool.py,sha256=q1k3Zq7jmRe-8HqP_-ia-p7ocDRcSn18T4gbNM9xlD0,5237
|
|
17
|
-
opengradient/proto/__init__.py,sha256=AhaSmrqV0TXGzCKaoPV8-XUvqs2fGAJBM2aOmDpkNbE,55
|
|
18
|
-
opengradient/proto/infer.proto,sha256=13eaEMcppxkBF8yChptsX9HooWFwJKze7oLZNl-LEb8,1217
|
|
19
|
-
opengradient/proto/infer_pb2.py,sha256=wg2vjLQCNv6HRhYuIqgj9xivi3nO4IPz6E5wh2dhDqY,3446
|
|
20
|
-
opengradient/proto/infer_pb2_grpc.py,sha256=y5GYwD1EdNs892xx58jdfyA0fO5QC7k3uZOtImTHMiE,6891
|
|
21
|
-
opengradient-0.3.24.dist-info/LICENSE,sha256=xEcvQ3AxZOtDkrqkys2Mm6Y9diEnaSeQRKvxi-JGnNA,1069
|
|
22
|
-
opengradient-0.3.24.dist-info/METADATA,sha256=yy6OzS1b8s4ZXj1YICJNLA1EHv2Igg3Vyu8MG8CuRUs,8754
|
|
23
|
-
opengradient-0.3.24.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
24
|
-
opengradient-0.3.24.dist-info/entry_points.txt,sha256=yUKTaJx8RXnybkob0J62wVBiCp_1agVbgw9uzsmaeJc,54
|
|
25
|
-
opengradient-0.3.24.dist-info/top_level.txt,sha256=oC1zimVLa2Yi1LQz8c7x-0IQm92milb5ax8gHBHwDqU,13
|
|
26
|
-
opengradient-0.3.24.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|