Skip to content

Commit 3c19a7a

Browse files
committed
Use Google Gemini message format when adding message to the LLM context
1 parent f599e16 commit 3c19a7a

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2020
- Updated STT and TTS services with language options that match the supported
2121
languages for each service.
2222

23+
### Fixed
24+
25+
- Fixed Google Gemini message handling to properly convert appended messages to Gemini's required format
26+
2327
## [0.0.49] - 2024-11-17
2428

2529
### Added

src/pipecat/services/google.py

+16
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,22 @@ def set_messages(self, messages: List):
332332
self._messages[:] = messages
333333
self._restructure_from_openai_messages()
334334

335+
def add_messages(self, messages: List):
336+
# Convert each message individually
337+
converted_messages = []
338+
for msg in messages:
339+
if isinstance(msg, glm.Content):
340+
# Already in Gemini format
341+
converted_messages.append(msg)
342+
else:
343+
# Convert from standard format to Gemini format
344+
converted = self.from_standard_message(msg)
345+
if converted is not None:
346+
converted_messages.append(converted)
347+
348+
# Add the converted messages to our existing messages
349+
self._messages.extend(converted_messages)
350+
335351
def get_messages_for_logging(self):
336352
msgs = []
337353
for message in self.messages:

0 commit comments

Comments
 (0)