projectdavid-common 0.21.4__py3-none-any.whl → 0.21.6__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.
- projectdavid_common/constants/ai_model_map.py +8 -0
- projectdavid_common/schemas/runs_schema.py +0 -4
- projectdavid_common/schemas/stream_schema.py +15 -4
- projectdavid_common/validation.py +0 -14
- {projectdavid_common-0.21.4.dist-info → projectdavid_common-0.21.6.dist-info}/METADATA +1 -1
- {projectdavid_common-0.21.4.dist-info → projectdavid_common-0.21.6.dist-info}/RECORD +9 -10
- {projectdavid_common-0.21.4.dist-info → projectdavid_common-0.21.6.dist-info}/WHEEL +1 -1
- projectdavid_common/schemas/tools_schema.py +0 -65
- {projectdavid_common-0.21.4.dist-info → projectdavid_common-0.21.6.dist-info}/entry_points.txt +0 -0
- {projectdavid_common-0.21.4.dist-info → projectdavid_common-0.21.6.dist-info}/top_level.txt +0 -0
|
@@ -67,12 +67,17 @@ TOGETHER_AI_MODELS = {
|
|
|
67
67
|
# Misc
|
|
68
68
|
"together-ai/Qwen/Qwen-Image": "Qwen/Qwen-Image",
|
|
69
69
|
"together-ai/Qwen/Qwen2-7B": "Qwen/Qwen2-7B",
|
|
70
|
+
# OpenAI
|
|
71
|
+
"together-ai/openai/gpt-oss-120b": "openai/gpt-oss-120b",
|
|
72
|
+
"together-ai/openai/gpt-oss-20b": "openai/gpt-oss-20b",
|
|
70
73
|
}
|
|
71
74
|
|
|
72
75
|
|
|
73
76
|
HYPERBOLIC_MODELS = {
|
|
74
77
|
# DeepSeek
|
|
75
78
|
"hyperbolic/deepseek-ai/DeepSeek-V3-0324": "deepseek-ai/DeepSeek-V3-0324",
|
|
79
|
+
# new
|
|
80
|
+
"hyperbolic/deepseek-ai/DeepSeek-R1-0528": "deepseek-ai/DeepSeek-R1-0528",
|
|
76
81
|
"hyperbolic/deepseek-ai/DeepSeek-R1": "deepseek-ai/DeepSeek-R1",
|
|
77
82
|
"hyperbolic/deepseek-ai/DeepSeek-V3": "deepseek-ai/DeepSeek-V3",
|
|
78
83
|
# llama
|
|
@@ -84,6 +89,7 @@ HYPERBOLIC_MODELS = {
|
|
|
84
89
|
"hyperbolic/meta-llama/Meta-Llama-3-70B-Instruct": "meta-llama/Meta-Llama-3-70B-Instruct",
|
|
85
90
|
# Quen
|
|
86
91
|
"hyperbolic/Qwen/QwQ-32B": "Qwen/QwQ-32B",
|
|
92
|
+
"hyperbolic/Qwen/Qwen2.5-VL-7B-Instruct": "Qwen/Qwen2.5-VL-7B-Instruct",
|
|
87
93
|
"hyperbolic/Qwen/Qwen2.5-Coder-32B-Instruct": "Qwen/Qwen2.5-Coder-32B-Instruct",
|
|
88
94
|
"hyperbolic/Qwen/Qwen2.5-72B-Instruct": "Qwen/Qwen2.5-72B-Instruct",
|
|
89
95
|
"hyperbolic/Qwen/Qwen3-Next-80B-A3B-Thinking": "Qwen/Qwen3-Next-80B-A3B-Thinking",
|
|
@@ -93,6 +99,8 @@ HYPERBOLIC_MODELS = {
|
|
|
93
99
|
# OpenAI
|
|
94
100
|
"hyperbolic/openai/gpt-oss-120b": "openai/gpt-oss-120b",
|
|
95
101
|
"hyperbolic/openai/gpt-oss-20b": "openai/gpt-oss-20b",
|
|
102
|
+
# New
|
|
103
|
+
"hyperbolic/openai/gpt-oss-120b-turbo": "openai/gpt-oss-120b-turbo",
|
|
96
104
|
}
|
|
97
105
|
|
|
98
106
|
|
|
@@ -9,7 +9,6 @@ from typing import Any, Dict, List, Literal, Optional
|
|
|
9
9
|
from pydantic import BaseModel, ConfigDict, Field
|
|
10
10
|
|
|
11
11
|
from projectdavid_common.schemas.actions_schema import ActionRead
|
|
12
|
-
from projectdavid_common.schemas.tools_schema import Tool, ToolRead
|
|
13
12
|
|
|
14
13
|
|
|
15
14
|
# --------------------------------------------------------------------------- #
|
|
@@ -65,7 +64,6 @@ class Run(BaseModel):
|
|
|
65
64
|
status: RunStatus
|
|
66
65
|
thread_id: str
|
|
67
66
|
tool_choice: str
|
|
68
|
-
tools: List[Tool]
|
|
69
67
|
# Accept 'auto' or None on read
|
|
70
68
|
truncation_strategy: Optional[TruncationStrategy] = None
|
|
71
69
|
usage: Optional[Any]
|
|
@@ -106,7 +104,6 @@ class RunCreate(BaseModel):
|
|
|
106
104
|
status: RunStatus = RunStatus.pending
|
|
107
105
|
thread_id: str
|
|
108
106
|
tool_choice: str = "none"
|
|
109
|
-
tools: List[Tool] = Field(default_factory=list)
|
|
110
107
|
# Optional so callers can omit and let DB default 'auto' apply
|
|
111
108
|
truncation_strategy: Optional[TruncationStrategy] = None
|
|
112
109
|
usage: Optional[Any] = None
|
|
@@ -143,7 +140,6 @@ class RunReadDetailed(BaseModel):
|
|
|
143
140
|
status: RunStatus
|
|
144
141
|
thread_id: str
|
|
145
142
|
tool_choice: Optional[str] = None
|
|
146
|
-
tools: List[ToolRead]
|
|
147
143
|
# Accept 'auto' or None on read
|
|
148
144
|
truncation_strategy: Optional[TruncationStrategy] = None
|
|
149
145
|
usage: Optional[Any] = None
|
|
@@ -1,23 +1,34 @@
|
|
|
1
1
|
from typing import Optional
|
|
2
2
|
|
|
3
|
-
from pydantic import
|
|
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
|
-
|
|
19
|
-
|
|
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
|
|
|
@@ -53,14 +53,6 @@ from projectdavid_common.schemas.threads_schema import (
|
|
|
53
53
|
ThreadReadDetailed,
|
|
54
54
|
ThreadUpdate,
|
|
55
55
|
)
|
|
56
|
-
from projectdavid_common.schemas.tools_schema import (
|
|
57
|
-
Tool,
|
|
58
|
-
ToolCreate,
|
|
59
|
-
ToolFunction,
|
|
60
|
-
ToolList,
|
|
61
|
-
ToolRead,
|
|
62
|
-
ToolUpdate,
|
|
63
|
-
)
|
|
64
56
|
from projectdavid_common.schemas.users_schema import (
|
|
65
57
|
UserBase,
|
|
66
58
|
UserCreate,
|
|
@@ -159,12 +151,6 @@ class ValidationInterface:
|
|
|
159
151
|
ThreadDeleted = ThreadDeleted
|
|
160
152
|
|
|
161
153
|
# Tools schemas
|
|
162
|
-
ToolFunction = ToolFunction
|
|
163
|
-
Tool = Tool
|
|
164
|
-
ToolCreate = ToolCreate
|
|
165
|
-
ToolRead = ToolRead
|
|
166
|
-
ToolUpdate = ToolUpdate
|
|
167
|
-
ToolList = ToolList
|
|
168
154
|
|
|
169
155
|
# Users schemas
|
|
170
156
|
UserBase = UserBase
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
projectdavid_common/__init__.py,sha256=qGbd7vBnhtG4f3ppij8IEMbmzSDSHoIYLIEB_u5weaE,142
|
|
2
2
|
projectdavid_common/utils.py,sha256=Q-GpA6R4QbStLFxNNft_sYEA25bVzYqOcsNy8VRHrxs,657
|
|
3
|
-
projectdavid_common/validation.py,sha256=
|
|
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=
|
|
5
|
+
projectdavid_common/constants/ai_model_map.py,sha256=UMSXnVdQvBqBtha1WHDfUVSSDBkC1DNkpR_XQAbN054,6238
|
|
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
|
|
@@ -16,18 +16,17 @@ projectdavid_common/schemas/enums.py,sha256=pQdkz_hmfU_vcZdn4XOvcPOcQihaX_iuQIFk
|
|
|
16
16
|
projectdavid_common/schemas/files_schema.py,sha256=hNMqVDRc5lsdhxyPWO79QjIpE7NKmKzdQ6hJG8L6LfA,3025
|
|
17
17
|
projectdavid_common/schemas/inference_schema.py,sha256=LPjKDCq7jBPbQCgwlM97rxO477v3vWwb6RYh4DW0KIs,228
|
|
18
18
|
projectdavid_common/schemas/messages_schema.py,sha256=4Zes5on7VJubq_02wkEkb29M3CdNPxCdMkSNS6KOyC8,3631
|
|
19
|
-
projectdavid_common/schemas/runs_schema.py,sha256=
|
|
20
|
-
projectdavid_common/schemas/stream_schema.py,sha256=
|
|
19
|
+
projectdavid_common/schemas/runs_schema.py,sha256=BK2HHVKxv5jTvULeC8POCrk6sdSSFFiW5mV5nIlRdnU,5519
|
|
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
|
-
projectdavid_common/schemas/tools_schema.py,sha256=RywLJk1a1-liPnqpf8s9IfTaMBG6uqj3YtV52H7U18g,1815
|
|
23
22
|
projectdavid_common/schemas/users_schema.py,sha256=777ul1Kg7yxqLZnEtd8rtIHXfZnUzldJx4qYS5brD14,3206
|
|
24
23
|
projectdavid_common/schemas/vector_search_envelope.py,sha256=uFctv-8lwfebzHk84_ZfDce7p3ub5h0uuZ4YXsXnZig,946
|
|
25
24
|
projectdavid_common/schemas/vectors_schema.py,sha256=KG4HSa6yVgBLe01iSdXKoU3UxRS21azbw9m-83qDQ6E,7615
|
|
26
25
|
projectdavid_common/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
27
26
|
projectdavid_common/utilities/identifier_service.py,sha256=7hL4_i7pGs6bibCSkXQIwpMSUCFASFE0VPm6gqMv4sk,2950
|
|
28
27
|
projectdavid_common/utilities/logging_service.py,sha256=ONKy3PRjIrxIrTJ_X3iv7v9HA0wyejyw4WrQYlJy7Oc,2614
|
|
29
|
-
projectdavid_common-0.21.
|
|
30
|
-
projectdavid_common-0.21.
|
|
31
|
-
projectdavid_common-0.21.
|
|
32
|
-
projectdavid_common-0.21.
|
|
33
|
-
projectdavid_common-0.21.
|
|
28
|
+
projectdavid_common-0.21.6.dist-info/METADATA,sha256=m4n1wDRDNIRP2T9P2JQI1fkbK9o3dmw6wrMbnqiymIg,1642
|
|
29
|
+
projectdavid_common-0.21.6.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
30
|
+
projectdavid_common-0.21.6.dist-info/entry_points.txt,sha256=Y8HAIUW0ifCKcAzAqR21wu1ATHNFWWWiUB33UYv095o,74
|
|
31
|
+
projectdavid_common-0.21.6.dist-info/top_level.txt,sha256=lJ-jkZ0n0jWktoMJFcw-DzLoMTY2juuw5fgMIqYu1UU,20
|
|
32
|
+
projectdavid_common-0.21.6.dist-info/RECORD,,
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
from typing import List, Optional
|
|
2
|
-
|
|
3
|
-
from pydantic import BaseModel, ConfigDict, Field, field_validator
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class ToolFunction(BaseModel):
|
|
7
|
-
function: Optional[dict] = Field(default=None, description="Tool function definition")
|
|
8
|
-
|
|
9
|
-
@field_validator("function", mode="before")
|
|
10
|
-
@classmethod
|
|
11
|
-
def parse_function(cls, v):
|
|
12
|
-
if isinstance(v, dict) and "name" in v and "description" in v:
|
|
13
|
-
return v
|
|
14
|
-
elif isinstance(v, dict) and "function" in v:
|
|
15
|
-
return v["function"]
|
|
16
|
-
raise ValueError("Invalid function format")
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
class Tool(BaseModel):
|
|
20
|
-
id: str
|
|
21
|
-
type: str
|
|
22
|
-
name: Optional[str] = Field(default=None)
|
|
23
|
-
function: Optional[ToolFunction] = Field(default=None)
|
|
24
|
-
|
|
25
|
-
model_config = ConfigDict(from_attributes=True)
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
class ToolCreate(BaseModel):
|
|
29
|
-
name: str
|
|
30
|
-
type: str
|
|
31
|
-
function: Optional[ToolFunction] = Field(default=None)
|
|
32
|
-
|
|
33
|
-
@field_validator("function", mode="before")
|
|
34
|
-
@classmethod
|
|
35
|
-
def parse_function(cls, v):
|
|
36
|
-
if isinstance(v, ToolFunction):
|
|
37
|
-
return v
|
|
38
|
-
if isinstance(v, dict) and "function" in v:
|
|
39
|
-
return ToolFunction(function=v["function"])
|
|
40
|
-
return ToolFunction(**v)
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
class ToolRead(Tool):
|
|
44
|
-
@field_validator("function", mode="before")
|
|
45
|
-
@classmethod
|
|
46
|
-
def parse_function(cls, v):
|
|
47
|
-
if isinstance(v, dict):
|
|
48
|
-
return ToolFunction(**v)
|
|
49
|
-
elif v is None:
|
|
50
|
-
return None
|
|
51
|
-
raise ValueError("Invalid function format")
|
|
52
|
-
|
|
53
|
-
model_config = ConfigDict(from_attributes=True)
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
class ToolUpdate(BaseModel):
|
|
57
|
-
type: Optional[str] = Field(default=None)
|
|
58
|
-
name: Optional[str] = Field(default=None)
|
|
59
|
-
function: Optional[ToolFunction] = Field(default=None)
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
class ToolList(BaseModel):
|
|
63
|
-
tools: List[ToolRead]
|
|
64
|
-
|
|
65
|
-
model_config = ConfigDict(from_attributes=True)
|
{projectdavid_common-0.21.4.dist-info → projectdavid_common-0.21.6.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|