vectorvein 0.2.88__tar.gz → 0.2.89__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.2.88 → vectorvein-0.2.89}/PKG-INFO +1 -1
  2. {vectorvein-0.2.88 → vectorvein-0.2.89}/pyproject.toml +1 -1
  3. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/chat_clients/utils.py +6 -3
  4. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/types/__init__.py +12 -0
  5. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/types/llm_parameters.py +14 -0
  6. {vectorvein-0.2.88 → vectorvein-0.2.89}/README.md +0 -0
  7. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/__init__.py +0 -0
  8. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/api/__init__.py +0 -0
  9. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/api/client.py +0 -0
  10. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/api/exceptions.py +0 -0
  11. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/api/models.py +0 -0
  12. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/chat_clients/__init__.py +0 -0
  13. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/chat_clients/anthropic_client.py +0 -0
  14. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/chat_clients/baichuan_client.py +0 -0
  15. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/chat_clients/base_client.py +0 -0
  16. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/chat_clients/deepseek_client.py +0 -0
  17. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/chat_clients/ernie_client.py +0 -0
  18. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/chat_clients/gemini_client.py +0 -0
  19. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/chat_clients/groq_client.py +0 -0
  20. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/chat_clients/local_client.py +0 -0
  21. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/chat_clients/minimax_client.py +0 -0
  22. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/chat_clients/mistral_client.py +0 -0
  23. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/chat_clients/moonshot_client.py +0 -0
  24. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/chat_clients/openai_client.py +0 -0
  25. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/chat_clients/openai_compatible_client.py +0 -0
  26. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/chat_clients/py.typed +0 -0
  27. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/chat_clients/qwen_client.py +0 -0
  28. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/chat_clients/stepfun_client.py +0 -0
  29. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/chat_clients/xai_client.py +0 -0
  30. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/chat_clients/yi_client.py +0 -0
  31. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/chat_clients/zhipuai_client.py +0 -0
  32. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/py.typed +0 -0
  33. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/server/token_server.py +0 -0
  34. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/settings/__init__.py +0 -0
  35. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/settings/py.typed +0 -0
  36. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/types/defaults.py +0 -0
  37. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/types/enums.py +0 -0
  38. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/types/exception.py +0 -0
  39. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/types/py.typed +0 -0
  40. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/types/settings.py +0 -0
  41. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/utilities/media_processing.py +0 -0
  42. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/utilities/rate_limiter.py +0 -0
  43. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/utilities/retry.py +0 -0
  44. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/workflow/graph/edge.py +0 -0
  45. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/workflow/graph/node.py +0 -0
  46. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/workflow/graph/port.py +0 -0
  47. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/workflow/graph/workflow.py +0 -0
  48. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/workflow/nodes/__init__.py +0 -0
  49. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/workflow/nodes/audio_generation.py +0 -0
  50. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/workflow/nodes/control_flows.py +0 -0
  51. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/workflow/nodes/file_processing.py +0 -0
  52. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/workflow/nodes/image_generation.py +0 -0
  53. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/workflow/nodes/llms.py +0 -0
  54. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/workflow/nodes/media_editing.py +0 -0
  55. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/workflow/nodes/media_processing.py +0 -0
  56. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/workflow/nodes/output.py +0 -0
  57. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/workflow/nodes/relational_db.py +0 -0
  58. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/workflow/nodes/text_processing.py +0 -0
  59. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/workflow/nodes/tools.py +0 -0
  60. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/workflow/nodes/triggers.py +0 -0
  61. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/workflow/nodes/vector_db.py +0 -0
  62. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/workflow/nodes/video_generation.py +0 -0
  63. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/workflow/nodes/web_crawlers.py +0 -0
  64. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/workflow/utils/analyse.py +0 -0
  65. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/workflow/utils/check.py +0 -0
  66. {vectorvein-0.2.88 → vectorvein-0.2.89}/src/vectorvein/workflow/utils/json_to_code.py +0 -0
  67. {vectorvein-0.2.88 → vectorvein-0.2.89}/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.2.88
3
+ Version: 0.2.89
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.88"
20
+ version = "0.2.89"
21
21
 
22
22
  [project.license]
23
23
  text = "MIT"
@@ -4,7 +4,7 @@ import re
4
4
  import json
5
5
  import warnings
6
6
  from math import ceil
7
- from typing import Iterable
7
+ from typing import Iterable, cast
8
8
 
9
9
  import httpx
10
10
  import tiktoken
@@ -18,6 +18,7 @@ from ..types.llm_parameters import (
18
18
  NotGiven,
19
19
  NOT_GIVEN,
20
20
  ToolParam,
21
+ VectorVeinMessage,
21
22
  )
22
23
 
23
24
 
@@ -435,7 +436,7 @@ def format_image_message(image: str, backend: BackendType = BackendType.OpenAI,
435
436
  return {"type": "image_url", "image_url": {"url": image}}
436
437
 
437
438
 
438
- def format_workflow_messages(message: dict, content: str, backend: BackendType):
439
+ def format_workflow_messages(message: VectorVeinMessage, content: str, backend: BackendType):
439
440
  formatted_messages = []
440
441
 
441
442
  # 工具调用消息
@@ -626,7 +627,7 @@ def transform_from_openai_message(
626
627
 
627
628
 
628
629
  def format_messages(
629
- messages: list,
630
+ messages: Iterable[ChatCompletionMessageParam | VectorVeinMessage],
630
631
  backend: BackendType = BackendType.OpenAI,
631
632
  native_multimodal: bool = False,
632
633
  function_call_available: bool = False,
@@ -652,6 +653,7 @@ def format_messages(
652
653
 
653
654
  for message in messages:
654
655
  if is_vectorvein_message(message):
656
+ message = cast(VectorVeinMessage, message)
655
657
  # 处理 VectorVein 格式的消息
656
658
  content = message["content"]["text"]
657
659
  if message["content_type"] == "TXT":
@@ -662,6 +664,7 @@ def format_messages(
662
664
  formatted_messages.extend(format_workflow_messages(message, content, backend))
663
665
  else:
664
666
  # 处理 OpenAI 格式的消息
667
+ message = cast(ChatCompletionMessageParam, message)
665
668
  formatted_message = transform_from_openai_message(message, backend, native_multimodal, function_call_available, process_image)
666
669
  formatted_messages.append(formatted_message)
667
670
 
@@ -44,12 +44,18 @@ from .llm_parameters import (
44
44
  Usage,
45
45
  ChatCompletionMessage,
46
46
  ChatCompletionDeltaMessage,
47
+ ChatCompletionStreamOptionsParam,
47
48
  NotGiven,
48
49
  NOT_GIVEN,
49
50
  OpenAIToolParam,
50
51
  ToolParam,
51
52
  Tools,
52
53
  ToolChoice,
54
+ AnthropicToolParam,
55
+ AnthropicToolChoice,
56
+ OPENAI_NOT_GIVEN,
57
+ ANTHROPIC_NOT_GIVEN,
58
+ VectorVeinMessage,
53
59
  )
54
60
  from .settings import (
55
61
  RedisConfigDict,
@@ -117,6 +123,12 @@ __all__ = [
117
123
  "Usage",
118
124
  "ChatCompletionMessage",
119
125
  "ChatCompletionDeltaMessage",
126
+ "ChatCompletionStreamOptionsParam",
127
+ "AnthropicToolParam",
128
+ "AnthropicToolChoice",
129
+ "OPENAI_NOT_GIVEN",
130
+ "ANTHROPIC_NOT_GIVEN",
131
+ "VectorVeinMessage",
120
132
  "NotGiven",
121
133
  "NOT_GIVEN",
122
134
  "OpenAIToolParam",
@@ -1,6 +1,7 @@
1
1
  # @Author: Bi Ying
2
2
  # @Date: 2024-07-26 23:48:04
3
3
  from typing import List, Dict, Optional, Union, Iterable, Literal
4
+ from typing_extensions import TypedDict
4
5
 
5
6
  import httpx
6
7
  from pydantic import BaseModel, Field
@@ -26,6 +27,18 @@ from . import defaults as defs
26
27
  from .settings import EndpointOptionDict
27
28
 
28
29
 
30
+ class VectorVeinMessage(TypedDict):
31
+ mid: str
32
+ author_type: str # "U" for user, "A" for assistant
33
+ content_type: str # "TXT" for text, "WKF" for workflow
34
+ status: str
35
+ create_time: int
36
+ update_time: int
37
+ metadata: dict
38
+ content: Dict[str, str]
39
+ attachments: List[str]
40
+
41
+
29
42
  class EndpointSetting(BaseModel):
30
43
  id: str = Field(..., description="The id of the endpoint.")
31
44
  region: Optional[str] = Field(None, description="The region for the endpoint.")
@@ -215,4 +228,5 @@ __all__ = [
215
228
  "ResponseFormat",
216
229
  "ThinkingConfigParam",
217
230
  "ThinkingConfigEnabledParam",
231
+ "VectorVeinMessage",
218
232
  ]
File without changes