projectdavid-common 0.21.5__py3-none-any.whl → 0.21.7__py3-none-any.whl

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.
@@ -18,61 +18,100 @@ DEEPSEEK_NATIVE_MODELS = {
18
18
 
19
19
 
20
20
  TOGETHER_AI_MODELS = {
21
- # --- DeepSeek ---
21
+ # --- Qwen ---
22
+ "together-ai/Qwen/QwQ-32B": "Qwen/QwQ-32B",
23
+ "together-ai/Qwen/Qwen-Image": "Qwen/Qwen-Image",
24
+ "together-ai/Qwen/Qwen2-7B": "Qwen/Qwen2-7B",
25
+ "together-ai/Qwen/Qwen2-VL-72B-Instruct": "Qwen/Qwen2-VL-72B-Instruct",
26
+ "together-ai/Qwen/Qwen2.5-1.5B": "Qwen/Qwen2.5-1.5B",
27
+ "together-ai/Qwen/Qwen2.5-72B-Instruct-Turbo": "Qwen/Qwen2.5-72B-Instruct-Turbo",
28
+ "together-ai/Qwen/Qwen2.5-7B-Instruct-Turbo": "Qwen/Qwen2.5-7B-Instruct-Turbo",
29
+ "together-ai/Qwen/Qwen2.5-Coder-32B-Instruct": "Qwen/Qwen2.5-Coder-32B-Instruct",
30
+ "together-ai/Qwen/Qwen2.5-VL-72B-Instruct": "Qwen/Qwen2.5-VL-72B-Instruct",
31
+ "together-ai/Qwen/Qwen3-14B-Base": "Qwen/Qwen3-14B-Base",
32
+ "together-ai/Qwen/Qwen3-235B-A22B-Instruct-2507-tput": "Qwen/Qwen3-235B-A22B-Instruct-2507-tput",
33
+ "together-ai/Qwen/Qwen3-235B-A22B-Thinking-2507": "Qwen/Qwen3-235B-A22B-Thinking-2507",
34
+ "together-ai/Qwen/Qwen3-235B-A22B-fp8-tput": "Qwen/Qwen3-235B-A22B-fp8-tput",
35
+ "together-ai/Qwen/Qwen3-8B": "Qwen/Qwen3-8B",
36
+ "together-ai/Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8": "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",
37
+ "together-ai/Qwen/Qwen3-Next-80B-A3B-Instruct": "Qwen/Qwen3-Next-80B-A3B-Instruct",
38
+ "together-ai/Qwen/Qwen3-Next-80B-A3B-Instruct-FP8": "Qwen/Qwen3-Next-80B-A3B-Instruct-FP8",
39
+ "together-ai/Qwen/Qwen3-Next-80B-A3B-Thinking": "Qwen/Qwen3-Next-80B-A3B-Thinking",
40
+ "together-ai/Qwen/Qwen3-VL-235B-A22B-Instruct-FP": "Qwen/Qwen3-VL-235B-A22B-Instruct-FP",
41
+ "together-ai/Qwen/Qwen3-VL-32B-Instruct": "Qwen/Qwen3-VL-32B-Instruct",
42
+ "together-ai/Qwen/Qwen3-VL-8B-Instruct": "Qwen/Qwen3-VL-8B-Instruct",
43
+ # --- Servicenow-ai ---
44
+ "together-ai/ServiceNow-AI/Apriel-1.5-15b-Thinker": "ServiceNow-AI/Apriel-1.5-15b-Thinker",
45
+ "together-ai/ServiceNow-AI/Apriel-1.6-15b-Thinker": "ServiceNow-AI/Apriel-1.6-15b-Thinker",
46
+ # --- Arcee-ai ---
47
+ "together-ai/arcee-ai/trinity-mini": "arcee-ai/trinity-mini",
48
+ # --- Arize-ai ---
49
+ "together-ai/arize-ai/qwen-2-1.5b-instruct": "arize-ai/qwen-2-1.5b-instruct",
50
+ # --- Deepcogito ---
51
+ "together-ai/deepcogito/cogito-v2-1-671b": "deepcogito/cogito-v2-1-671b",
52
+ "together-ai/deepcogito/cogito-v2-preview-llama-109B-MoE": "deepcogito/cogito-v2-preview-llama-109B-MoE",
53
+ "together-ai/deepcogito/cogito-v2-preview-llama-405B": "deepcogito/cogito-v2-preview-llama-405B",
54
+ "together-ai/deepcogito/cogito-v2-preview-llama-70B": "deepcogito/cogito-v2-preview-llama-70B",
55
+ # --- Deepseek-ai ---
22
56
  "together-ai/deepseek-ai/DeepSeek-R1": "deepseek-ai/DeepSeek-R1",
23
- "together-ai/deepseek-ai/DeepSeek-V3": "deepseek-ai/DeepSeek-V3",
57
+ "together-ai/deepseek-ai/DeepSeek-R1-0528-tput": "deepseek-ai/DeepSeek-R1-0528-tput",
58
+ "together-ai/deepseek-ai/DeepSeek-R1-Distill-Llama-70B-free": "deepseek-ai/DeepSeek-R1-Distill-Llama-70B-free",
24
59
  "together-ai/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B": "deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B",
60
+ "together-ai/deepseek-ai/DeepSeek-V3": "deepseek-ai/DeepSeek-V3",
61
+ "together-ai/deepseek-ai/DeepSeek-V3.1": "deepseek-ai/DeepSeek-V3.1",
25
62
  "together-ai/deepseek-ai/deepseek-ai/DeepSeek-R1-Distill-Qwen-14B": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B",
26
- "together-ai/deepseek-ai/DeepSeek-R1-Distill-Llama-70B-free": "deepseek-ai/DeepSeek-R1-Distill-Llama-70B-free",
27
- # --- Meta Llama ---
28
- "together-ai/meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8": "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",
29
- "together-ai/meta-llama/Llama-4-Scout-17B-16E-Instruct": "meta-llama/Llama-4-Scout-17B-16E-Instruct",
30
- "together-ai/meta-llama/Llama-3.3-70B-Instruct-Turbo": "meta-llama/Llama-3.3-70B-Instruct-Turbo",
63
+ # --- Essentialai ---
64
+ "together-ai/essentialai/rnj-1-instruct": "essentialai/rnj-1-instruct",
65
+ # --- Google ---
66
+ "together-ai/google/gemma-2-9b-it": "google/gemma-2-9b-it",
67
+ "together-ai/google/gemma-2b-it-Ishan": "google/gemma-2b-it-Ishan",
68
+ "together-ai/google/gemma-3n-E4B-it": "google/gemma-3n-E4B-it",
69
+ # --- Marin-community ---
70
+ "together-ai/marin-community/marin-8b-instruct": "marin-community/marin-8b-instruct",
71
+ # --- Meta-llama ---
31
72
  "together-ai/meta-llama/Llama-3.2-11B-Vision-Instruct-Turbo": "meta-llama/Llama-3.2-11B-Vision-Instruct-Turbo",
73
+ "together-ai/meta-llama/Llama-3.2-3B-Instruct-Turbo": "meta-llama/Llama-3.2-3B-Instruct-Turbo",
32
74
  "together-ai/meta-llama/Llama-3.2-90B-Vision-Instruct-Turbo": "meta-llama/Llama-3.2-90B-Vision-Instruct-Turbo",
75
+ "together-ai/meta-llama/Llama-3.3-70B-Instruct-Turbo": "meta-llama/Llama-3.3-70B-Instruct-Turbo",
76
+ "together-ai/meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8": "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",
77
+ "together-ai/meta-llama/Llama-4-Scout-17B-16E-Instruct": "meta-llama/Llama-4-Scout-17B-16E-Instruct",
33
78
  "together-ai/meta-llama/Llama-Vision-Free": "meta-llama/Llama-Vision-Free",
34
79
  "together-ai/meta-llama/LlamaGuard-2-8b": "meta-llama/LlamaGuard-2-8b",
35
- # --- Google ---
36
- "together-ai/google/gemma-2-9b-it": "google/gemma-2-9b-it",
37
- # --- Mistral ---
80
+ "together-ai/meta-llama/Meta-Llama-3-8B-Instruct-Lite": "meta-llama/Meta-Llama-3-8B-Instruct-Lite",
81
+ "together-ai/meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo": "meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo",
82
+ "together-ai/meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo": "meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo",
83
+ "together-ai/meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo": "meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo",
84
+ # --- Mistralai ---
85
+ "together-ai/mistralai/Ministral-3-14B-Instruct-2512": "mistralai/Ministral-3-14B-Instruct-2512",
38
86
  "together-ai/mistralai/Mistral-7B-Instruct-v0.2": "mistralai/Mistral-7B-Instruct-v0.2",
39
87
  "together-ai/mistralai/Mistral-7B-Instruct-v0.3": "mistralai/Mistral-7B-Instruct-v0.3",
40
- # --- Qwen (Legacy/Existing) ---
41
- "together-ai/Qwen/QwQ-32B": "Qwen/QwQ-32B",
42
- "together-ai/Qwen/Qwen2.5-Coder-32B-Instruct": "Qwen/Qwen2.5-Coder-32B-Instruct",
43
- "together-ai/Qwen/Qwen2-VL-72B-Instruct": "Qwen/Qwen2-VL-72B-Instruct",
44
- # --- Qwen (New Additions) ---
45
- # Qwen 3 Series
46
- "together-ai/Qwen/Qwen3-Next-80B-A3B-Instruct": "Qwen/Qwen3-Next-80B-A3B-Instruct",
47
- "together-ai/Qwen/Qwen3-Next-80B-A3B-Thinking": "Qwen/Qwen3-Next-80B-A3B-Thinking",
48
- "together-ai/Qwen/Qwen3-Next-80B-A3B-Instruct-FP8": "Qwen/Qwen3-Next-80B-A3B-Instruct-FP8",
49
- "together-ai/Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8": "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",
50
- "together-ai/Qwen/Qwen3-235B-A22B-Instruct-2507-tput": "Qwen/Qwen3-235B-A22B-Instruct-2507-tput",
51
- "together-ai/Qwen/Qwen3-235B-A22B-fp8-tput": "Qwen/Qwen3-235B-A22B-fp8-tput",
52
- "together-ai/Qwen/Qwen3-235B-A22B-Thinking-2507": "Qwen/Qwen3-235B-A22B-Thinking-2507",
53
- "together-ai/Qwen/Qwen3-VL-8B-Instruct": "Qwen/Qwen3-VL-8B-Instruct",
54
- "together-ai/Qwen/Qwen3-VL-32B-Instruct": "Qwen/Qwen3-VL-32B-Instruct",
55
- "together-ai/Qwen/Qwen3-VL-235B-A22B-Instruct-FP": "Qwen/Qwen3-VL-235B-A22B-Instruct-FP",
56
- "together-ai/Qwen/Qwen3-8B": "Qwen/Qwen3-8B",
57
- "together-ai/Qwen/Qwen3-14B-Base": "Qwen/Qwen3-14B-Base",
58
- # OpenAI
88
+ "together-ai/mistralai/Mistral-Small-24B-Instruct-2501": "mistralai/Mistral-Small-24B-Instruct-2501",
89
+ "together-ai/mistralai/Mixtral-8x7B-Instruct-v0.1": "mistralai/Mixtral-8x7B-Instruct-v0.1",
90
+ # --- Moonshotai ---
91
+ "together-ai/moonshotai/Kimi-K2-Instruct-0905": "moonshotai/Kimi-K2-Instruct-0905",
92
+ "together-ai/moonshotai/Kimi-K2-Thinking": "moonshotai/Kimi-K2-Thinking",
93
+ # --- Nvidia ---
94
+ "together-ai/nvidia/NVIDIA-Nemotron-Nano-9B-v2": "nvidia/NVIDIA-Nemotron-Nano-9B-v2",
95
+ # --- Openai ---
59
96
  "together-ai/openai/gpt-oss-120b": "openai/gpt-oss-120b",
60
97
  "together-ai/openai/gpt-oss-20b": "openai/gpt-oss-20b",
61
- # Qwen 2.5 Series
62
- "together-ai/Qwen/Qwen2.5-72B-Instruct": "Qwen/Qwen2.5-72B-Instruct",
63
- "together-ai/Qwen/Qwen2.5-72B-Instruct-Turbo": "Qwen/Qwen2.5-72B-Instruct-Turbo",
64
- "together-ai/Qwen/Qwen2.5-VL-72B-Instruct": "Qwen/Qwen2.5-VL-72B-Instruct",
65
- "together-ai/Qwen/Qwen2.5-7B-Instruct-Turbo": "Qwen/Qwen2.5-7B-Instruct-Turbo",
66
- "together-ai/Qwen/Qwen2.5-1.5B": "Qwen/Qwen2.5-1.5B",
67
- # Misc
68
- "together-ai/Qwen/Qwen-Image": "Qwen/Qwen-Image",
69
- "together-ai/Qwen/Qwen2-7B": "Qwen/Qwen2-7B",
98
+ # --- Togethercomputer ---
99
+ "together-ai/togethercomputer/MoA-1": "togethercomputer/MoA-1",
100
+ "together-ai/togethercomputer/MoA-1-Turbo": "togethercomputer/MoA-1-Turbo",
101
+ "together-ai/togethercomputer/Refuel-Llm-V2": "togethercomputer/Refuel-Llm-V2",
102
+ "together-ai/togethercomputer/Refuel-Llm-V2-Small": "togethercomputer/Refuel-Llm-V2-Small",
103
+ # --- Zai-org ---
104
+ "together-ai/zai-org/GLM-4.5-Air-FP8": "zai-org/GLM-4.5-Air-FP8",
105
+ "together-ai/zai-org/GLM-4.6": "zai-org/GLM-4.6",
106
+ "together-ai/zai-org/GLM-4.7": "zai-org/GLM-4.7",
70
107
  }
71
108
 
72
109
 
73
110
  HYPERBOLIC_MODELS = {
74
111
  # DeepSeek
75
112
  "hyperbolic/deepseek-ai/DeepSeek-V3-0324": "deepseek-ai/DeepSeek-V3-0324",
113
+ # new
114
+ "hyperbolic/deepseek-ai/DeepSeek-R1-0528": "deepseek-ai/DeepSeek-R1-0528",
76
115
  "hyperbolic/deepseek-ai/DeepSeek-R1": "deepseek-ai/DeepSeek-R1",
77
116
  "hyperbolic/deepseek-ai/DeepSeek-V3": "deepseek-ai/DeepSeek-V3",
78
117
  # llama
@@ -84,6 +123,7 @@ HYPERBOLIC_MODELS = {
84
123
  "hyperbolic/meta-llama/Meta-Llama-3-70B-Instruct": "meta-llama/Meta-Llama-3-70B-Instruct",
85
124
  # Quen
86
125
  "hyperbolic/Qwen/QwQ-32B": "Qwen/QwQ-32B",
126
+ "hyperbolic/Qwen/Qwen2.5-VL-7B-Instruct": "Qwen/Qwen2.5-VL-7B-Instruct",
87
127
  "hyperbolic/Qwen/Qwen2.5-Coder-32B-Instruct": "Qwen/Qwen2.5-Coder-32B-Instruct",
88
128
  "hyperbolic/Qwen/Qwen2.5-72B-Instruct": "Qwen/Qwen2.5-72B-Instruct",
89
129
  "hyperbolic/Qwen/Qwen3-Next-80B-A3B-Thinking": "Qwen/Qwen3-Next-80B-A3B-Thinking",
@@ -93,6 +133,8 @@ HYPERBOLIC_MODELS = {
93
133
  # OpenAI
94
134
  "hyperbolic/openai/gpt-oss-120b": "openai/gpt-oss-120b",
95
135
  "hyperbolic/openai/gpt-oss-20b": "openai/gpt-oss-20b",
136
+ # New
137
+ "hyperbolic/openai/gpt-oss-120b-turbo": "openai/gpt-oss-120b-turbo",
96
138
  }
97
139
 
98
140
 
@@ -1,23 +1,34 @@
1
1
  from typing import Optional
2
2
 
3
- from pydantic import BaseModel, validator
3
+ from pydantic import ( # Added ConfigDict and field_validator
4
+ BaseModel,
5
+ ConfigDict,
6
+ field_validator,
7
+ )
4
8
 
5
9
  from projectdavid_common.constants.ai_model_map import MODEL_MAP
6
10
 
7
11
 
8
12
  class StreamRequest(BaseModel):
13
+ # 1. FIX: Tell Pydantic to allow fields starting with "model_"
14
+ model_config = ConfigDict(protected_namespaces=())
15
+
9
16
  provider: str
10
17
  model: str
11
- api_key: Optional[str]
18
+ api_key: Optional[str] = None # Added default None
12
19
  thread_id: str
13
20
  message_id: str
14
21
  run_id: str
15
22
  assistant_id: str
16
23
  content: Optional[str] = None
17
24
 
18
- @validator("model")
19
- def validate_model_key(cls, v):
25
+ # 2. UPDATED: Using Pydantic v2 field_validator
26
+ @field_validator("model")
27
+ @classmethod
28
+ def validate_model_key(cls, v: str) -> str:
20
29
  if v not in MODEL_MAP:
30
+ # Note: Ensure MODEL_MAP contains "hyperbolic/deepseek-ai/DeepSeek-V3-0324"
31
+ # as seen in your logs, or this will throw a 422 error.
21
32
  raise ValueError(f"Invalid model '{v}'. Must be one of: {', '.join(MODEL_MAP.keys())}")
22
33
  return v
23
34
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: projectdavid_common
3
- Version: 0.21.5
3
+ Version: 0.21.7
4
4
  Summary: Common shared custom packages
5
5
  Author-email: "Francis N." <francis.neequaye@projectdavid.co.uk>
6
6
  License: MIT
@@ -2,7 +2,7 @@ projectdavid_common/__init__.py,sha256=qGbd7vBnhtG4f3ppij8IEMbmzSDSHoIYLIEB_u5we
2
2
  projectdavid_common/utils.py,sha256=Q-GpA6R4QbStLFxNNft_sYEA25bVzYqOcsNy8VRHrxs,657
3
3
  projectdavid_common/validation.py,sha256=81CsNp7LeEHXKk7pdtxeHmRs6bxKqKAXlH-T1xyhIdg,5490
4
4
  projectdavid_common/constants/__init__.py,sha256=i2JnKwAKnlH8A49bQErfbZHP-PtSdJMl3TMTnup9x1M,250
5
- projectdavid_common/constants/ai_model_map.py,sha256=7Pn_r9VblbvKnmPi55NYWbttfPMHsQw0rI-f3Es6zKM,5854
5
+ projectdavid_common/constants/ai_model_map.py,sha256=SPEEo0Ce53UxkB2883Ti6wtnHxF-G0PGF9LDSyLSxbI,8996
6
6
  projectdavid_common/constants/assistant_map.py,sha256=sKCC5Rxm5HnsrkzlbLystRJUOVMQQxhq4OVeFZ9p7vo,141
7
7
  projectdavid_common/constants/mime_types.py,sha256=vvuCYP_oreoRkP1D80eRgv8mQTNsQ_huoqO3fLUSviA,1729
8
8
  projectdavid_common/constants/platform.py,sha256=ATXfVuEigWmhl0WRXLhObFlUegNPKdNHGLp4zBjKs04,2679
@@ -17,7 +17,7 @@ projectdavid_common/schemas/files_schema.py,sha256=hNMqVDRc5lsdhxyPWO79QjIpE7NKm
17
17
  projectdavid_common/schemas/inference_schema.py,sha256=LPjKDCq7jBPbQCgwlM97rxO477v3vWwb6RYh4DW0KIs,228
18
18
  projectdavid_common/schemas/messages_schema.py,sha256=4Zes5on7VJubq_02wkEkb29M3CdNPxCdMkSNS6KOyC8,3631
19
19
  projectdavid_common/schemas/runs_schema.py,sha256=BK2HHVKxv5jTvULeC8POCrk6sdSSFFiW5mV5nIlRdnU,5519
20
- projectdavid_common/schemas/stream_schema.py,sha256=4CtzlQD7Jxhmww_jGNCvbspj8fe42tS7kpr_0tU7nxg,638
20
+ projectdavid_common/schemas/stream_schema.py,sha256=s-50zeCTIl4PKtzKrG1f8psTXxaGki_OLW_uj-CUOsY,1108
21
21
  projectdavid_common/schemas/threads_schema.py,sha256=tnGGOZ52xmel2DaWiFtCbfMkEW056xI-WMt4yotmmHI,1533
22
22
  projectdavid_common/schemas/users_schema.py,sha256=777ul1Kg7yxqLZnEtd8rtIHXfZnUzldJx4qYS5brD14,3206
23
23
  projectdavid_common/schemas/vector_search_envelope.py,sha256=uFctv-8lwfebzHk84_ZfDce7p3ub5h0uuZ4YXsXnZig,946
@@ -25,8 +25,8 @@ projectdavid_common/schemas/vectors_schema.py,sha256=KG4HSa6yVgBLe01iSdXKoU3UxRS
25
25
  projectdavid_common/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
26
  projectdavid_common/utilities/identifier_service.py,sha256=7hL4_i7pGs6bibCSkXQIwpMSUCFASFE0VPm6gqMv4sk,2950
27
27
  projectdavid_common/utilities/logging_service.py,sha256=ONKy3PRjIrxIrTJ_X3iv7v9HA0wyejyw4WrQYlJy7Oc,2614
28
- projectdavid_common-0.21.5.dist-info/METADATA,sha256=0NBKp0fFDeH_4QfvfMKeY9VAT_ZlmMjdXHXtYJ8Cpow,1642
29
- projectdavid_common-0.21.5.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
30
- projectdavid_common-0.21.5.dist-info/entry_points.txt,sha256=Y8HAIUW0ifCKcAzAqR21wu1ATHNFWWWiUB33UYv095o,74
31
- projectdavid_common-0.21.5.dist-info/top_level.txt,sha256=lJ-jkZ0n0jWktoMJFcw-DzLoMTY2juuw5fgMIqYu1UU,20
32
- projectdavid_common-0.21.5.dist-info/RECORD,,
28
+ projectdavid_common-0.21.7.dist-info/METADATA,sha256=mIGzLiQBGmmXHWKIAwQS0oCW-4hrxn7pNIVoqvEsiUA,1642
29
+ projectdavid_common-0.21.7.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
30
+ projectdavid_common-0.21.7.dist-info/entry_points.txt,sha256=Y8HAIUW0ifCKcAzAqR21wu1ATHNFWWWiUB33UYv095o,74
31
+ projectdavid_common-0.21.7.dist-info/top_level.txt,sha256=lJ-jkZ0n0jWktoMJFcw-DzLoMTY2juuw5fgMIqYu1UU,20
32
+ projectdavid_common-0.21.7.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.10.1)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5