vectorvein 0.2.83__py3-none-any.whl → 0.2.84__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.
- vectorvein/settings/__init__.py +10 -21
- vectorvein/types/llm_parameters.py +11 -3
- vectorvein/types/settings.py +1 -0
- {vectorvein-0.2.83.dist-info → vectorvein-0.2.84.dist-info}/METADATA +1 -1
- {vectorvein-0.2.83.dist-info → vectorvein-0.2.84.dist-info}/RECORD +7 -7
- {vectorvein-0.2.83.dist-info → vectorvein-0.2.84.dist-info}/WHEEL +0 -0
- {vectorvein-0.2.83.dist-info → vectorvein-0.2.84.dist-info}/entry_points.txt +0 -0
vectorvein/settings/__init__.py
CHANGED
@@ -60,12 +60,8 @@ class Backends(BaseModel):
|
|
60
60
|
|
61
61
|
|
62
62
|
class Settings(BaseModel):
|
63
|
-
VERSION: Optional[str] = Field(
|
64
|
-
|
65
|
-
)
|
66
|
-
endpoints: List[EndpointSetting] = Field(
|
67
|
-
default_factory=list, description="Available endpoints for the LLM service."
|
68
|
-
)
|
63
|
+
VERSION: Optional[str] = Field(default="2", description="Configuration version. If provided, will use the corresponding format.")
|
64
|
+
endpoints: List[EndpointSetting] = Field(default_factory=list, description="Available endpoints for the LLM service.")
|
69
65
|
token_server: Optional[Server] = Field(default=None, description="Token server address. Format: host:port")
|
70
66
|
rate_limit: Optional[RateLimitConfig] = Field(default=None, description="Rate limit settings.")
|
71
67
|
|
@@ -73,32 +69,22 @@ class Settings(BaseModel):
|
|
73
69
|
backends: Optional[Backends] = Field(default=None, description="All model backends in one place (V2 format).")
|
74
70
|
|
75
71
|
# V1 format: each model backend config
|
76
|
-
anthropic: Optional[BackendSettings] = Field(
|
77
|
-
|
78
|
-
)
|
79
|
-
deepseek: Optional[BackendSettings] = Field(
|
80
|
-
default_factory=BackendSettings, description="Deepseek models settings."
|
81
|
-
)
|
72
|
+
anthropic: Optional[BackendSettings] = Field(default_factory=BackendSettings, description="Anthropic models settings.")
|
73
|
+
deepseek: Optional[BackendSettings] = Field(default_factory=BackendSettings, description="Deepseek models settings.")
|
82
74
|
gemini: Optional[BackendSettings] = Field(default_factory=BackendSettings, description="Gemini models settings.")
|
83
75
|
groq: Optional[BackendSettings] = Field(default_factory=BackendSettings, description="Groq models settings.")
|
84
76
|
local: Optional[BackendSettings] = Field(default_factory=BackendSettings, description="Local models settings.")
|
85
77
|
minimax: Optional[BackendSettings] = Field(default_factory=BackendSettings, description="Minimax models settings.")
|
86
78
|
mistral: Optional[BackendSettings] = Field(default_factory=BackendSettings, description="Mistral models settings.")
|
87
|
-
moonshot: Optional[BackendSettings] = Field(
|
88
|
-
default_factory=BackendSettings, description="Moonshot models settings."
|
89
|
-
)
|
79
|
+
moonshot: Optional[BackendSettings] = Field(default_factory=BackendSettings, description="Moonshot models settings.")
|
90
80
|
openai: Optional[BackendSettings] = Field(default_factory=BackendSettings, description="OpenAI models settings.")
|
91
81
|
qwen: Optional[BackendSettings] = Field(default_factory=BackendSettings, description="Qwen models settings.")
|
92
82
|
yi: Optional[BackendSettings] = Field(default_factory=BackendSettings, description="Yi models settings.")
|
93
83
|
zhipuai: Optional[BackendSettings] = Field(default_factory=BackendSettings, description="Zhipuai models settings.")
|
94
|
-
baichuan: Optional[BackendSettings] = Field(
|
95
|
-
default_factory=BackendSettings, description="Baichuan models settings."
|
96
|
-
)
|
84
|
+
baichuan: Optional[BackendSettings] = Field(default_factory=BackendSettings, description="Baichuan models settings.")
|
97
85
|
stepfun: Optional[BackendSettings] = Field(default_factory=BackendSettings, description="StepFun models settings.")
|
98
86
|
xai: Optional[BackendSettings] = Field(default_factory=BackendSettings, description="XAI models settings.")
|
99
|
-
ernie: Optional[BackendSettings] = Field(
|
100
|
-
default_factory=BackendSettings, description="Baidu Ernie models settings."
|
101
|
-
)
|
87
|
+
ernie: Optional[BackendSettings] = Field(default_factory=BackendSettings, description="Baidu Ernie models settings.")
|
102
88
|
|
103
89
|
def __init__(self, **data):
|
104
90
|
model_types = {
|
@@ -143,6 +129,9 @@ class Settings(BaseModel):
|
|
143
129
|
user_models = backends[model_type].get("models", {})
|
144
130
|
model_settings = BackendSettings()
|
145
131
|
model_settings.update_models(default_models, user_models)
|
132
|
+
default_endpoint = backends[model_type].get("default_endpoint", None)
|
133
|
+
if default_endpoint is not None:
|
134
|
+
model_settings.default_endpoint = default_endpoint
|
146
135
|
backends[model_type] = model_settings
|
147
136
|
else:
|
148
137
|
backends[model_type] = BackendSettings(models=default_models)
|
@@ -101,9 +101,7 @@ class EndpointSetting(BaseModel):
|
|
101
101
|
|
102
102
|
class ModelSetting(BaseModel):
|
103
103
|
id: str = Field(..., description="The id of the model.")
|
104
|
-
endpoints: List[Union[str, EndpointOptionDict]] = Field(
|
105
|
-
default_factory=list, description="Available endpoints for the model."
|
106
|
-
)
|
104
|
+
endpoints: List[Union[str, EndpointOptionDict]] = Field(default_factory=list, description="Available endpoints for the model.")
|
107
105
|
function_call_available: bool = Field(False, description="Indicates if function call is available.")
|
108
106
|
response_format_available: bool = Field(False, description="Indicates if response format is available.")
|
109
107
|
native_multimodal: bool = Field(False, description="Indicates if the model is a native multimodal model.")
|
@@ -113,6 +111,16 @@ class ModelSetting(BaseModel):
|
|
113
111
|
|
114
112
|
class BackendSettings(BaseModel):
|
115
113
|
models: Dict[str, ModelSetting] = Field(default_factory=dict)
|
114
|
+
default_endpoint: Optional[str] = Field(default_factory=lambda: None, description="The default endpoint for the model.")
|
115
|
+
|
116
|
+
def get_model_setting(self, model_name: str) -> ModelSetting:
|
117
|
+
if model_name in self.models:
|
118
|
+
model_setting = self.models[model_name]
|
119
|
+
if len(model_setting.endpoints) == 0 and self.default_endpoint is not None:
|
120
|
+
model_setting.endpoints = [self.default_endpoint]
|
121
|
+
return model_setting
|
122
|
+
else:
|
123
|
+
raise ValueError(f"Model {model_name} not found in {self.models}")
|
116
124
|
|
117
125
|
def update_models(self, default_models: Dict[str, Dict], input_models: Dict[str, Dict]):
|
118
126
|
updated_models = {}
|
vectorvein/types/settings.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
vectorvein-0.2.
|
2
|
-
vectorvein-0.2.
|
3
|
-
vectorvein-0.2.
|
1
|
+
vectorvein-0.2.84.dist-info/METADATA,sha256=kMut60wbAADgGMP32bt1tHyWzsGbWbIk3ILjGAOvD90,4567
|
2
|
+
vectorvein-0.2.84.dist-info/WHEEL,sha256=tSfRZzRHthuv7vxpI4aehrdN9scLjk-dCJkPLzkHxGg,90
|
3
|
+
vectorvein-0.2.84.dist-info/entry_points.txt,sha256=6OYgBcLyFCUgeqLgnvMyOJxPCWzgy7se4rLPKtNonMs,34
|
4
4
|
vectorvein/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
5
5
|
vectorvein/api/__init__.py,sha256=lfY-XA46fgD2iIZTU0VYP8i07AwA03Egj4Qua0vUKrQ,738
|
6
6
|
vectorvein/api/client.py,sha256=xF-leKDQzVyyy9FnIRaz0k4eElYW1XbbzeRLcpnyk90,33047
|
@@ -29,15 +29,15 @@ vectorvein/chat_clients/yi_client.py,sha256=RNf4CRuPJfixrwLZ3-DEc3t25QDe1mvZeb9s
|
|
29
29
|
vectorvein/chat_clients/zhipuai_client.py,sha256=Ys5DSeLCuedaDXr3PfG1EW2zKXopt-awO2IylWSwY0s,519
|
30
30
|
vectorvein/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
31
31
|
vectorvein/server/token_server.py,sha256=36F9PKSNOX8ZtYBXY_l-76GQTpUSmQ2Y8EMy1H7wtdQ,1353
|
32
|
-
vectorvein/settings/__init__.py,sha256=
|
32
|
+
vectorvein/settings/__init__.py,sha256=_2783EWi-QRKp7OuxDg-rxj-gezfyb1h0hTcb-F4xS4,11260
|
33
33
|
vectorvein/settings/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
34
34
|
vectorvein/types/__init__.py,sha256=ypg8c8AwF49FrFBMqmgH_eIBH4LFf0KN4kjqQa7zrvM,3376
|
35
35
|
vectorvein/types/defaults.py,sha256=zaUusjyOaPJV-a-e-zOIpNljxk_TSQO5gvnadls-fUY,37065
|
36
36
|
vectorvein/types/enums.py,sha256=LplSVkXLBK-t8TWtJKj_f7ktWTd6CSHWRLb67XKMm54,1716
|
37
37
|
vectorvein/types/exception.py,sha256=KtnqZ-1DstHm95SZAyZdHhkGq1bJ4A9Aw3Zfdu-VIFo,130
|
38
|
-
vectorvein/types/llm_parameters.py,sha256=
|
38
|
+
vectorvein/types/llm_parameters.py,sha256=Fo_-_rFkBvl_dUsCZxy2xNMC9Q4qVGLzDBL9jRVbXIQ,8489
|
39
39
|
vectorvein/types/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
40
|
-
vectorvein/types/settings.py,sha256=
|
40
|
+
vectorvein/types/settings.py,sha256=5wINBiT9qj3ZwDiE6Kf4r6wD3yY1bKN40xxZ7F6jEfI,4844
|
41
41
|
vectorvein/utilities/media_processing.py,sha256=7KtbLFzOYIn1e9QTN9G6C76NH8CBlV9kfAgiRKEIeXY,6263
|
42
42
|
vectorvein/utilities/rate_limiter.py,sha256=dwolIUVw2wP83Odqpx0AAaE77de1GzxkYDGH4tM_u_4,10300
|
43
43
|
vectorvein/utilities/retry.py,sha256=6KFS9R2HdhqM3_9jkjD4F36ZSpEx2YNFGOVlpOsUetM,2208
|
@@ -65,4 +65,4 @@ vectorvein/workflow/utils/analyse.py,sha256=msmvyz35UTYTwqQR5sg9H0sm1vxmGDSmep9X
|
|
65
65
|
vectorvein/workflow/utils/check.py,sha256=B_NdwqIqnc7Ko2HHqFpfOmWVaAu21tPITe0szKfiZKc,11414
|
66
66
|
vectorvein/workflow/utils/json_to_code.py,sha256=P8dhhSNgKhTnW17qXNjLO2aLdb0rA8qMAWxhObol2TU,7295
|
67
67
|
vectorvein/workflow/utils/layout.py,sha256=j0bRD3uaXu40xCS6U6BGahBI8FrHa5MiF55GbTrZ1LM,4565
|
68
|
-
vectorvein-0.2.
|
68
|
+
vectorvein-0.2.84.dist-info/RECORD,,
|
File without changes
|
File without changes
|