vectorvein 0.3.18__tar.gz → 0.3.20__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 (67) hide show
  1. {vectorvein-0.3.18 → vectorvein-0.3.20}/PKG-INFO +1 -1
  2. {vectorvein-0.3.18 → vectorvein-0.3.20}/pyproject.toml +1 -1
  3. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/chat_clients/utils.py +67 -5
  4. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/types/defaults.py +8 -0
  5. {vectorvein-0.3.18 → vectorvein-0.3.20}/README.md +0 -0
  6. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/__init__.py +0 -0
  7. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/api/__init__.py +0 -0
  8. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/api/client.py +0 -0
  9. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/api/exceptions.py +0 -0
  10. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/api/models.py +0 -0
  11. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/chat_clients/__init__.py +0 -0
  12. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/chat_clients/anthropic_client.py +0 -0
  13. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/chat_clients/baichuan_client.py +0 -0
  14. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/chat_clients/base_client.py +0 -0
  15. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/chat_clients/deepseek_client.py +0 -0
  16. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/chat_clients/ernie_client.py +0 -0
  17. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/chat_clients/gemini_client.py +0 -0
  18. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/chat_clients/groq_client.py +0 -0
  19. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/chat_clients/local_client.py +0 -0
  20. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/chat_clients/minimax_client.py +0 -0
  21. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/chat_clients/mistral_client.py +0 -0
  22. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/chat_clients/moonshot_client.py +0 -0
  23. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/chat_clients/openai_client.py +0 -0
  24. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/chat_clients/openai_compatible_client.py +0 -0
  25. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/chat_clients/py.typed +0 -0
  26. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/chat_clients/qwen_client.py +0 -0
  27. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/chat_clients/stepfun_client.py +0 -0
  28. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/chat_clients/xai_client.py +0 -0
  29. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/chat_clients/yi_client.py +0 -0
  30. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/chat_clients/zhipuai_client.py +0 -0
  31. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/py.typed +0 -0
  32. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/server/token_server.py +0 -0
  33. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/settings/__init__.py +0 -0
  34. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/settings/py.typed +0 -0
  35. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/types/__init__.py +0 -0
  36. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/types/enums.py +0 -0
  37. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/types/exception.py +0 -0
  38. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/types/llm_parameters.py +0 -0
  39. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/types/py.typed +0 -0
  40. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/types/settings.py +0 -0
  41. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/utilities/media_processing.py +0 -0
  42. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/utilities/rate_limiter.py +0 -0
  43. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/utilities/retry.py +0 -0
  44. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/workflow/graph/edge.py +0 -0
  45. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/workflow/graph/node.py +0 -0
  46. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/workflow/graph/port.py +0 -0
  47. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/workflow/graph/workflow.py +0 -0
  48. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/workflow/nodes/__init__.py +0 -0
  49. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/workflow/nodes/audio_generation.py +0 -0
  50. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/workflow/nodes/control_flows.py +0 -0
  51. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/workflow/nodes/file_processing.py +0 -0
  52. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/workflow/nodes/image_generation.py +0 -0
  53. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/workflow/nodes/llms.py +0 -0
  54. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/workflow/nodes/media_editing.py +0 -0
  55. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/workflow/nodes/media_processing.py +0 -0
  56. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/workflow/nodes/output.py +0 -0
  57. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/workflow/nodes/relational_db.py +0 -0
  58. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/workflow/nodes/text_processing.py +0 -0
  59. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/workflow/nodes/tools.py +0 -0
  60. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/workflow/nodes/triggers.py +0 -0
  61. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/workflow/nodes/vector_db.py +0 -0
  62. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/workflow/nodes/video_generation.py +0 -0
  63. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/workflow/nodes/web_crawlers.py +0 -0
  64. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/workflow/utils/analyse.py +0 -0
  65. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/workflow/utils/check.py +0 -0
  66. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/workflow/utils/json_to_code.py +0 -0
  67. {vectorvein-0.3.18 → vectorvein-0.3.20}/src/vectorvein/workflow/utils/layout.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vectorvein
3
- Version: 0.3.18
3
+ Version: 0.3.20
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.3.18"
20
+ version = "0.3.20"
21
21
 
22
22
  [project.license]
23
23
  text = "MIT"
@@ -158,7 +158,19 @@ def get_token_counts(text: str | dict, model: str = "", use_token_server_first:
158
158
  ],
159
159
  }
160
160
 
161
- _, response = Retry(httpx.post).args(url=tokenize_url, headers=headers, json=request_body, timeout=None).retry_times(5).sleep_time(10).run()
161
+ _, response = (
162
+ Retry(httpx.post)
163
+ .args(
164
+ url=tokenize_url,
165
+ headers=headers,
166
+ json=request_body,
167
+ timeout=None,
168
+ proxy=endpoint.proxy,
169
+ )
170
+ .retry_times(5)
171
+ .sleep_time(10)
172
+ .run()
173
+ )
162
174
  if response is None:
163
175
  return 1000
164
176
  result = response.json()
@@ -178,7 +190,19 @@ def get_token_counts(text: str | dict, model: str = "", use_token_server_first:
178
190
  {"role": "user", "content": text},
179
191
  ],
180
192
  }
181
- _, response = Retry(httpx.post).args(url=tokenize_url, headers=headers, json=request_body, timeout=None).retry_times(5).sleep_time(10).run()
193
+ _, response = (
194
+ Retry(httpx.post)
195
+ .args(
196
+ url=tokenize_url,
197
+ headers=headers,
198
+ json=request_body,
199
+ timeout=None,
200
+ proxy=endpoint.proxy,
201
+ )
202
+ .retry_times(5)
203
+ .sleep_time(10)
204
+ .run()
205
+ )
182
206
  if response is None:
183
207
  return 1000
184
208
  result = response.json()
@@ -202,7 +226,19 @@ def get_token_counts(text: str | dict, model: str = "", use_token_server_first:
202
226
  ],
203
227
  },
204
228
  }
205
- _, response = Retry(httpx.post).args(base_url, json=request_body, params=params, timeout=None).retry_times(5).sleep_time(10).run()
229
+ _, response = (
230
+ Retry(httpx.post)
231
+ .args(
232
+ base_url,
233
+ json=request_body,
234
+ params=params,
235
+ timeout=None,
236
+ proxy=endpoint.proxy,
237
+ )
238
+ .retry_times(5)
239
+ .sleep_time(10)
240
+ .run()
241
+ )
206
242
  if response is None:
207
243
  return 1000
208
244
  result = response.json()
@@ -226,10 +262,12 @@ def get_token_counts(text: str | dict, model: str = "", use_token_server_first:
226
262
  if endpoint.is_vertex or endpoint.is_bedrock or endpoint.endpoint_type == "anthropic_vertex" or endpoint.endpoint_type == "anthropic_bedrock":
227
263
  continue
228
264
  elif endpoint.endpoint_type in ("default", "anthropic"):
265
+ http_client = httpx.Client(proxy=endpoint.proxy)
229
266
  return (
230
267
  Anthropic(
231
268
  api_key=endpoint.api_key,
232
269
  base_url=endpoint.api_base,
270
+ http_client=http_client,
233
271
  )
234
272
  .beta.messages.count_tokens(messages=[{"role": "user", "content": text}], model=model)
235
273
  .input_tokens
@@ -264,7 +302,19 @@ def get_token_counts(text: str | dict, model: str = "", use_token_server_first:
264
302
  {"role": "user", "content": text},
265
303
  ],
266
304
  }
267
- _, response = Retry(httpx.post).args(url=tokenize_url, headers=headers, json=request_body, timeout=None).retry_times(5).sleep_time(10).run()
305
+ _, response = (
306
+ Retry(httpx.post)
307
+ .args(
308
+ url=tokenize_url,
309
+ headers=headers,
310
+ json=request_body,
311
+ timeout=None,
312
+ proxy=endpoint.proxy,
313
+ )
314
+ .retry_times(5)
315
+ .sleep_time(10)
316
+ .run()
317
+ )
268
318
  if response is None:
269
319
  return 1000
270
320
  result = response.json()
@@ -286,7 +336,19 @@ def get_token_counts(text: str | dict, model: str = "", use_token_server_first:
286
336
  {"role": "user", "content": text},
287
337
  ],
288
338
  }
289
- _, response = Retry(httpx.post).args(url=tokenize_url, headers=headers, json=request_body, timeout=None).retry_times(5).sleep_time(10).run()
339
+ _, response = (
340
+ Retry(httpx.post)
341
+ .args(
342
+ url=tokenize_url,
343
+ headers=headers,
344
+ json=request_body,
345
+ timeout=None,
346
+ proxy=endpoint.proxy,
347
+ )
348
+ .retry_times(5)
349
+ .sleep_time(10)
350
+ .run()
351
+ )
290
352
  if response is None:
291
353
  return 1000
292
354
  result = response.json()
@@ -658,6 +658,14 @@ ZHIPUAI_MODELS: Final[dict[str, ModelSettingDict]] = {
658
658
  "max_output_tokens": 96000,
659
659
  "native_multimodal": False,
660
660
  },
661
+ "glm-4.5v": {
662
+ "id": "glm-4.5v",
663
+ "context_length": 64000,
664
+ "function_call_available": True,
665
+ "response_format_available": True,
666
+ "max_output_tokens": 16384,
667
+ "native_multimodal": True,
668
+ },
661
669
  }
662
670
 
663
671
  # Mistral models
File without changes