Skip to content

Commit 44db33a

Browse files
authored
feat: do not merge messages with same role (#846)
--------- Signed-off-by: Louis Mandel <[email protected]>
1 parent 2e660ef commit 44db33a

File tree

1 file changed

+3
-23
lines changed

1 file changed

+3
-23
lines changed

src/pdl/pdl_utils.py

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import fnmatch
22
import json
3-
from typing import Any, Generator, Generic, Mapping, Sequence, TypeVar
3+
from typing import Any, Generator, Generic, Sequence, TypeVar
44

55
from .pdl_ast import (
66
ContributeTarget,
@@ -106,42 +106,22 @@ def get_contribute_value(
106106
return None
107107

108108

109-
def messages_concat(
109+
def _messages_concat(
110110
messages1: list[dict[str, Any]], messages2: list[dict[str, Any]]
111111
) -> list[dict[str, Any]]:
112-
if len(messages1) == 0:
113-
return messages2
114-
if len(messages2) == 0:
115-
return messages1
116-
left = messages1[-1]
117-
right = messages2[0]
118-
if (
119-
left["role"] == right["role"] and simple_message(left) and simple_message(right)
120-
): # test that there are no other keys
121-
return (
122-
messages1[:-1]
123-
+ [{"role": left["role"], "content": left["content"] + right["content"]}]
124-
+ messages2[1:]
125-
)
126112
return messages1 + messages2
127113

128114

129115
def lazy_messages_concat(
130116
messages1: LazyMessages, messages2: LazyMessages
131117
) -> LazyMessages:
132-
return lazy_apply2(messages_concat, messages1, messages2)
118+
return lazy_apply2(_messages_concat, messages1, messages2)
133119

134120

135121
def messages_to_str(messages: LazyMessages) -> str:
136122
return "\n".join([str(msg) for msg in messages.result()])
137123

138124

139-
def simple_message(message: Mapping[str, Any]) -> bool:
140-
if message.keys() == {"role", "content"} and message["content"] is not None:
141-
return True
142-
return False
143-
144-
145125
def remove_none_values_from_message(message: dict) -> dict[str, Any]:
146126
ret = {}
147127
for key, value in message.items():

0 commit comments

Comments
 (0)