vectorvein 0.2.39__tar.gz → 0.2.41__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.
Files changed (64) hide show
  1. {vectorvein-0.2.39 → vectorvein-0.2.41}/PKG-INFO +1 -1
  2. {vectorvein-0.2.39 → vectorvein-0.2.41}/pyproject.toml +1 -1
  3. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/chat_clients/utils.py +25 -22
  4. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/types/settings.py +2 -2
  5. {vectorvein-0.2.39 → vectorvein-0.2.41}/README.md +0 -0
  6. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/__init__.py +0 -0
  7. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/api/__init__.py +0 -0
  8. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/api/client.py +0 -0
  9. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/api/exceptions.py +0 -0
  10. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/api/models.py +0 -0
  11. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/chat_clients/__init__.py +0 -0
  12. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/chat_clients/anthropic_client.py +0 -0
  13. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/chat_clients/baichuan_client.py +0 -0
  14. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/chat_clients/base_client.py +0 -0
  15. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/chat_clients/deepseek_client.py +0 -0
  16. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/chat_clients/ernie_client.py +0 -0
  17. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/chat_clients/gemini_client.py +0 -0
  18. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/chat_clients/groq_client.py +0 -0
  19. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/chat_clients/local_client.py +0 -0
  20. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/chat_clients/minimax_client.py +0 -0
  21. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/chat_clients/mistral_client.py +0 -0
  22. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/chat_clients/moonshot_client.py +0 -0
  23. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/chat_clients/openai_client.py +0 -0
  24. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/chat_clients/openai_compatible_client.py +0 -0
  25. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/chat_clients/py.typed +0 -0
  26. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/chat_clients/qwen_client.py +0 -0
  27. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/chat_clients/stepfun_client.py +0 -0
  28. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/chat_clients/xai_client.py +0 -0
  29. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/chat_clients/yi_client.py +0 -0
  30. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/chat_clients/zhipuai_client.py +0 -0
  31. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/py.typed +0 -0
  32. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/server/token_server.py +0 -0
  33. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/settings/__init__.py +0 -0
  34. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/settings/py.typed +0 -0
  35. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/types/__init__.py +0 -0
  36. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/types/defaults.py +0 -0
  37. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/types/enums.py +0 -0
  38. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/types/exception.py +0 -0
  39. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/types/llm_parameters.py +0 -0
  40. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/types/py.typed +0 -0
  41. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/utilities/media_processing.py +0 -0
  42. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/utilities/rate_limiter.py +0 -0
  43. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/utilities/retry.py +0 -0
  44. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/workflow/graph/edge.py +0 -0
  45. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/workflow/graph/node.py +0 -0
  46. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/workflow/graph/port.py +0 -0
  47. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/workflow/graph/workflow.py +0 -0
  48. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/workflow/nodes/__init__.py +0 -0
  49. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/workflow/nodes/audio_generation.py +0 -0
  50. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/workflow/nodes/control_flows.py +0 -0
  51. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/workflow/nodes/file_processing.py +0 -0
  52. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/workflow/nodes/image_generation.py +0 -0
  53. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/workflow/nodes/llms.py +0 -0
  54. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/workflow/nodes/media_editing.py +0 -0
  55. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/workflow/nodes/media_processing.py +0 -0
  56. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/workflow/nodes/output.py +0 -0
  57. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/workflow/nodes/relational_db.py +0 -0
  58. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/workflow/nodes/text_processing.py +0 -0
  59. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/workflow/nodes/tools.py +0 -0
  60. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/workflow/nodes/triggers.py +0 -0
  61. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/workflow/nodes/vector_db.py +0 -0
  62. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/workflow/nodes/video_generation.py +0 -0
  63. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/workflow/nodes/web_crawlers.py +0 -0
  64. {vectorvein-0.2.39 → vectorvein-0.2.41}/src/vectorvein/workflow/utils/json_to_code.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vectorvein
3
- Version: 0.2.39
3
+ Version: 0.2.41
4
4
  Summary: VectorVein Python SDK
5
5
  Author-Email: Anderson <andersonby@163.com>
6
6
  License: MIT
@@ -17,7 +17,7 @@ description = "VectorVein Python SDK"
17
17
  name = "vectorvein"
18
18
  readme = "README.md"
19
19
  requires-python = ">=3.10"
20
- version = "0.2.39"
20
+ version = "0.2.41"
21
21
 
22
22
  [project.license]
23
23
  text = "MIT"
@@ -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
- for endpoint_choice in backend_setting.models[model].endpoints:
227
- if isinstance(endpoint_choice, dict):
228
- endpoint_id = endpoint_choice["endpoint_id"]
229
- else:
230
- endpoint_id = endpoint_choice
231
- endpoint = settings.get_endpoint(endpoint_id)
232
-
233
- if (
234
- endpoint.is_vertex
235
- or endpoint.is_bedrock
236
- or endpoint.endpoint_type == "anthropic_vertex"
237
- or endpoint.endpoint_type == "anthropic_bedrock"
238
- ):
239
- continue
240
- elif endpoint.api_schema_type == "default":
241
- return (
242
- Anthropic(
243
- api_key=endpoint.api_key,
244
- base_url=endpoint.api_base,
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.api_schema_type == "default":
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
- .beta.messages.count_tokens(messages=[{"role": "user", "content": text}], model=model)
247
- .input_tokens
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")
@@ -53,8 +53,8 @@ class ModelConfigDict(TypedDict):
53
53
  function_call_available: NotRequired[bool]
54
54
  response_format_available: NotRequired[bool]
55
55
  native_multimodal: NotRequired[bool]
56
- context_length: NotRequired[int]
57
- max_output_tokens: NotRequired[int]
56
+ context_length: NotRequired[Optional[int]]
57
+ max_output_tokens: NotRequired[Optional[int]]
58
58
 
59
59
 
60
60
  class BackendSettingsDict(TypedDict):
File without changes