Added ClientMessage -> OpenAIMessage object adapter
This commit is contained in:
parent
a5bfccb19a
commit
3b6fc28d4c
@ -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!"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user