Skip to content

mistral_common.protocol.instruct.converters

convert_openai_messages(messages)

Convert OpenAI messages to Mistral messages.

Parameters:

Name Type Description Default
messages List[Dict[str, Union[str, List[Dict[str, Union[str, Dict[str, Any]]]]]]]

The OpenAI messages to convert.

required

Returns:

Type Description
List[ChatMessage]

The Mistral messages.

Source code in src/mistral_common/protocol/instruct/converters.py
def convert_openai_messages(
    messages: List[Dict[str, Union[str, List[Dict[str, Union[str, Dict[str, Any]]]]]]],
) -> List[ChatMessage]:
    r"""Convert OpenAI messages to Mistral messages.

    Args:
        messages: The OpenAI messages to convert.

    Returns:
        The Mistral messages.
    """
    converted_messages: List[ChatMessage] = []
    for openai_message in messages:
        message_role = openai_message.get("role")
        message: ChatMessage
        if message_role == "user":
            message = UserMessage.from_openai(openai_message)
        elif message_role == "assistant":
            message = AssistantMessage.from_openai(openai_message)
        elif message_role == "tool":
            message = ToolMessage.from_openai(openai_message)
        elif message_role == "system":
            message = SystemMessage.from_openai(openai_message)
        else:
            raise ValueError(f"Unknown message role: {message_role}")
        converted_messages.append(message)
    return converted_messages

convert_openai_tools(tools)

Convert OpenAI tools to Mistral tools.

Parameters:

Name Type Description Default
tools List[Dict[str, Any]]

The OpenAI tools to convert.

required

Returns:

Type Description
List[Tool]

The Mistral tools.

Source code in src/mistral_common/protocol/instruct/converters.py
def convert_openai_tools(
    tools: List[Dict[str, Any]],
) -> List[Tool]:
    r"""Convert OpenAI tools to Mistral tools.

    Args:
        tools: The OpenAI tools to convert.

    Returns:
        The Mistral tools.
    """
    converted_tools = [Tool.from_openai(openai_tool) for openai_tool in tools]
    return converted_tools