model-library 0.1.3__py3-none-any.whl → 0.1.5__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.
- model_library/base/base.py +2 -0
- model_library/base/output.py +24 -9
- model_library/base/utils.py +27 -5
- model_library/config/README.md +169 -0
- model_library/config/ai21labs_models.yaml +11 -11
- model_library/config/alibaba_models.yaml +21 -22
- model_library/config/all_models.json +4623 -2599
- model_library/config/amazon_models.yaml +100 -102
- model_library/config/anthropic_models.yaml +43 -52
- model_library/config/cohere_models.yaml +25 -24
- model_library/config/deepseek_models.yaml +28 -25
- model_library/config/dummy_model.yaml +9 -7
- model_library/config/fireworks_models.yaml +86 -56
- model_library/config/google_models.yaml +146 -126
- model_library/config/inception_models.yaml +6 -6
- model_library/config/kimi_models.yaml +13 -14
- model_library/config/minimax_models.yaml +37 -0
- model_library/config/mistral_models.yaml +85 -29
- model_library/config/openai_models.yaml +192 -150
- model_library/config/perplexity_models.yaml +10 -23
- model_library/config/together_models.yaml +115 -104
- model_library/config/xai_models.yaml +47 -79
- model_library/config/zai_models.yaml +23 -15
- model_library/exceptions.py +7 -16
- model_library/providers/amazon.py +32 -17
- model_library/providers/minimax.py +33 -0
- model_library/providers/mistral.py +10 -1
- model_library/providers/openai.py +2 -6
- model_library/register_models.py +36 -36
- model_library/registry_utils.py +78 -16
- model_library/utils.py +2 -2
- {model_library-0.1.3.dist-info → model_library-0.1.5.dist-info}/METADATA +2 -2
- model_library-0.1.5.dist-info/RECORD +64 -0
- model_library-0.1.3.dist-info/RECORD +0 -61
- {model_library-0.1.3.dist-info → model_library-0.1.5.dist-info}/WHEEL +0 -0
- {model_library-0.1.3.dist-info → model_library-0.1.5.dist-info}/licenses/LICENSE +0 -0
- {model_library-0.1.3.dist-info → model_library-0.1.5.dist-info}/top_level.txt +0 -0
model_library/register_models.py
CHANGED
|
@@ -27,9 +27,25 @@ You can set metadata configs that are not passed into the LLMConfig class here,
|
|
|
27
27
|
"""
|
|
28
28
|
|
|
29
29
|
|
|
30
|
+
class Supports(BaseModel):
|
|
31
|
+
images: bool | None = None
|
|
32
|
+
videos: bool | None = None
|
|
33
|
+
files: bool | None = None
|
|
34
|
+
batch: bool | None = None
|
|
35
|
+
temperature: bool | None = None
|
|
36
|
+
tools: bool | None = None
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class Metadata(BaseModel):
|
|
40
|
+
deprecated: bool = False
|
|
41
|
+
available_for_everyone: bool = True
|
|
42
|
+
available_as_evaluator: bool = False
|
|
43
|
+
ignored_for_cost: bool = False
|
|
44
|
+
|
|
45
|
+
|
|
30
46
|
class Properties(BaseModel):
|
|
31
47
|
context_window: int | None = None
|
|
32
|
-
|
|
48
|
+
max_tokens: int | None = None
|
|
33
49
|
training_cutoff: str | None = None
|
|
34
50
|
reasoning_model: bool | None = None
|
|
35
51
|
|
|
@@ -118,28 +134,6 @@ class CostProperties(BaseModel):
|
|
|
118
134
|
context: ContextCost | None = None
|
|
119
135
|
|
|
120
136
|
|
|
121
|
-
class ClassProperties(BaseModel):
|
|
122
|
-
supports_images: bool | None = None
|
|
123
|
-
supports_videos: bool | None = None
|
|
124
|
-
supports_files: bool | None = None
|
|
125
|
-
supports_batch_requests: bool | None = None
|
|
126
|
-
supports_temperature: bool | None = None
|
|
127
|
-
supports_tools: bool | None = None
|
|
128
|
-
# vals specific
|
|
129
|
-
deprecated: bool = False
|
|
130
|
-
available_for_everyone: bool = True
|
|
131
|
-
available_as_evaluator: bool = False
|
|
132
|
-
ignored_for_cost: bool = False
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
"""
|
|
136
|
-
Each provider can have a set of provider-specific properties, we however want to accept
|
|
137
|
-
any possible property from a provider in the yaml, and validate later. So we join all
|
|
138
|
-
provider-specific properties into a single class.
|
|
139
|
-
This has no effect on runtime use of ProviderConfig, only used to load the yaml
|
|
140
|
-
"""
|
|
141
|
-
|
|
142
|
-
|
|
143
137
|
class BaseProviderProperties(BaseModel):
|
|
144
138
|
"""Static base class for dynamic ProviderProperties."""
|
|
145
139
|
|
|
@@ -172,9 +166,9 @@ def get_dynamic_provider_properties_model() -> type[BaseProviderProperties]:
|
|
|
172
166
|
|
|
173
167
|
|
|
174
168
|
class DefaultParameters(BaseModel):
|
|
175
|
-
max_output_tokens: int | None = None
|
|
176
169
|
temperature: float | None = None
|
|
177
170
|
top_p: float | None = None
|
|
171
|
+
top_k: int | None = None
|
|
178
172
|
reasoning_effort: str | None = None
|
|
179
173
|
|
|
180
174
|
|
|
@@ -186,26 +180,29 @@ class RawModelConfig(BaseModel):
|
|
|
186
180
|
open_source: bool
|
|
187
181
|
documentation_url: str | None = None
|
|
188
182
|
properties: Properties = Field(default_factory=Properties)
|
|
189
|
-
|
|
190
|
-
|
|
183
|
+
supports: Supports
|
|
184
|
+
metadata: Metadata = Field(default_factory=Metadata)
|
|
185
|
+
provider_properties: BaseProviderProperties = Field(
|
|
186
|
+
default_factory=BaseProviderProperties
|
|
187
|
+
)
|
|
191
188
|
costs_per_million_token: CostProperties = Field(default_factory=CostProperties)
|
|
192
189
|
alternative_keys: list[str | dict[str, Any]] = Field(default_factory=list)
|
|
193
190
|
default_parameters: DefaultParameters = Field(default_factory=DefaultParameters)
|
|
191
|
+
provider_endpoint: str | None = None
|
|
194
192
|
|
|
195
193
|
def model_dump(self, *args: object, **kwargs: object):
|
|
196
194
|
data = super().model_dump(*args, **kwargs)
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
)
|
|
195
|
+
# explicitly dump dynamic ProviderProperties instance
|
|
196
|
+
data["provider_properties"] = self.provider_properties.model_dump(
|
|
197
|
+
*args, **kwargs
|
|
198
|
+
)
|
|
202
199
|
return data
|
|
203
200
|
|
|
204
201
|
|
|
205
202
|
class ModelConfig(RawModelConfig):
|
|
206
203
|
# post processing fields
|
|
204
|
+
provider_endpoint: str # pyright: ignore[reportIncompatibleVariableOverride, reportGeneralTypeIssues]
|
|
207
205
|
provider_name: str
|
|
208
|
-
provider_endpoint: str
|
|
209
206
|
full_key: str
|
|
210
207
|
slug: str
|
|
211
208
|
|
|
@@ -272,14 +269,17 @@ def _register_models() -> ModelRegistry:
|
|
|
272
269
|
current_model_config, model_config
|
|
273
270
|
)
|
|
274
271
|
|
|
272
|
+
provider_properties = current_model_config.pop(
|
|
273
|
+
"provider_properties", {}
|
|
274
|
+
)
|
|
275
|
+
|
|
275
276
|
# create model config object
|
|
276
277
|
raw_model_obj: RawModelConfig = RawModelConfig.model_validate(
|
|
277
|
-
current_model_config, strict=True
|
|
278
|
+
current_model_config, strict=True, extra="forbid"
|
|
278
279
|
)
|
|
279
280
|
|
|
280
281
|
provider_endpoint = (
|
|
281
|
-
|
|
282
|
-
or model_name.split("/", 1)[1]
|
|
282
|
+
raw_model_obj.provider_endpoint or model_name.split("/", 1)[1]
|
|
283
283
|
)
|
|
284
284
|
# add provider metadata
|
|
285
285
|
model_obj = ModelConfig.model_validate(
|
|
@@ -293,7 +293,7 @@ def _register_models() -> ModelRegistry:
|
|
|
293
293
|
)
|
|
294
294
|
# load provider properties separately since the model was generated at runtime
|
|
295
295
|
model_obj.provider_properties = ProviderProperties.model_validate(
|
|
296
|
-
|
|
296
|
+
provider_properties
|
|
297
297
|
)
|
|
298
298
|
|
|
299
299
|
registry[model_name] = model_obj
|
model_library/registry_utils.py
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
from functools import cache
|
|
2
2
|
from pathlib import Path
|
|
3
|
+
from typing import TypedDict
|
|
3
4
|
|
|
4
5
|
import tiktoken
|
|
5
6
|
|
|
6
7
|
from model_library.base import LLM, LLMConfig, ProviderConfig
|
|
8
|
+
from model_library.base.output import QueryResultCost, QueryResultMetadata
|
|
7
9
|
from model_library.register_models import (
|
|
8
10
|
CostProperties,
|
|
9
11
|
ModelConfig,
|
|
@@ -25,29 +27,31 @@ def create_config(
|
|
|
25
27
|
config: object = {}
|
|
26
28
|
|
|
27
29
|
properties = registry_config.properties
|
|
28
|
-
|
|
30
|
+
supports = registry_config.supports
|
|
29
31
|
provider_properties = registry_config.provider_properties
|
|
30
32
|
defaults = registry_config.default_parameters
|
|
31
33
|
|
|
32
34
|
if properties:
|
|
33
|
-
if properties.
|
|
34
|
-
config["max_tokens"] = properties.
|
|
35
|
+
if properties.max_tokens is not None:
|
|
36
|
+
config["max_tokens"] = properties.max_tokens
|
|
35
37
|
if properties.reasoning_model is not None:
|
|
36
38
|
config["reasoning"] = properties.reasoning_model
|
|
37
39
|
|
|
38
|
-
if
|
|
39
|
-
if
|
|
40
|
-
config["supports_images"] =
|
|
41
|
-
if
|
|
42
|
-
config["supports_files"] =
|
|
43
|
-
if
|
|
44
|
-
config["supports_videos"] =
|
|
45
|
-
if
|
|
46
|
-
config["supports_batch"] =
|
|
47
|
-
if
|
|
48
|
-
config["supports_temperature"] =
|
|
49
|
-
if
|
|
50
|
-
config["supports_tools"] =
|
|
40
|
+
if supports:
|
|
41
|
+
if supports.images is not None:
|
|
42
|
+
config["supports_images"] = supports.images
|
|
43
|
+
if supports.files is not None:
|
|
44
|
+
config["supports_files"] = supports.files
|
|
45
|
+
if supports.videos is not None:
|
|
46
|
+
config["supports_videos"] = supports.videos
|
|
47
|
+
if supports.batch is not None:
|
|
48
|
+
config["supports_batch"] = supports.batch
|
|
49
|
+
if supports.temperature is not None:
|
|
50
|
+
config["supports_temperature"] = supports.temperature
|
|
51
|
+
if supports.tools is not None:
|
|
52
|
+
config["supports_tools"] = supports.tools
|
|
53
|
+
else:
|
|
54
|
+
raise Exception(f"{registry_config.label} has no supports")
|
|
51
55
|
|
|
52
56
|
# load provider config with correct type
|
|
53
57
|
if provider_properties:
|
|
@@ -127,6 +131,64 @@ def get_model_cost(model_str: str) -> CostProperties | None:
|
|
|
127
131
|
return model_config.costs_per_million_token
|
|
128
132
|
|
|
129
133
|
|
|
134
|
+
class TokenDict(TypedDict, total=False):
|
|
135
|
+
"""Token counts for cost calculation."""
|
|
136
|
+
|
|
137
|
+
in_tokens: int
|
|
138
|
+
out_tokens: int
|
|
139
|
+
reasoning_tokens: int | None
|
|
140
|
+
cache_read_tokens: int | None
|
|
141
|
+
cache_write_tokens: int | None
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
async def recompute_cost(
|
|
145
|
+
model_str: str,
|
|
146
|
+
tokens: TokenDict,
|
|
147
|
+
) -> QueryResultCost:
|
|
148
|
+
"""
|
|
149
|
+
Recompute the cost for a model based on token information.
|
|
150
|
+
|
|
151
|
+
Uses the model provider's existing _calculate_cost method to ensure
|
|
152
|
+
provider-specific cost calculations are applied.
|
|
153
|
+
|
|
154
|
+
Args:
|
|
155
|
+
model_str: The model identifier (e.g., "openai/gpt-4o")
|
|
156
|
+
tokens: Dictionary containing token counts with keys:
|
|
157
|
+
- in_tokens (required): Number of input tokens
|
|
158
|
+
- out_tokens (required): Number of output tokens
|
|
159
|
+
- reasoning_tokens (optional): Number of reasoning tokens
|
|
160
|
+
- cache_read_tokens (optional): Number of cache read tokens
|
|
161
|
+
- cache_write_tokens (optional): Number of cache write tokens
|
|
162
|
+
|
|
163
|
+
Returns:
|
|
164
|
+
QueryResultCost with computed costs
|
|
165
|
+
|
|
166
|
+
Raises:
|
|
167
|
+
ValueError: If required token parameters are missing
|
|
168
|
+
Exception: If model not found in registry or costs not configured
|
|
169
|
+
"""
|
|
170
|
+
if "in_tokens" not in tokens:
|
|
171
|
+
raise ValueError("Token dict must contain 'in_tokens'")
|
|
172
|
+
if "out_tokens" not in tokens:
|
|
173
|
+
raise ValueError("Token dict must contain 'out_tokens'")
|
|
174
|
+
|
|
175
|
+
model = get_registry_model(model_str)
|
|
176
|
+
|
|
177
|
+
metadata = QueryResultMetadata(
|
|
178
|
+
in_tokens=tokens["in_tokens"],
|
|
179
|
+
out_tokens=tokens["out_tokens"],
|
|
180
|
+
reasoning_tokens=tokens.get("reasoning_tokens"),
|
|
181
|
+
cache_read_tokens=tokens.get("cache_read_tokens"),
|
|
182
|
+
cache_write_tokens=tokens.get("cache_write_tokens"),
|
|
183
|
+
)
|
|
184
|
+
|
|
185
|
+
cost = await model._calculate_cost(metadata) # type: ignore[arg-type]
|
|
186
|
+
if cost is None:
|
|
187
|
+
raise Exception(f"No cost information available for model {model_str}")
|
|
188
|
+
|
|
189
|
+
return cost
|
|
190
|
+
|
|
191
|
+
|
|
130
192
|
@cache
|
|
131
193
|
def get_provider_names() -> list[str]:
|
|
132
194
|
"""Return all provider names in the registry"""
|
model_library/utils.py
CHANGED
|
@@ -39,9 +39,9 @@ def deep_model_dump(obj: object) -> object:
|
|
|
39
39
|
|
|
40
40
|
def default_httpx_client():
|
|
41
41
|
return httpx.AsyncClient(
|
|
42
|
-
timeout=httpx.Timeout(
|
|
42
|
+
timeout=httpx.Timeout(None),
|
|
43
43
|
limits=httpx.Limits(
|
|
44
|
-
max_connections=
|
|
44
|
+
max_connections=2000, max_keepalive_connections=300
|
|
45
45
|
), # TODO: increase, but make sure prod enough sockets to not hit file descriptor limit
|
|
46
46
|
)
|
|
47
47
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: model-library
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.5
|
|
4
4
|
Summary: Model Library for vals.ai
|
|
5
5
|
Author-email: "Vals AI, Inc." <contact@vals.ai>
|
|
6
6
|
License: MIT
|
|
@@ -15,7 +15,7 @@ Requires-Dist: backoff<3.0,>=2.2.1
|
|
|
15
15
|
Requires-Dist: redis<7.0,>=6.2.0
|
|
16
16
|
Requires-Dist: tiktoken==0.11.0
|
|
17
17
|
Requires-Dist: pillow
|
|
18
|
-
Requires-Dist: openai<
|
|
18
|
+
Requires-Dist: openai<3.0,>=2.0
|
|
19
19
|
Requires-Dist: anthropic<1.0,>=0.57.1
|
|
20
20
|
Requires-Dist: mistralai<2.0,>=1.9.10
|
|
21
21
|
Requires-Dist: xai-sdk<2.0,>=1.0.0
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
model_library/__init__.py,sha256=AKc_15aklOf-LbcS9z1Xer_moRWNpG6Dh3kqvSQ0nOI,714
|
|
2
|
+
model_library/exceptions.py,sha256=ZHMr6lloXZz4V4Wy1UP8zc1CdUHx6-IS9_rOi6oN45s,8680
|
|
3
|
+
model_library/file_utils.py,sha256=FAZRRtDT8c4Rjfoj64Te3knEHggXAAfRRuS8WLCsSe8,3682
|
|
4
|
+
model_library/logging.py,sha256=McyaPHUk7RkB38-LrfnudrrU1B62ta8wAbbIBwLRmj0,853
|
|
5
|
+
model_library/model_utils.py,sha256=l8oCltGeimMGtnne_3Q1EguVtzCj61UMsLsma-1czwg,753
|
|
6
|
+
model_library/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
|
+
model_library/register_models.py,sha256=CY3Wd16AcWf7tYu_O2I2_kg_hdvQJFcvyQQA2OUu2SA,13646
|
|
8
|
+
model_library/registry_utils.py,sha256=BVauHcP02Et2maLxowNBbdpGd32cnLz1_zSjDLVJjp0,8843
|
|
9
|
+
model_library/settings.py,sha256=QyeUqzWBpexFi014L_mZkoXP49no3SAQNJRObATXrL8,873
|
|
10
|
+
model_library/utils.py,sha256=T91ACGTc-KtksVyMFspt-vJtR5I-xcO3nVfH6SltmMU,3988
|
|
11
|
+
model_library/base/__init__.py,sha256=TtxCXGUtkEqWZNMMofLPuC4orN7Ja2hemtbtHitt_UA,266
|
|
12
|
+
model_library/base/base.py,sha256=HXxImh2H-GIIiVGNqV7gRPi0HH1KJxB_4ckuKyEqAYo,14139
|
|
13
|
+
model_library/base/batch.py,sha256=-jd6L0ECc5pkj73zoX2ZYcv_9iQdqxEi1kEilwaXWSA,2895
|
|
14
|
+
model_library/base/delegate_only.py,sha256=V2MzENtvBg0pySKncgE-mfCLBhhRZ0y4BntQwQsxbqU,2111
|
|
15
|
+
model_library/base/input.py,sha256=Nhg8Ril1kFau1DnE8u102JC1l-vxNd-v9e3SjovR-Do,1876
|
|
16
|
+
model_library/base/output.py,sha256=Ak6CJRYqtjYILsSWkfE70fSK3yvP7v_n5NYfysMaIL4,7464
|
|
17
|
+
model_library/base/utils.py,sha256=YGQLPyQgCbfHNBxyTxCvpZNZ-ctEji258IdfMiXUJXs,1962
|
|
18
|
+
model_library/config/README.md,sha256=i8_wHnlI6uHIqWN9fYBkDCglZM2p5ZMVD3SLlxiwUVk,4274
|
|
19
|
+
model_library/config/ai21labs_models.yaml,sha256=ZWHhk1cep2GQIYHqkTS_0152mF3oZg2tSzMPmvfMRSI,2478
|
|
20
|
+
model_library/config/alibaba_models.yaml,sha256=-RLWOwh3ZaCQqjaZ-4Zw0BJNVE6JVHJ8Ggm9gQJZ6QI,2082
|
|
21
|
+
model_library/config/all_models.json,sha256=suyLLiU87NbUjWsnGeUpd94aIQ6UPyEURtPh48AW4-4,530914
|
|
22
|
+
model_library/config/amazon_models.yaml,sha256=HgLmhpfedHCQtkPEviEJCBbAb-dNQPOnVtf4UnwrDds,7654
|
|
23
|
+
model_library/config/anthropic_models.yaml,sha256=bTc_3Oqn4wCdq-dcWcEfmXrPVZjcR8-V6pTao7sGa_E,10475
|
|
24
|
+
model_library/config/cohere_models.yaml,sha256=ZfWrS1K45Hxd5nT_gpP5YGAovJcBIlLNIdaRyE3V-7o,5022
|
|
25
|
+
model_library/config/deepseek_models.yaml,sha256=4CCrf-4UPBgFCrS6CQa3vzNiaYlD4B6dFJFK_kIYBWY,1156
|
|
26
|
+
model_library/config/dummy_model.yaml,sha256=lImYJBtBVJk_jgnLbkuSyOshQphVlYCMkw-UiJIBYhY,877
|
|
27
|
+
model_library/config/fireworks_models.yaml,sha256=BMyQqjEpayNfSVGekzOFNIx7Ng3QOfPtldw5k2msqX0,6269
|
|
28
|
+
model_library/config/google_models.yaml,sha256=Rg127nsBbHpk62X7WBq2ckdHo0bwYM0NVjF7T2h_1c0,16494
|
|
29
|
+
model_library/config/inception_models.yaml,sha256=YCqfQlkH_pTdHIKee5dP_aRFXw_fTIEQCpUvX2bwO0M,560
|
|
30
|
+
model_library/config/kimi_models.yaml,sha256=AAqse_BCE-lrHkJHIWJVqMtttnZQCa-5Qy5qiLUJjYs,755
|
|
31
|
+
model_library/config/minimax_models.yaml,sha256=IttkpdBrp75J9WZQ0IRE4m4eSfd0LonfcA9OtrzJrMY,873
|
|
32
|
+
model_library/config/mistral_models.yaml,sha256=mYKYSzJl24lUiA_erSkom7nCBxAoeJ57Mi3090q1ArM,5162
|
|
33
|
+
model_library/config/openai_models.yaml,sha256=1lKsTQwsxMMJqXtEoYs3liy6NcaK4p8NN7b-GSFnl8k,25261
|
|
34
|
+
model_library/config/perplexity_models.yaml,sha256=WUDqhLvnB0kQhCCwPv19FYLHozet3m33Spdo6bGff3Q,2336
|
|
35
|
+
model_library/config/together_models.yaml,sha256=BeqRJonYzPvWwoLfkyH0RMRKBYUrCSEQhg_25Nvx97M,23867
|
|
36
|
+
model_library/config/xai_models.yaml,sha256=2KRNNQy3kV-4xxSfhj7Uhp9TZF-S5qPlM8Ef-04zv8Y,7985
|
|
37
|
+
model_library/config/zai_models.yaml,sha256=Esa4P-zc5K1pejQTylKPe-uiH9AnvB_Zn7RB_sAZ5mU,1577
|
|
38
|
+
model_library/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
39
|
+
model_library/providers/ai21labs.py,sha256=7PnXKl-Fv8KlE95eBv2izbFg1u7utDRQPdWXYVl_-as,5832
|
|
40
|
+
model_library/providers/alibaba.py,sha256=k6LZErV_l9oTFTdKTwyw1SXD509Rl3AqFbN8umCryEE,2941
|
|
41
|
+
model_library/providers/amazon.py,sha256=jRqOYCnxiONlbjT2C0UuFIrFOMU4d-hvLElPp41n5Ds,14015
|
|
42
|
+
model_library/providers/anthropic.py,sha256=6YI04jdDDtDjLS17jThVYlNvLbqd9THrKAtaVTYL6eg,22194
|
|
43
|
+
model_library/providers/azure.py,sha256=brQNCED-zHvYjL5K5hdjFBNso6hJZg0HTHNnAgJPPG0,1408
|
|
44
|
+
model_library/providers/cohere.py,sha256=lCBm1PP1l_UOa1pKFMIZM3C0wCv3QWB6UP0-jvjkFa4,1066
|
|
45
|
+
model_library/providers/deepseek.py,sha256=7T4lxDiV5wmWUK7TAKwr332_T6uyXNCOiirZOCCETL0,1159
|
|
46
|
+
model_library/providers/fireworks.py,sha256=w-5mOF5oNzqx_0ijCoTm1lSn2ZHwhp6fURKhV3LEqIc,2309
|
|
47
|
+
model_library/providers/inception.py,sha256=Nrky53iujIM9spAWoNRtoJg2inFiL0li6E75vT3b6V8,1107
|
|
48
|
+
model_library/providers/kimi.py,sha256=zzvcKpZLsM1xPebpLeMxNKTt_FRiLN1rFWrIly7wfXA,1092
|
|
49
|
+
model_library/providers/minimax.py,sha256=HkM601mxTC0tpDGtxLTGq5IwnCfFfHG4EF6l1Bg77K4,1001
|
|
50
|
+
model_library/providers/mistral.py,sha256=9zGYLpkn436ahZ716-5R5AQzn7htwVres1IjP5x5bFw,9745
|
|
51
|
+
model_library/providers/openai.py,sha256=1PNmS-0ERjqLzWS9Prr1_cUpctyEj_xp15XOpl9-IGE,33421
|
|
52
|
+
model_library/providers/perplexity.py,sha256=eIzzkaZ4ZMlRKFVI9bnwyo91iJkh7aEmJ-0_4OKeAWc,1083
|
|
53
|
+
model_library/providers/together.py,sha256=7Y4QLnX8c_fyXUud-W_C1gidmROQainTgODBwbvFyXQ,2033
|
|
54
|
+
model_library/providers/vals.py,sha256=VLF1rsCR13a_kmtZfboDzJJ64Io_tBFe60vf-0BdYPc,9830
|
|
55
|
+
model_library/providers/xai.py,sha256=oJiMICYLkybHpLv77PmMbi1Xj9IUZmKX3kANksjjFEQ,10828
|
|
56
|
+
model_library/providers/zai.py,sha256=O_GM6KlJ0fM2wYoxO9xrCWfnpYH7IpoKEzjiD4jB8Kc,1050
|
|
57
|
+
model_library/providers/google/__init__.py,sha256=ypuLVL_QJEQ7C3S47FhC9y4wyawYOdGikAViJmACI0U,115
|
|
58
|
+
model_library/providers/google/batch.py,sha256=4TE90Uo1adi54dVtGcGyUAxw11YExJq-Y4KmkQ-cyHA,9978
|
|
59
|
+
model_library/providers/google/google.py,sha256=s9vky9r5SVNhBvMXcIr0_h0MlKLXwx_tQlZzs57xXYo,16507
|
|
60
|
+
model_library-0.1.5.dist-info/licenses/LICENSE,sha256=x6mf4o7U_wHaaqcfxoU-0R6uYJLbqL_TNuoULP3asaA,1070
|
|
61
|
+
model_library-0.1.5.dist-info/METADATA,sha256=HeLAgZOFNM7TBGJm2bfubjspsa388C0Va1hcWO-uu6I,6989
|
|
62
|
+
model_library-0.1.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
63
|
+
model_library-0.1.5.dist-info/top_level.txt,sha256=HtQYxA_7RP8UT35I6VcUw20L6edI0Zf2t5Ys1uDGVjs,14
|
|
64
|
+
model_library-0.1.5.dist-info/RECORD,,
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
model_library/__init__.py,sha256=AKc_15aklOf-LbcS9z1Xer_moRWNpG6Dh3kqvSQ0nOI,714
|
|
2
|
-
model_library/exceptions.py,sha256=BWM3Gk7Lh_H4ttKtkvr4zcj01_UXb8e1PbKn8bl5Fgg,8953
|
|
3
|
-
model_library/file_utils.py,sha256=FAZRRtDT8c4Rjfoj64Te3knEHggXAAfRRuS8WLCsSe8,3682
|
|
4
|
-
model_library/logging.py,sha256=McyaPHUk7RkB38-LrfnudrrU1B62ta8wAbbIBwLRmj0,853
|
|
5
|
-
model_library/model_utils.py,sha256=l8oCltGeimMGtnne_3Q1EguVtzCj61UMsLsma-1czwg,753
|
|
6
|
-
model_library/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
|
-
model_library/register_models.py,sha256=iVmzLDraUfzwF_bPz6DI2zMIeSUG1UQO9IdmGZTTui4,13853
|
|
8
|
-
model_library/registry_utils.py,sha256=Op1NnQGD0XZyP032pGJdWdHgdEoHwKOcoWNCihT69SE,6977
|
|
9
|
-
model_library/settings.py,sha256=QyeUqzWBpexFi014L_mZkoXP49no3SAQNJRObATXrL8,873
|
|
10
|
-
model_library/utils.py,sha256=jQqBbP9vafpuFxp7kb53XYvCAtW79FtFJelnGGPn-pQ,4011
|
|
11
|
-
model_library/base/__init__.py,sha256=TtxCXGUtkEqWZNMMofLPuC4orN7Ja2hemtbtHitt_UA,266
|
|
12
|
-
model_library/base/base.py,sha256=AyUt3XeFX3l1mVPf57IfqOnINdF3p2ziv5R3wz44VkM,14064
|
|
13
|
-
model_library/base/batch.py,sha256=-jd6L0ECc5pkj73zoX2ZYcv_9iQdqxEi1kEilwaXWSA,2895
|
|
14
|
-
model_library/base/delegate_only.py,sha256=V2MzENtvBg0pySKncgE-mfCLBhhRZ0y4BntQwQsxbqU,2111
|
|
15
|
-
model_library/base/input.py,sha256=Nhg8Ril1kFau1DnE8u102JC1l-vxNd-v9e3SjovR-Do,1876
|
|
16
|
-
model_library/base/output.py,sha256=v4s8Q_gYG2zxhhHQnDsAWFNPZHDx_kyLAhK7kxRhPjA,6673
|
|
17
|
-
model_library/base/utils.py,sha256=KJZRVWr38Tik3yNJvTXnBy62ccilzzmSxHZFpQBJMPo,1330
|
|
18
|
-
model_library/config/ai21labs_models.yaml,sha256=ykOwxkeWrhO98-V3sC5-FwXs0WLEeD1GZrM-VdTpF9o,2577
|
|
19
|
-
model_library/config/alibaba_models.yaml,sha256=2tIdj_7Qiw_-jZmutdtdJWyAXPl4WEFh1ij3ubymov0,2252
|
|
20
|
-
model_library/config/all_models.json,sha256=0i0aND49z9aBG19JpZp5Kk3Kt2nuj_mHaBJ9ZexYkwQ,497215
|
|
21
|
-
model_library/config/amazon_models.yaml,sha256=RGj7DH0IzXNs4JmAk6adC2jUEefVxBJNVQIB-n-fXbc,8988
|
|
22
|
-
model_library/config/anthropic_models.yaml,sha256=HszgDVQpv9EwSKwXd7T-eYIdQ3Ue07uNm8QjeRirFY0,11074
|
|
23
|
-
model_library/config/cohere_models.yaml,sha256=BQSqIsGUXvULeFLGDFJNBxen-6CC5hKNW2s4lSC8Np0,5186
|
|
24
|
-
model_library/config/deepseek_models.yaml,sha256=42bfyNZtaiOYx188FMqkfuCBSLNM1EBTYzf7hwzsjHw,1318
|
|
25
|
-
model_library/config/dummy_model.yaml,sha256=CTnSdFYC-KTsHt5TvS0echWwUlb_H3eATZL1tVIkXkM,915
|
|
26
|
-
model_library/config/fireworks_models.yaml,sha256=VG_Fo8X6qSA3VALn1SKehjj3B1HP0XO1fCYDdaCUdnM,5905
|
|
27
|
-
model_library/config/google_models.yaml,sha256=kymR44OrrTygVSqI2PH3ffbpVYRuoxsAVP9ERq2fS18,16855
|
|
28
|
-
model_library/config/inception_models.yaml,sha256=g6PC0qjEC2SUPTo2Rad34Dl8dt8ZBv1svaaP2_PIrYg,660
|
|
29
|
-
model_library/config/kimi_models.yaml,sha256=BySTLTc0m24oBC94VegosQgxpHglthe5dGRwF-fyduo,840
|
|
30
|
-
model_library/config/mistral_models.yaml,sha256=MjKEYFYcGBsFd6iXekE_1oGa3CmEWAVPABJR94gV6SE,3839
|
|
31
|
-
model_library/config/openai_models.yaml,sha256=iSrX7WAZoNJOmVxrtEStnvRc-Md9z0CFYAIcC7GC_w8,25130
|
|
32
|
-
model_library/config/perplexity_models.yaml,sha256=avTBrwnG-5Y6kle9t9vBrwcImhSzw-dgoYQuaw7K7Rs,2962
|
|
33
|
-
model_library/config/together_models.yaml,sha256=VA2cuo9hgrQW3yOz5sYfUcMoU_AgNifQ6k1MjiXO3jk,24454
|
|
34
|
-
model_library/config/xai_models.yaml,sha256=xqXhXT3vpYC1iMzdnotj75oJ98nOwY6oFQY4gobAOmg,9328
|
|
35
|
-
model_library/config/zai_models.yaml,sha256=lyAUPp4qOxkAAKCcbX48IKLaYYPAkp-Jn1wyCjLqmeA,1396
|
|
36
|
-
model_library/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
|
-
model_library/providers/ai21labs.py,sha256=7PnXKl-Fv8KlE95eBv2izbFg1u7utDRQPdWXYVl_-as,5832
|
|
38
|
-
model_library/providers/alibaba.py,sha256=k6LZErV_l9oTFTdKTwyw1SXD509Rl3AqFbN8umCryEE,2941
|
|
39
|
-
model_library/providers/amazon.py,sha256=Qd5zAEn71WVo6c8mpPW0gE7WHLarzKzh6r4b_R4FaYk,13137
|
|
40
|
-
model_library/providers/anthropic.py,sha256=6YI04jdDDtDjLS17jThVYlNvLbqd9THrKAtaVTYL6eg,22194
|
|
41
|
-
model_library/providers/azure.py,sha256=brQNCED-zHvYjL5K5hdjFBNso6hJZg0HTHNnAgJPPG0,1408
|
|
42
|
-
model_library/providers/cohere.py,sha256=lCBm1PP1l_UOa1pKFMIZM3C0wCv3QWB6UP0-jvjkFa4,1066
|
|
43
|
-
model_library/providers/deepseek.py,sha256=7T4lxDiV5wmWUK7TAKwr332_T6uyXNCOiirZOCCETL0,1159
|
|
44
|
-
model_library/providers/fireworks.py,sha256=w-5mOF5oNzqx_0ijCoTm1lSn2ZHwhp6fURKhV3LEqIc,2309
|
|
45
|
-
model_library/providers/inception.py,sha256=Nrky53iujIM9spAWoNRtoJg2inFiL0li6E75vT3b6V8,1107
|
|
46
|
-
model_library/providers/kimi.py,sha256=zzvcKpZLsM1xPebpLeMxNKTt_FRiLN1rFWrIly7wfXA,1092
|
|
47
|
-
model_library/providers/mistral.py,sha256=DHl0BYUZOrCvD4La5cyzcpQKHh4RbTbgMORWFbU_TuQ,9536
|
|
48
|
-
model_library/providers/openai.py,sha256=ztJgx17e5PbbLVKsRA5Op0rczMsY4YNcgvRGKHRGlUQ,33572
|
|
49
|
-
model_library/providers/perplexity.py,sha256=eIzzkaZ4ZMlRKFVI9bnwyo91iJkh7aEmJ-0_4OKeAWc,1083
|
|
50
|
-
model_library/providers/together.py,sha256=7Y4QLnX8c_fyXUud-W_C1gidmROQainTgODBwbvFyXQ,2033
|
|
51
|
-
model_library/providers/vals.py,sha256=VLF1rsCR13a_kmtZfboDzJJ64Io_tBFe60vf-0BdYPc,9830
|
|
52
|
-
model_library/providers/xai.py,sha256=oJiMICYLkybHpLv77PmMbi1Xj9IUZmKX3kANksjjFEQ,10828
|
|
53
|
-
model_library/providers/zai.py,sha256=O_GM6KlJ0fM2wYoxO9xrCWfnpYH7IpoKEzjiD4jB8Kc,1050
|
|
54
|
-
model_library/providers/google/__init__.py,sha256=ypuLVL_QJEQ7C3S47FhC9y4wyawYOdGikAViJmACI0U,115
|
|
55
|
-
model_library/providers/google/batch.py,sha256=4TE90Uo1adi54dVtGcGyUAxw11YExJq-Y4KmkQ-cyHA,9978
|
|
56
|
-
model_library/providers/google/google.py,sha256=s9vky9r5SVNhBvMXcIr0_h0MlKLXwx_tQlZzs57xXYo,16507
|
|
57
|
-
model_library-0.1.3.dist-info/licenses/LICENSE,sha256=x6mf4o7U_wHaaqcfxoU-0R6uYJLbqL_TNuoULP3asaA,1070
|
|
58
|
-
model_library-0.1.3.dist-info/METADATA,sha256=qnQqa4o9vNXB74vfgytR3qYSNr16HBOT7_iSDeAx0zw,6992
|
|
59
|
-
model_library-0.1.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
60
|
-
model_library-0.1.3.dist-info/top_level.txt,sha256=HtQYxA_7RP8UT35I6VcUw20L6edI0Zf2t5Ys1uDGVjs,14
|
|
61
|
-
model_library-0.1.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|