mirror of
https://github.com/hwchase17/langchain.git
synced 2025-06-26 16:43:35 +00:00
core[patch]: dont deep copy merge_message_runs (#28454)
afaict no need to deep copy here, if we merge messages then we convert them to chunks first anyways
This commit is contained in:
parent
afa94e5bf7
commit
979a991dc2
@ -557,15 +557,14 @@ def merge_message_runs(
|
|||||||
messages = convert_to_messages(messages)
|
messages = convert_to_messages(messages)
|
||||||
merged: list[BaseMessage] = []
|
merged: list[BaseMessage] = []
|
||||||
for msg in messages:
|
for msg in messages:
|
||||||
curr = msg.model_copy(deep=True)
|
|
||||||
last = merged.pop() if merged else None
|
last = merged.pop() if merged else None
|
||||||
if not last:
|
if not last:
|
||||||
merged.append(curr)
|
merged.append(msg)
|
||||||
elif isinstance(curr, ToolMessage) or not isinstance(curr, last.__class__):
|
elif isinstance(msg, ToolMessage) or not isinstance(msg, last.__class__):
|
||||||
merged.extend([last, curr])
|
merged.extend([last, msg])
|
||||||
else:
|
else:
|
||||||
last_chunk = _msg_to_chunk(last)
|
last_chunk = _msg_to_chunk(last)
|
||||||
curr_chunk = _msg_to_chunk(curr)
|
curr_chunk = _msg_to_chunk(msg)
|
||||||
if curr_chunk.response_metadata:
|
if curr_chunk.response_metadata:
|
||||||
curr_chunk.response_metadata.clear()
|
curr_chunk.response_metadata.clear()
|
||||||
if (
|
if (
|
||||||
|
Loading…
Reference in New Issue
Block a user