vectorvein 0.2.16__tar.gz → 0.2.17__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.16 → vectorvein-0.2.17}/PKG-INFO +2 -2
  2. {vectorvein-0.2.16 → vectorvein-0.2.17}/pyproject.toml +2 -2
  3. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/chat_clients/__init__.py +33 -0
  4. vectorvein-0.2.17/src/vectorvein/chat_clients/ernie_client.py +15 -0
  5. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/settings/__init__.py +6 -0
  6. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/types/defaults.py +8 -1
  7. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/types/enums.py +4 -1
  8. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/types/settings.py +2 -0
  9. {vectorvein-0.2.16 → vectorvein-0.2.17}/README.md +0 -0
  10. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/__init__.py +0 -0
  11. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/api/__init__.py +0 -0
  12. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/api/client.py +0 -0
  13. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/api/exceptions.py +0 -0
  14. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/api/models.py +0 -0
  15. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/chat_clients/anthropic_client.py +0 -0
  16. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/chat_clients/baichuan_client.py +0 -0
  17. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/chat_clients/base_client.py +0 -0
  18. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/chat_clients/deepseek_client.py +0 -0
  19. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/chat_clients/gemini_client.py +0 -0
  20. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/chat_clients/groq_client.py +0 -0
  21. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/chat_clients/local_client.py +0 -0
  22. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/chat_clients/minimax_client.py +0 -0
  23. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/chat_clients/mistral_client.py +0 -0
  24. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/chat_clients/moonshot_client.py +0 -0
  25. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/chat_clients/openai_client.py +0 -0
  26. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/chat_clients/openai_compatible_client.py +0 -0
  27. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/chat_clients/py.typed +0 -0
  28. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/chat_clients/qwen_client.py +0 -0
  29. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/chat_clients/stepfun_client.py +0 -0
  30. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/chat_clients/utils.py +0 -0
  31. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/chat_clients/xai_client.py +0 -0
  32. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/chat_clients/yi_client.py +0 -0
  33. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/chat_clients/zhipuai_client.py +0 -0
  34. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/py.typed +0 -0
  35. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/server/token_server.py +0 -0
  36. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/settings/py.typed +0 -0
  37. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/types/__init__.py +0 -0
  38. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/types/exception.py +0 -0
  39. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/types/llm_parameters.py +0 -0
  40. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/types/py.typed +0 -0
  41. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/utilities/media_processing.py +0 -0
  42. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/utilities/rate_limiter.py +0 -0
  43. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/utilities/retry.py +0 -0
  44. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/workflow/graph/edge.py +0 -0
  45. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/workflow/graph/node.py +0 -0
  46. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/workflow/graph/port.py +0 -0
  47. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/workflow/graph/workflow.py +0 -0
  48. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/workflow/nodes/__init__.py +0 -0
  49. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/workflow/nodes/audio_generation.py +0 -0
  50. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/workflow/nodes/control_flows.py +0 -0
  51. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/workflow/nodes/file_processing.py +0 -0
  52. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/workflow/nodes/image_generation.py +0 -0
  53. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/workflow/nodes/llms.py +0 -0
  54. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/workflow/nodes/media_editing.py +0 -0
  55. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/workflow/nodes/media_processing.py +0 -0
  56. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/workflow/nodes/output.py +0 -0
  57. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/workflow/nodes/relational_db.py +0 -0
  58. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/workflow/nodes/text_processing.py +0 -0
  59. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/workflow/nodes/tools.py +0 -0
  60. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/workflow/nodes/triggers.py +0 -0
  61. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/workflow/nodes/vector_db.py +0 -0
  62. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/workflow/nodes/video_generation.py +0 -0
  63. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/workflow/nodes/web_crawlers.py +0 -0
  64. {vectorvein-0.2.16 → vectorvein-0.2.17}/src/vectorvein/workflow/utils/json_to_code.py +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vectorvein
3
- Version: 0.2.16
4
- Summary: VectorVein python SDK
3
+ Version: 0.2.17
4
+ Summary: VectorVein Python SDK
5
5
  Author-Email: Anderson <andersonby@163.com>
6
6
  License: MIT
7
7
  Requires-Python: >=3.10
@@ -14,11 +14,11 @@ dependencies = [
14
14
  "google-auth>=2.35.0",
15
15
  "pycryptodome>=3.21.0",
16
16
  ]
17
- description = "VectorVein python SDK"
17
+ description = "VectorVein Python SDK"
18
18
  name = "vectorvein"
19
19
  readme = "README.md"
20
20
  requires-python = ">=3.10"
21
- version = "0.2.16"
21
+ version = "0.2.17"
22
22
 
23
23
  [project.license]
24
24
  text = "MIT"
@@ -10,6 +10,7 @@ from .xai_client import XAIChatClient, AsyncXAIChatClient
10
10
  from .groq_client import GroqChatClient, AsyncGroqChatClient
11
11
  from .qwen_client import QwenChatClient, AsyncQwenChatClient
12
12
  from .local_client import LocalChatClient, AsyncLocalChatClient
13
+ from .ernie_client import ErnieChatClient, AsyncErnieChatClient
13
14
  from .gemini_client import GeminiChatClient, AsyncGeminiChatClient
14
15
  from .openai_client import OpenAIChatClient, AsyncOpenAIChatClient
15
16
  from .zhipuai_client import ZhiPuAIChatClient, AsyncZhiPuAIChatClient
@@ -49,6 +50,7 @@ BackendMap = {
49
50
  BackendType.Baichuan: BaichuanChatClient,
50
51
  BackendType.StepFun: StepFunChatClient,
51
52
  BackendType.XAI: XAIChatClient,
53
+ BackendType.Ernie: ErnieChatClient,
52
54
  },
53
55
  "async": {
54
56
  BackendType.Anthropic: AsyncAnthropicChatClient,
@@ -66,6 +68,7 @@ BackendMap = {
66
68
  BackendType.Baichuan: AsyncBaichuanChatClient,
67
69
  BackendType.StepFun: AsyncStepFunChatClient,
68
70
  BackendType.XAI: AsyncXAIChatClient,
71
+ BackendType.Ernie: AsyncErnieChatClient,
69
72
  },
70
73
  }
71
74
 
@@ -295,6 +298,21 @@ def create_chat_client(
295
298
  ) -> XAIChatClient: ...
296
299
 
297
300
 
301
+ @overload
302
+ def create_chat_client(
303
+ backend: Literal[BackendType.Ernie],
304
+ model: str | None = None,
305
+ stream: bool = False,
306
+ temperature: float | None | NotGiven = NOT_GIVEN,
307
+ context_length_control: ContextLengthControlType = defs.CONTEXT_LENGTH_CONTROL,
308
+ random_endpoint: bool = True,
309
+ endpoint_id: str = "",
310
+ http_client: httpx.Client | None = None,
311
+ settings: "Settings | SettingsDict | None" = None, # Use default settings if not provided
312
+ **kwargs,
313
+ ) -> ErnieChatClient: ...
314
+
315
+
298
316
  @overload
299
317
  def create_chat_client(
300
318
  backend: BackendType,
@@ -566,6 +584,21 @@ def create_async_chat_client(
566
584
  ) -> AsyncXAIChatClient: ...
567
585
 
568
586
 
587
+ @overload
588
+ def create_async_chat_client(
589
+ backend: Literal[BackendType.Ernie],
590
+ model: str | None = None,
591
+ stream: bool = False,
592
+ temperature: float | None | NotGiven = NOT_GIVEN,
593
+ context_length_control: ContextLengthControlType = defs.CONTEXT_LENGTH_CONTROL,
594
+ random_endpoint: bool = True,
595
+ endpoint_id: str = "",
596
+ http_client: httpx.AsyncClient | None = None,
597
+ settings: "Settings | SettingsDict | None" = None, # Use default settings if not provided
598
+ **kwargs,
599
+ ) -> AsyncErnieChatClient: ...
600
+
601
+
569
602
  @overload
570
603
  def create_async_chat_client(
571
604
  backend: BackendType,
@@ -0,0 +1,15 @@
1
+ # @Author: Bi Ying
2
+ # @Date: 2024-07-26 14:48:55
3
+ from ..types.enums import BackendType
4
+ from ..types.defaults import ERNIE_DEFAULT_MODEL
5
+ from .openai_compatible_client import OpenAICompatibleChatClient, AsyncOpenAICompatibleChatClient
6
+
7
+
8
+ class ErnieChatClient(OpenAICompatibleChatClient):
9
+ DEFAULT_MODEL = ERNIE_DEFAULT_MODEL
10
+ BACKEND_NAME = BackendType.Ernie
11
+
12
+
13
+ class AsyncErnieChatClient(AsyncOpenAICompatibleChatClient):
14
+ DEFAULT_MODEL = ERNIE_DEFAULT_MODEL
15
+ BACKEND_NAME = BackendType.Ernie
@@ -56,6 +56,7 @@ class Backends(BaseModel):
56
56
  baichuan: BackendSettings = Field(default_factory=BackendSettings, description="Baichuan models settings.")
57
57
  stepfun: BackendSettings = Field(default_factory=BackendSettings, description="StepFun models settings.")
58
58
  xai: BackendSettings = Field(default_factory=BackendSettings, description="XAI models settings.")
59
+ ernie: BackendSettings = Field(default_factory=BackendSettings, description="Baidu Ernie models settings.")
59
60
 
60
61
 
61
62
  class Settings(BaseModel):
@@ -95,6 +96,9 @@ class Settings(BaseModel):
95
96
  )
96
97
  stepfun: Optional[BackendSettings] = Field(default_factory=BackendSettings, description="StepFun models settings.")
97
98
  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
+ )
98
102
 
99
103
  def __init__(self, **data):
100
104
  model_types = {
@@ -113,6 +117,7 @@ class Settings(BaseModel):
113
117
  "baichuan": defs.BAICHUAN_MODELS,
114
118
  "stepfun": defs.STEPFUN_MODELS,
115
119
  "xai": defs.XAI_MODELS,
120
+ "ernie": defs.ERNIE_MODELS,
116
121
  }
117
122
 
118
123
  data = deepcopy(data)
@@ -198,6 +203,7 @@ class Settings(BaseModel):
198
203
  "baichuan",
199
204
  "stepfun",
200
205
  "xai",
206
+ "ernie",
201
207
  }
202
208
  )
203
209
  else:
@@ -739,7 +739,14 @@ ERNIE_MODELS: Final[Dict[str, Dict[str, Any]]] = {
739
739
  "id": "ernie-4.0-8k-latest",
740
740
  "context_length": 5120,
741
741
  "max_output_tokens": 2048,
742
- "function_call_available": False,
742
+ "function_call_available": True,
743
+ "response_format_available": True,
744
+ },
745
+ "ernie-4.0-8k": {
746
+ "id": "ernie-4.0-8k",
747
+ "context_length": 5120,
748
+ "max_output_tokens": 2048,
749
+ "function_call_available": True,
743
750
  "response_format_available": True,
744
751
  },
745
752
  "ernie-4.0-turbo-8k": {
@@ -29,7 +29,7 @@ class BackendType(str, Enum):
29
29
  # DeepSeek
30
30
  DeepSeek = "deepseek"
31
31
 
32
- # Qwen
32
+ # Aliyun Qwen
33
33
  Qwen = "qwen"
34
34
 
35
35
  # Groq
@@ -53,6 +53,9 @@ class BackendType(str, Enum):
53
53
  # XAI
54
54
  XAI = "xai"
55
55
 
56
+ # Baidu Ernie
57
+ Ernie = "ernie"
58
+
56
59
  def __repr__(self):
57
60
  """Get a string representation."""
58
61
  return f'"{self.value}"'
@@ -99,6 +99,7 @@ class BackendsDict(TypedDict):
99
99
  baichuan: NotRequired[BackendSettingsDict]
100
100
  stepfun: NotRequired[BackendSettingsDict]
101
101
  xai: NotRequired[BackendSettingsDict]
102
+ ernie: NotRequired[BackendSettingsDict]
102
103
 
103
104
 
104
105
  class SettingsV1Dict(TypedDict):
@@ -124,6 +125,7 @@ class SettingsV1Dict(TypedDict):
124
125
  baichuan: NotRequired[BackendSettingsDict]
125
126
  stepfun: NotRequired[BackendSettingsDict]
126
127
  xai: NotRequired[BackendSettingsDict]
128
+ ernie: NotRequired[BackendSettingsDict]
127
129
 
128
130
 
129
131
  class SettingsV2Dict(TypedDict):
File without changes