File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -99,14 +99,18 @@ def _get_type(v: Any) -> str:
9999
100100
101101def get_buffer_string (
102- messages : Sequence [BaseMessage ], human_prefix : str = "Human" , ai_prefix : str = "AI"
102+ messages : Sequence [BaseMessage ],
103+ human_prefix : str = "Human" ,
104+ ai_prefix : str = "AI" ,
105+ message_separator : str = "\n " ,
103106) -> str :
104107 r"""Convert a sequence of messages to strings and concatenate them into one string.
105108
106109 Args:
107110 messages: Messages to be converted to strings.
108111 human_prefix: The prefix to prepend to contents of `HumanMessage`s.
109112 ai_prefix: The prefix to prepend to contents of `AIMessage`.
113+ message_separator: The separator to use between messages.
110114
111115 Returns:
112116 A single string concatenation of all input messages.
@@ -157,7 +161,7 @@ def get_buffer_string(
157161 message += f"{ m .additional_kwargs ['function_call' ]} "
158162 string_messages .append (message )
159163
160- return " \n " .join (string_messages )
164+ return message_separator .join (string_messages )
161165
162166
163167def _message_from_dict (message : dict ) -> BaseMessage :
Original file line number Diff line number Diff line change @@ -370,6 +370,14 @@ def test_multiple_msg(self) -> None:
370370
371371 assert get_buffer_string (msgs ) == expected_output
372372
373+ def test_custom_message_separator (self ) -> None :
374+ msgs = [
375+ self ._HUMAN_MSG ,
376+ self ._AI_MSG ,
377+ ]
378+ expected_output = "Human: human\n \n AI: ai"
379+ assert get_buffer_string (msgs , message_separator = "\n \n " ) == expected_output
380+
373381
374382def test_multiple_msg () -> None :
375383 human_msg = HumanMessage (content = "human" , additional_kwargs = {"key" : "value" })
You can’t perform that action at this time.
0 commit comments