|
@@ -616,30 +616,34 @@ class OAIAPICompatLargeLanguageModel(_CommonOAI_API_Compat, LargeLanguageModel):
|
|
|
message = cast(AssistantPromptMessage, message)
|
|
|
message_dict = {"role": "assistant", "content": message.content}
|
|
|
if message.tool_calls:
|
|
|
- # message_dict["tool_calls"] = [helper.dump_model(PromptMessageFunction(function=tool_call)) for tool_call
|
|
|
- # in
|
|
|
- # message.tool_calls]
|
|
|
-
|
|
|
- function_call = message.tool_calls[0]
|
|
|
- message_dict["function_call"] = {
|
|
|
- "name": function_call.function.name,
|
|
|
- "arguments": function_call.function.arguments,
|
|
|
- }
|
|
|
+ function_calling_type = credentials.get('function_calling_type', 'no_call')
|
|
|
+ if function_calling_type == 'tool_call':
|
|
|
+ message_dict["tool_calls"] = [tool_call.dict() for tool_call in
|
|
|
+ message.tool_calls]
|
|
|
+ elif function_calling_type == 'function_call':
|
|
|
+ function_call = message.tool_calls[0]
|
|
|
+ message_dict["function_call"] = {
|
|
|
+ "name": function_call.function.name,
|
|
|
+ "arguments": function_call.function.arguments,
|
|
|
+ }
|
|
|
elif isinstance(message, SystemPromptMessage):
|
|
|
message = cast(SystemPromptMessage, message)
|
|
|
message_dict = {"role": "system", "content": message.content}
|
|
|
elif isinstance(message, ToolPromptMessage):
|
|
|
message = cast(ToolPromptMessage, message)
|
|
|
- # message_dict = {
|
|
|
- # "role": "tool",
|
|
|
- # "content": message.content,
|
|
|
- # "tool_call_id": message.tool_call_id
|
|
|
- # }
|
|
|
- message_dict = {
|
|
|
- "role": "tool" if credentials and credentials.get('function_calling_type', 'no_call') == 'tool_call' else "function",
|
|
|
- "content": message.content,
|
|
|
- "name": message.tool_call_id
|
|
|
- }
|
|
|
+ function_calling_type = credentials.get('function_calling_type', 'no_call')
|
|
|
+ if function_calling_type == 'tool_call':
|
|
|
+ message_dict = {
|
|
|
+ "role": "tool",
|
|
|
+ "content": message.content,
|
|
|
+ "tool_call_id": message.tool_call_id
|
|
|
+ }
|
|
|
+ elif function_calling_type == 'function_call':
|
|
|
+ message_dict = {
|
|
|
+ "role": "function",
|
|
|
+ "content": message.content,
|
|
|
+ "name": message.tool_call_id
|
|
|
+ }
|
|
|
else:
|
|
|
raise ValueError(f"Got unknown type {message}")
|
|
|
|