vectorvein 0.2.40__py3-none-any.whl → 0.2.42__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/chat_clients/anthropic_client.py +6 -6
- vectorvein/chat_clients/utils.py +25 -22
- vectorvein/types/llm_parameters.py +0 -4
- vectorvein/types/settings.py +0 -7
- {vectorvein-0.2.40.dist-info → vectorvein-0.2.42.dist-info}/METADATA +1 -1
- {vectorvein-0.2.40.dist-info → vectorvein-0.2.42.dist-info}/RECORD +8 -8
- {vectorvein-0.2.40.dist-info → vectorvein-0.2.42.dist-info}/WHEEL +0 -0
- {vectorvein-0.2.40.dist-info → vectorvein-0.2.42.dist-info}/entry_points.txt +0 -0
@@ -263,13 +263,13 @@ class AnthropicChatClient(BaseChatClient):
|
|
263
263
|
base_url=self.endpoint.api_base,
|
264
264
|
http_client=self.http_client,
|
265
265
|
)
|
266
|
-
elif self.endpoint.
|
266
|
+
elif self.endpoint.endpoint_type in ("default", "anthropic"):
|
267
267
|
return Anthropic(
|
268
268
|
api_key=self.endpoint.api_key,
|
269
269
|
base_url=self.endpoint.api_base,
|
270
270
|
http_client=self.http_client,
|
271
271
|
)
|
272
|
-
|
272
|
+
else:
|
273
273
|
return OpenAICompatibleChatClient(
|
274
274
|
model=self.model,
|
275
275
|
stream=self.stream,
|
@@ -455,7 +455,7 @@ class AnthropicChatClient(BaseChatClient):
|
|
455
455
|
|
456
456
|
self.endpoint, self.model_id = self._set_endpoint()
|
457
457
|
|
458
|
-
if self.endpoint.
|
458
|
+
if self.endpoint.endpoint_type and self.endpoint.endpoint_type.startswith("openai"):
|
459
459
|
_tools = OPENAI_NOT_GIVEN if tools is NOT_GIVEN else tools
|
460
460
|
_tool_choice = OPENAI_NOT_GIVEN if tool_choice is NOT_GIVEN else tool_choice
|
461
461
|
|
@@ -810,13 +810,13 @@ class AsyncAnthropicChatClient(BaseAsyncChatClient):
|
|
810
810
|
aws_region=self.endpoint.region,
|
811
811
|
http_client=self.http_client,
|
812
812
|
)
|
813
|
-
elif self.endpoint.
|
813
|
+
elif self.endpoint.endpoint_type in ("default", "anthropic"):
|
814
814
|
return AsyncAnthropic(
|
815
815
|
api_key=self.endpoint.api_key,
|
816
816
|
base_url=self.endpoint.api_base,
|
817
817
|
http_client=self.http_client,
|
818
818
|
)
|
819
|
-
|
819
|
+
else:
|
820
820
|
return AsyncOpenAICompatibleChatClient(
|
821
821
|
model=self.model,
|
822
822
|
stream=self.stream,
|
@@ -1002,7 +1002,7 @@ class AsyncAnthropicChatClient(BaseAsyncChatClient):
|
|
1002
1002
|
|
1003
1003
|
self.endpoint, self.model_id = self._set_endpoint()
|
1004
1004
|
|
1005
|
-
if self.endpoint.
|
1005
|
+
if self.endpoint.endpoint_type and self.endpoint.endpoint_type.startswith("openai"):
|
1006
1006
|
_tools = OPENAI_NOT_GIVEN if tools is NOT_GIVEN else tools
|
1007
1007
|
_tool_choice = OPENAI_NOT_GIVEN if tool_choice is NOT_GIVEN else tool_choice
|
1008
1008
|
|
vectorvein/chat_clients/utils.py
CHANGED
@@ -223,29 +223,32 @@ def get_token_counts(text: str | dict, model: str = "", use_token_server_first:
|
|
223
223
|
return result["totalTokens"]
|
224
224
|
elif model.startswith("claude"):
|
225
225
|
backend_setting = settings.get_backend(BackendType.Anthropic)
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
226
|
+
try:
|
227
|
+
for endpoint_choice in backend_setting.models[model].endpoints:
|
228
|
+
if isinstance(endpoint_choice, dict):
|
229
|
+
endpoint_id = endpoint_choice["endpoint_id"]
|
230
|
+
else:
|
231
|
+
endpoint_id = endpoint_choice
|
232
|
+
endpoint = settings.get_endpoint(endpoint_id)
|
233
|
+
|
234
|
+
if (
|
235
|
+
endpoint.is_vertex
|
236
|
+
or endpoint.is_bedrock
|
237
|
+
or endpoint.endpoint_type == "anthropic_vertex"
|
238
|
+
or endpoint.endpoint_type == "anthropic_bedrock"
|
239
|
+
):
|
240
|
+
continue
|
241
|
+
elif endpoint.endpoint_type in ("default", "anthropic"):
|
242
|
+
return (
|
243
|
+
Anthropic(
|
244
|
+
api_key=endpoint.api_key,
|
245
|
+
base_url=endpoint.api_base,
|
246
|
+
)
|
247
|
+
.beta.messages.count_tokens(messages=[{"role": "user", "content": text}], model=model)
|
248
|
+
.input_tokens
|
245
249
|
)
|
246
|
-
|
247
|
-
|
248
|
-
)
|
250
|
+
except Exception as e:
|
251
|
+
warnings.warn(f"Anthropic token counting failed: {e}")
|
249
252
|
|
250
253
|
# TODO: Use anthropic token counting
|
251
254
|
warnings.warn("Anthropic token counting is not implemented in Vertex or Bedrock yet")
|
@@ -44,10 +44,6 @@ class EndpointSetting(BaseModel):
|
|
44
44
|
"default",
|
45
45
|
description="The type of endpoint. Set to 'default' will determine the type automatically.",
|
46
46
|
)
|
47
|
-
api_schema_type: Optional[Literal["default", "openai", "anthropic"]] = Field(
|
48
|
-
"default",
|
49
|
-
description="The type of client for the endpoint. Set to 'default' will determine the type automatically.",
|
50
|
-
)
|
51
47
|
credentials: Optional[dict] = Field(None, description="Additional credentials if needed.")
|
52
48
|
is_azure: bool = Field(False, description="Indicates if the endpoint is for Azure.")
|
53
49
|
is_vertex: bool = Field(False, description="Indicates if the endpoint is for Vertex.")
|
vectorvein/types/settings.py
CHANGED
@@ -80,13 +80,6 @@ class EndpointSettingDict(TypedDict):
|
|
80
80
|
"anthropic_bedrock",
|
81
81
|
]
|
82
82
|
]
|
83
|
-
api_schema_type: NotRequired[
|
84
|
-
Literal[
|
85
|
-
"default",
|
86
|
-
"openai",
|
87
|
-
"anthropic",
|
88
|
-
]
|
89
|
-
]
|
90
83
|
credentials: NotRequired[dict]
|
91
84
|
is_azure: NotRequired[bool]
|
92
85
|
is_vertex: NotRequired[bool]
|
@@ -1,13 +1,13 @@
|
|
1
|
-
vectorvein-0.2.
|
2
|
-
vectorvein-0.2.
|
3
|
-
vectorvein-0.2.
|
1
|
+
vectorvein-0.2.42.dist-info/METADATA,sha256=YCH8sZb00gd6r310VwxbEo6p4th4_0QoD0hqYNSqf6g,4570
|
2
|
+
vectorvein-0.2.42.dist-info/WHEEL,sha256=thaaA2w1JzcGC48WYufAs8nrYZjJm8LqNfnXFOFyCC4,90
|
3
|
+
vectorvein-0.2.42.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
|
7
7
|
vectorvein/api/exceptions.py,sha256=uS_PAdx0ksC0r3dgfSGWdbLMZm4qdLeWSSqCv1g3_Gc,772
|
8
8
|
vectorvein/api/models.py,sha256=xtPWMsB0yIJI7i-gY4B6MtvXv0ZIXnoeKspmeInH6fU,1449
|
9
9
|
vectorvein/chat_clients/__init__.py,sha256=UIytpIgwo8qkZpIyrHVxLYTyliUOTp4J7C4iHRjbtWE,23850
|
10
|
-
vectorvein/chat_clients/anthropic_client.py,sha256=
|
10
|
+
vectorvein/chat_clients/anthropic_client.py,sha256=sazkyIMRSO7h5NvHJPhvMwIEjfTRKBnj8fxjmdooJCg,60567
|
11
11
|
vectorvein/chat_clients/baichuan_client.py,sha256=CVMvpgjdrZGv0BWnTOBD-f2ufZ3wq3496wqukumsAr4,526
|
12
12
|
vectorvein/chat_clients/base_client.py,sha256=p7s-G4Wh9MSpDKEfG8wuFAeWy5DGvj5Go31hqrpQPhM,38817
|
13
13
|
vectorvein/chat_clients/deepseek_client.py,sha256=3qWu01NlJAP2N-Ff62d5-CZXZitlizE1fzb20LNetig,526
|
@@ -23,7 +23,7 @@ vectorvein/chat_clients/openai_compatible_client.py,sha256=d6V6T_FvPxEuOhHoQC-NH
|
|
23
23
|
vectorvein/chat_clients/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
24
24
|
vectorvein/chat_clients/qwen_client.py,sha256=-ryh-m9PgsO0fc4ulcCmPTy1155J8YUy15uPoJQOHA0,513
|
25
25
|
vectorvein/chat_clients/stepfun_client.py,sha256=zsD2W5ahmR4DD9cqQTXmJr3txrGuvxbRWhFlRdwNijI,519
|
26
|
-
vectorvein/chat_clients/utils.py,sha256=
|
26
|
+
vectorvein/chat_clients/utils.py,sha256=OlyIomsDxpSV7R9PmMcL_elnUyMhriREx6W9jsQA8uw,27103
|
27
27
|
vectorvein/chat_clients/xai_client.py,sha256=eLFJJrNRJ-ni3DpshODcr3S1EJQLbhVwxyO1E54LaqM,491
|
28
28
|
vectorvein/chat_clients/yi_client.py,sha256=RNf4CRuPJfixrwLZ3-DEc3t25QDe1mvZeb9sku2f8Bc,484
|
29
29
|
vectorvein/chat_clients/zhipuai_client.py,sha256=Ys5DSeLCuedaDXr3PfG1EW2zKXopt-awO2IylWSwY0s,519
|
@@ -35,9 +35,9 @@ vectorvein/types/__init__.py,sha256=ypg8c8AwF49FrFBMqmgH_eIBH4LFf0KN4kjqQa7zrvM,
|
|
35
35
|
vectorvein/types/defaults.py,sha256=U8acSg7yBWz5rOuwqRY45XX6lqPkM7Y7RbuurX9cpxg,27335
|
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=2rF-CQsWcHqTzI2r5x55gSsFm7LW_iCxQxZTEnk0yF8,7843
|
39
39
|
vectorvein/types/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
40
|
-
vectorvein/types/settings.py,sha256=
|
40
|
+
vectorvein/types/settings.py,sha256=zneZcebts-MHcYS1DXakulA_f0fGPzidOo1s9yl51zI,4794
|
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
|
@@ -62,4 +62,4 @@ vectorvein/workflow/nodes/vector_db.py,sha256=t6I17q6iR3yQreiDHpRrksMdWDPIvgqJs0
|
|
62
62
|
vectorvein/workflow/nodes/video_generation.py,sha256=qmdg-t_idpxq1veukd-jv_ChICMOoInKxprV9Z4Vi2w,4118
|
63
63
|
vectorvein/workflow/nodes/web_crawlers.py,sha256=BhJBX1AZH7-22Gu95Ox4qJqmH5DU-m4dbUb5N5DTA-M,5559
|
64
64
|
vectorvein/workflow/utils/json_to_code.py,sha256=F7dhDy8kGc8ndOeihGLRLGFGlquoxVlb02ENtxnQ0C8,5914
|
65
|
-
vectorvein-0.2.
|
65
|
+
vectorvein-0.2.42.dist-info/RECORD,,
|
File without changes
|
File without changes
|