| @@ -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}") | |||