vectorvein 0.1.49__tar.gz → 0.1.51__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 (34) hide show
  1. {vectorvein-0.1.49 → vectorvein-0.1.51}/PKG-INFO +1 -1
  2. {vectorvein-0.1.49 → vectorvein-0.1.51}/pyproject.toml +1 -1
  3. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/chat_clients/minimax_client.py +20 -4
  4. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/chat_clients/utils.py +6 -2
  5. {vectorvein-0.1.49 → vectorvein-0.1.51}/README.md +0 -0
  6. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/__init__.py +0 -0
  7. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/chat_clients/__init__.py +0 -0
  8. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/chat_clients/anthropic_client.py +0 -0
  9. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/chat_clients/baichuan_client.py +0 -0
  10. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/chat_clients/base_client.py +0 -0
  11. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/chat_clients/deepseek_client.py +0 -0
  12. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/chat_clients/gemini_client.py +0 -0
  13. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/chat_clients/groq_client.py +0 -0
  14. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/chat_clients/local_client.py +0 -0
  15. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/chat_clients/mistral_client.py +0 -0
  16. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/chat_clients/moonshot_client.py +0 -0
  17. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/chat_clients/openai_client.py +0 -0
  18. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/chat_clients/openai_compatible_client.py +0 -0
  19. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/chat_clients/py.typed +0 -0
  20. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/chat_clients/qwen_client.py +0 -0
  21. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/chat_clients/stepfun_client.py +0 -0
  22. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/chat_clients/yi_client.py +0 -0
  23. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/chat_clients/zhipuai_client.py +0 -0
  24. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/py.typed +0 -0
  25. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/server/token_server.py +0 -0
  26. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/settings/__init__.py +0 -0
  27. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/settings/py.typed +0 -0
  28. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/types/defaults.py +0 -0
  29. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/types/enums.py +0 -0
  30. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/types/exception.py +0 -0
  31. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/types/llm_parameters.py +0 -0
  32. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/types/py.typed +0 -0
  33. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/utilities/media_processing.py +0 -0
  34. {vectorvein-0.1.49 → vectorvein-0.1.51}/src/vectorvein/utilities/retry.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vectorvein
3
- Version: 0.1.49
3
+ Version: 0.1.51
4
4
  Summary: Default template for PDM package
5
5
  Author-Email: Anderson <andersonby@163.com>
6
6
  License: MIT
@@ -17,7 +17,7 @@ description = "Default template for PDM package"
17
17
  name = "vectorvein"
18
18
  readme = "README.md"
19
19
  requires-python = ">=3.10"
20
- version = "0.1.49"
20
+ version = "0.1.51"
21
21
 
22
22
  [project.license]
23
23
  text = "MIT"
@@ -193,11 +193,19 @@ class MiniMaxChatClient(BaseChatClient):
193
193
  if max_tokens is None:
194
194
  max_output_tokens = self.model_setting.max_output_tokens
195
195
  if max_output_tokens is not None:
196
- token_counts = get_token_counts({"messages": messages, "tools_params": tools_params})
196
+ token_counts = get_token_counts(
197
+ text={"messages": messages, "tools_params": tools_params},
198
+ model=self.model,
199
+ use_token_server_first=True,
200
+ )
197
201
  max_tokens = self.model_setting.context_length - token_counts
198
202
  max_tokens = min(max(max_tokens, 1), max_output_tokens)
199
203
  else:
200
- token_counts = get_token_counts({"messages": messages, "tools_params": tools_params})
204
+ token_counts = get_token_counts(
205
+ text={"messages": messages, "tools_params": tools_params},
206
+ model=self.model,
207
+ use_token_server_first=True,
208
+ )
201
209
  max_tokens = self.model_setting.context_length - token_counts
202
210
 
203
211
  self.url = self.endpoint.api_base
@@ -418,11 +426,19 @@ class AsyncMiniMaxChatClient(BaseAsyncChatClient):
418
426
  if max_tokens is None:
419
427
  max_output_tokens = self.model_setting.max_output_tokens
420
428
  if max_output_tokens is not None:
421
- token_counts = get_token_counts({"messages": messages, "tools_params": tools_params})
429
+ token_counts = get_token_counts(
430
+ text={"messages": messages, "tools_params": tools_params},
431
+ model=self.model,
432
+ use_token_server_first=True,
433
+ )
422
434
  max_tokens = self.model_setting.context_length - token_counts
423
435
  max_tokens = min(max(max_tokens, 1), max_output_tokens)
424
436
  else:
425
- token_counts = get_token_counts({"messages": messages, "tools_params": tools_params})
437
+ token_counts = get_token_counts(
438
+ text={"messages": messages, "tools_params": tools_params},
439
+ model=self.model,
440
+ use_token_server_first=True,
441
+ )
426
442
  max_tokens = self.model_setting.context_length - token_counts
427
443
 
428
444
  self.url = self.endpoint.api_base
@@ -114,7 +114,7 @@ def convert_type(value, value_type):
114
114
  return value # 如果类型未知,返回原始值
115
115
 
116
116
 
117
- def get_token_counts(text: str | dict, model: str = "", use_token_server_first: bool = False) -> int:
117
+ def get_token_counts(text: str | dict, model: str = "", use_token_server_first: bool = True) -> int:
118
118
  if use_token_server_first and settings.token_server is not None:
119
119
  base_url = (
120
120
  settings.token_server.url
@@ -226,7 +226,11 @@ def get_token_counts(text: str | dict, model: str = "", use_token_server_first:
226
226
  result = response.json()
227
227
  return result["totalTokens"]
228
228
  elif model.startswith("claude"):
229
- return Anthropic().count_tokens(text)
229
+ return (
230
+ Anthropic()
231
+ .beta.messages.count_tokens(messages=[{"role": "user", "content": text}], model=model)
232
+ .input_tokens
233
+ )
230
234
  elif model.startswith("deepseek"):
231
235
  from deepseek_tokenizer import deepseek_tokenizer
232
236
 
File without changes