Added ClientMessage -> OpenAIMessage object adapter
This commit is contained in:
parent
a5bfccb19a
commit
c024d85db5
@ -2,6 +2,7 @@ from itertools import zip_longest
|
|||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
from enum import Enum
|
from enum import Enum
|
||||||
from openai import OpenAI
|
from openai import OpenAI
|
||||||
|
from ..messenger_clients.messenger_client import ClientMessage
|
||||||
|
|
||||||
|
|
||||||
class ILLMContent(ABC):
|
class ILLMContent(ABC):
|
||||||
@ -154,6 +155,27 @@ class OpenAIResponseAdapter(IMessageAdapter):
|
|||||||
return message
|
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__":
|
if __name__ == "__main__":
|
||||||
dev_message_text = "You are a butler named Reginald. Give your answers in a refined manners of the English butler."
|
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!"
|
user_message_text = "Hi! Tell me about yourself!"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user