diff --git a/libs/langchain/langchain/chat_models/azureml_endpoint.py b/libs/langchain/langchain/chat_models/azureml_endpoint.py index 2ab7d3ea4f7..bd56d782ad8 100644 --- a/libs/langchain/langchain/chat_models/azureml_endpoint.py +++ b/libs/langchain/langchain/chat_models/azureml_endpoint.py @@ -24,16 +24,36 @@ class LlamaContentFormatter(ContentFormatterBase): def _convert_message_to_dict(message: BaseMessage) -> Dict: """Converts message to a dict according to role""" if isinstance(message, HumanMessage): - return {"role": "user", "content": message.content} + return { + "role": "user", + "content": ContentFormatterBase.escape_special_characters( + message.content + ), + } elif isinstance(message, AIMessage): - return {"role": "assistant", "content": message.content} + return { + "role": "assistant", + "content": ContentFormatterBase.escape_special_characters( + message.content + ), + } elif isinstance(message, SystemMessage): - return {"role": "system", "content": message.content} + return { + "role": "system", + "content": ContentFormatterBase.escape_special_characters( + message.content + ), + } elif ( isinstance(message, ChatMessage) and message.role in LlamaContentFormatter.SUPPORTED_ROLES ): - return {"role": message.role, "content": message.content} + return { + "role": message.role, + "content": ContentFormatterBase.escape_special_characters( + message.content + ), + } else: supported = ",".join( [role for role in LlamaContentFormatter.SUPPORTED_ROLES]