Skip to content

Commit

Permalink
Add BaseUtility class
Browse files Browse the repository at this point in the history
  • Loading branch information
Flagro committed Dec 1, 2024
1 parent 84103ee commit 87c8818
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 26 deletions.
25 changes: 25 additions & 0 deletions bot/rp_bot/ai_agent/ai_utils/base_utility.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
from abc import ABC, abstractmethod

from ....models.handlers_input import Person, Context, Message
from ..models_toolkit import ModelsToolkit


class BaseUtility(ABC):
name: str
description: str

def __init__(
self,
person: Person,
context: Context,
message: Message,
models_toolkit: ModelsToolkit,
):
self.person = person
self.context = context
self.message = message
self.models_toolkit = models_toolkit

@abstractmethod
async def run(self, *args, **kwargs):
pass
15 changes: 2 additions & 13 deletions bot/rp_bot/ai_agent/ai_utils/describe_audio.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
from langchain_core.pydantic_v1 import BaseModel, Field
from langchain_core.output_parsers import JsonOutputParser

from .base_utility import BaseUtility
from ..models_toolkit import ModelsToolkit
from ....models.handlers_input import Person, Context, Message

Expand All @@ -25,18 +26,6 @@ async def describe_audio(in_memory_image_stream: io.BytesIO) -> AudioInformation
)


class DescribeAudioUtililty:
def __init__(
self,
person: Person,
context: Context,
message: Message,
models_toolkit: ModelsToolkit,
):
self.person = person
self.context = context
self.message = message
self.models_toolkit = models_toolkit

class DescribeAudioUtililty(BaseUtility):
def run(self, in_memory_image_stream: io.BytesIO) -> AudioInformation:
return describe_audio(in_memory_image_stream)
15 changes: 2 additions & 13 deletions bot/rp_bot/ai_agent/ai_utils/describe_image.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
from langchain_core.pydantic_v1 import BaseModel, Field
from langchain_core.output_parsers import JsonOutputParser

from .base_utility import BaseUtility
from ..models_toolkit import ModelsToolkit
from ....models.handlers_input import Person, Context, Message

Expand Down Expand Up @@ -40,18 +41,6 @@ async def describe_image(in_memory_image_stream: io.BytesIO) -> ImageInformation
)


class DescribeImageUtililty:
def __init__(
self,
person: Person,
context: Context,
message: Message,
models_toolkit: ModelsToolkit,
):
self.person = person
self.context = context
self.message = message
self.models_toolkit = models_toolkit

class DescribeImageUtililty(BaseUtility):
def run(self, in_memory_image_stream: io.BytesIO) -> ImageInformation:
return describe_image(in_memory_image_stream)

0 comments on commit 87c8818

Please sign in to comment.