Skip to content

Commit a5b2fb9

Browse files
authored
Fix GenAIComps handle_message to include full chat history (#1908)
* Fix GenAIComps handle_message to include full chat history Signed-off-by: WenjiaoYue <wenjiao.yue@intel.com> * Updated expected output in test_handle_message_with_content_list. Signed-off-by: WenjiaoYue <wenjiao.yue@intel.com> --------- Signed-off-by: WenjiaoYue <wenjiao.yue@intel.com>
1 parent 22adf92 commit a5b2fb9

2 files changed

Lines changed: 7 additions & 7 deletions

File tree

comps/cores/mega/utils.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ def handle_message(messages):
118118
if isinstance(messages, str):
119119
prompt = messages
120120
else:
121-
messages_dict = {}
121+
messages_list = []
122122
system_prompt = ""
123123
prompt = ""
124124
for message in messages:
@@ -134,19 +134,19 @@ def handle_message(messages):
134134
item["image_url"]["url"] for item in message["content"] if item["type"] == "image_url"
135135
]
136136
if image_list:
137-
messages_dict[msg_role] = (text, image_list)
137+
messages_list.append((msg_role, (text, image_list)))
138138
else:
139-
messages_dict[msg_role] = text
139+
messages_list.append((msg_role, text))
140140
else:
141-
messages_dict[msg_role] = message["content"]
141+
messages_list.append((msg_role, message["content"]))
142142
elif msg_role == "assistant":
143-
messages_dict[msg_role] = message["content"]
143+
messages_list.append((msg_role, message["content"]))
144144
else:
145145
raise ValueError(f"Unknown role: {msg_role}")
146146

147147
if system_prompt:
148148
prompt = system_prompt + "\n"
149-
for role, message in messages_dict.items():
149+
for role, message in messages_list:
150150
if isinstance(message, tuple):
151151
text, image_list = message
152152
if text:

tests/cores/mega/test_handle_message.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ def test_handle_message_with_content_list(self):
115115
{"role": "user", "content": ""},
116116
]
117117
prompt = handle_message(messages)
118-
self.assertEqual(prompt, "user:assistant: opea project! \n")
118+
self.assertEqual(prompt, "user: hello, \nassistant: opea project! \nuser:")
119119

120120
def test_handle_string_message(self):
121121
messages = "hello, "

0 commit comments

Comments
 (0)