30
30
31
31
from ._utils import assert_valid_name , func_call_to_oai
32
32
33
+ EMPTY : Dict [str , Any ] = {}
34
+
33
35
34
36
# ===Mini Transformers===
35
- def _assert_valid_name (message : LLMMessage , context : Dict [str , Any ]):
37
+ def _assert_valid_name (message : LLMMessage , context : Dict [str , Any ]) -> Dict [str , Any ]:
38
+ assert isinstance (message , (UserMessage , AssistantMessage ))
36
39
assert_valid_name (message .source )
37
- result : Dict [str , Any ] = {}
38
- return result
40
+ return EMPTY
39
41
40
42
41
- def _set_role (role : str ):
43
+ def _set_role (role : str ) -> Callable [[ LLMMessage , Dict [ str , Any ]], Dict [ str , Any ]] :
42
44
def inner (message : LLMMessage , context : Dict [str , Any ]) -> Dict [str , Any ]:
43
45
return {"role" : role }
44
46
45
47
return inner
46
48
47
49
48
50
def _set_name (message : LLMMessage , context : Dict [str , Any ]) -> Dict [str , Any ]:
51
+ assert isinstance (message , (UserMessage , AssistantMessage ))
49
52
assert_valid_name (message .source )
50
53
return {"name" : message .source }
51
54
@@ -54,13 +57,16 @@ def _set_content_direct(message: LLMMessage, context: Dict[str, Any]) -> Dict[st
54
57
return {"content" : message .content }
55
58
56
59
57
- def _set_prepend_text_content (message : UserMessage , context : Dict [str , Any ]) -> Dict [str , Any ]:
60
+ def _set_prepend_text_content (message : LLMMessage , context : Dict [str , Any ]) -> Dict [str , Any ]:
61
+ assert isinstance (message , (UserMessage , AssistantMessage ))
62
+ assert isinstance (message .content , str )
58
63
prepend = context .get ("prepend_name" , False )
59
64
prefix = f"{ message .source } said:\n " if prepend else ""
60
65
return {"content" : prefix + message .content }
61
66
62
67
63
- def _set_multimodal_content (message : UserMessage , context : Dict [str , Any ]) -> Dict [str , Any ]:
68
+ def _set_multimodal_content (message : LLMMessage , context : Dict [str , Any ]) -> Dict [str , Any ]:
69
+ assert isinstance (message , (UserMessage , AssistantMessage ))
64
70
prepend = context .get ("prepend_name" , False )
65
71
parts : List [ChatCompletionContentPartParam ] = []
66
72
@@ -79,13 +85,16 @@ def _set_multimodal_content(message: UserMessage, context: Dict[str, Any]) -> Di
79
85
return {"content" : parts }
80
86
81
87
82
- def _set_tool_calls (message : AssistantMessage , context : Dict [str , Any ]) -> Dict [str , Any ]:
88
+ def _set_tool_calls (message : LLMMessage , context : Dict [str , Any ]) -> Dict [str , Any ]:
89
+ assert isinstance (message .content , list )
90
+ assert isinstance (message , AssistantMessage )
83
91
return {
84
92
"tool_calls" : [func_call_to_oai (x ) for x in message .content ],
85
93
}
86
94
87
95
88
- def _set_thought_as_content (message : AssistantMessage , context : Dict [str , Any ]) -> Dict [str , Any ]:
96
+ def _set_thought_as_content (message : LLMMessage , context : Dict [str , Any ]) -> Dict [str , Any ]:
97
+ assert isinstance (message , AssistantMessage )
89
98
return {"content" : message .thought }
90
99
91
100
@@ -187,6 +196,7 @@ def user_condition(message: LLMMessage, context: Dict[str, Any]) -> str:
187
196
188
197
189
198
def assistant_condition (message : LLMMessage , context : Dict [str , Any ]) -> str :
199
+ assert isinstance (message , AssistantMessage )
190
200
if isinstance (message .content , list ):
191
201
if message .thought is not None :
192
202
return "thought"
@@ -208,13 +218,19 @@ def assistant_condition(message: LLMMessage, context: Dict[str, Any]) -> str:
208
218
}
209
219
210
220
211
- def function_execution_result_message (message : LLMMessage , context : Dict [str , Any ]) -> List [Dict [str , Any ]]:
221
+ def function_execution_result_message (
222
+ message : LLMMessage , context : Dict [str , Any ]
223
+ ) -> list [ChatCompletionToolMessageParam ]:
224
+ assert isinstance (message , FunctionExecutionResultMessage )
212
225
return [
213
226
ChatCompletionToolMessageParam (content = x .content , role = "tool" , tool_call_id = x .call_id ) for x in message .content
214
227
]
215
228
216
229
217
- def function_execution_result_message_gemini (message : LLMMessage , context : Dict [str , Any ]) -> List [Dict [str , Any ]]:
230
+ def function_execution_result_message_gemini (
231
+ message : LLMMessage , context : Dict [str , Any ]
232
+ ) -> list [ChatCompletionToolMessageParam ]:
233
+ assert isinstance (message , FunctionExecutionResultMessage )
218
234
return [
219
235
ChatCompletionToolMessageParam (content = x .content if x .content else " " , role = "tool" , tool_call_id = x .call_id )
220
236
for x in message .content
@@ -282,4 +298,4 @@ def function_execution_result_message_gemini(message: LLMMessage, context: Dict[
282
298
for model in __unknown_models :
283
299
register_transformer ("openai" , model , __BASE_TRANSFORMER_MAP )
284
300
285
- register_transformer ("openai" , "default" , __BASE_TRANSFORMER_MAP )
301
+ # register_transformer("openai", "default", __BASE_TRANSFORMER_MAP)
0 commit comments