From 56048b909fbf28f95c4a3dae264d01ddd0897a75 Mon Sep 17 00:00:00 2001 From: Manikanta5112 <116510423+Manikanta5112@users.noreply.github.com> Date: Fri, 6 Oct 2023 03:02:29 +0200 Subject: [PATCH] added ContentFormatter escape special characters for message content (#10319) --------- Co-authored-by: Manikanta5112 <42089393+mani5112@users.noreply.github.com> --- .../langchain/chat_models/azureml_endpoint.py | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) 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]