| message = cast(AssistantPromptMessage, message) | message = cast(AssistantPromptMessage, message) | ||||
| message_dict = {"role": "assistant", "content": message.content} | message_dict = {"role": "assistant", "content": message.content} | ||||
| if message.tool_calls: | 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): | elif isinstance(message, SystemPromptMessage): | ||||
| message = cast(SystemPromptMessage, message) | message = cast(SystemPromptMessage, message) | ||||
| message_dict = {"role": "system", "content": message.content} | message_dict = {"role": "system", "content": message.content} | ||||
| elif isinstance(message, ToolPromptMessage): | elif isinstance(message, ToolPromptMessage): | ||||
| message = cast(ToolPromptMessage, message) | 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: | else: | ||||
| raise ValueError(f"Got unknown type {message}") | raise ValueError(f"Got unknown type {message}") | ||||