Handle cases where text is either a list or a string

This commit is contained in:
Mark Backman
2024-10-07 07:21:32 -04:00
parent 8001bab9b0
commit 5dbf26d283

View File

@@ -439,8 +439,16 @@ class RTVIUserLLMTextProcessor(RTVIFrameProcessor):
if len(messages) > 0:
message = messages[-1]
if message["role"] == "user":
message = RTVIUserLLMTextMessage(data=RTVITextMessageData(text=message["content"]))
await self._push_transport_message_urgent(message)
content = message["content"]
if isinstance(content, list):
print("LIST")
text = " ".join(item["text"] for item in content if "text" in item)
else:
print("STRING")
text = content
rtvi_message = RTVIUserLLMTextMessage(data=RTVITextMessageData(text=text))
await self._push_transport_message_urgent(rtvi_message)
class RTVIBotLLMProcessor(RTVIFrameProcessor):