Added ClientMessage -> OpenAIMessage object adapter

This commit is contained in:
T-BENZIN 2025-08-24 19:59:07 +05:00
parent a5bfccb19a
commit c024d85db5

View File

@ -2,6 +2,7 @@ from itertools import zip_longest
from abc import ABC, abstractmethod
from enum import Enum
from openai import OpenAI
from ..messenger_clients.messenger_client import ClientMessage
class ILLMContent(ABC):
@ -154,6 +155,27 @@ class OpenAIResponseAdapter(IMessageAdapter):
return message
class MessengerMessageAdapter(IMessageAdapter):
def __init__(self, message: ClientMessage): # Dependency Inversion violation, figure out later
self.message = message
def to_message(self) -> ILLMMessage:
content = OpenAIContent()
content_builder = OpenAIContentBuilder(content)
message = OpenAIMessage()
message_builder = OpenAIMessageBuilder(message)
message_builder.set_role("user")\
.set_content(content)
if self.message:
content_builder.add_input_text(self.message.content)
for i_image_url in self.message.image_urls:
content_builder.add_input_image(i_image_url)
return message
if __name__ == "__main__":
dev_message_text = "You are a butler named Reginald. Give your answers in a refined manners of the English butler."
user_message_text = "Hi! Tell me about yourself!"