Skip to content

Commit 7ceaeaf

Browse files
authored
vertex: handle function role removal (#1296)
1 parent b48c90b commit 7ceaeaf

File tree

1 file changed

+4
-3
lines changed
  • integrations/google_vertex/src/haystack_integrations/components/generators/google_vertex/chat

1 file changed

+4
-3
lines changed

integrations/google_vertex/src/haystack_integrations/components/generators/google_vertex/chat/gemini.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ def _message_to_part(self, message: ChatMessage) -> Part:
215215
return p
216216
elif message.is_from(ChatRole.SYSTEM) or message.is_from(ChatRole.ASSISTANT):
217217
return Part.from_text(message.text)
218-
elif message.is_from(ChatRole.FUNCTION):
218+
elif "FUNCTION" in ChatRole._member_names_ and message.is_from(ChatRole.FUNCTION):
219219
return Part.from_function_response(name=message.name, response=message.text)
220220
elif message.is_from(ChatRole.USER):
221221
return self._convert_part(message.text)
@@ -227,14 +227,15 @@ def _message_to_content(self, message: ChatMessage) -> Content:
227227
part.function_call.args[k] = v
228228
elif message.is_from(ChatRole.SYSTEM) or message.is_from(ChatRole.ASSISTANT):
229229
part = Part.from_text(message.text)
230-
elif message.is_from(ChatRole.FUNCTION):
230+
elif "FUNCTION" in ChatRole._member_names_ and message.is_from(ChatRole.FUNCTION):
231231
part = Part.from_function_response(name=message.name, response=message.text)
232232
elif message.is_from(ChatRole.USER):
233233
part = self._convert_part(message.text)
234234
else:
235235
msg = f"Unsupported message role {message.role}"
236236
raise ValueError(msg)
237-
role = "user" if message.is_from(ChatRole.USER) or message.is_from(ChatRole.FUNCTION) else "model"
237+
238+
role = "model" if message.is_from(ChatRole.ASSISTANT) or message.is_from(ChatRole.SYSTEM) else "user"
238239
return Content(parts=[part], role=role)
239240

240241
@component.output_types(replies=List[ChatMessage])

0 commit comments

Comments
 (0)