Skip to content

Commit

Permalink
Implement DescribeImageUtililty utility
Browse files Browse the repository at this point in the history
  • Loading branch information
Flagro committed Nov 30, 2024
1 parent 972e5bd commit 49b9a71
Showing 1 changed file with 39 additions and 0 deletions.
39 changes: 39 additions & 0 deletions bot/rp_bot/ai_agent/ai_utils/describe_audio.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import io
from langchain_core.pydantic_v1 import BaseModel, Field
from langchain_core.output_parsers import JsonOutputParser

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


class AudioInformation(BaseModel):
# TODO: move this to prompt manager
audio_description: str = Field(description="a short description of the audio")


async def describe_audio(in_memory_image_stream: io.BytesIO) -> AudioInformation:
# Encode in base64:
parser = JsonOutputParser(pydantic_object=AudioInformation)

# TODO: implement moderation

return AudioInformation(
audio_description="an audio"
)


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

def run(self, in_memory_image_stream: io.BytesIO) -> AudioInformation:
return describe_audio(in_memory_image_stream)

0 comments on commit 49b9a71

Please sign in to comment.