mirror of
https://github.com/msoedov/agentic_security.git
synced 2026-07-17 16:37:19 +02:00
feat(multi modaility):
This commit is contained in:
@@ -1,9 +1,17 @@
|
||||
import base64
|
||||
from enum import Enum
|
||||
|
||||
import httpx
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class Modality(Enum):
|
||||
TEXT = 0
|
||||
IMAGE = 1
|
||||
AUDIO = 2
|
||||
FILES = 3
|
||||
|
||||
|
||||
def encode_image_base64_by_url(url: str = "https://github.com/fluidicon.png") -> str:
|
||||
"""Encode image data to base64 from a URL"""
|
||||
response = httpx.get(url)
|
||||
@@ -110,6 +118,14 @@ class LLMSpec(BaseModel):
|
||||
|
||||
fn = probe
|
||||
|
||||
@property
|
||||
def modality(self) -> Modality:
|
||||
if self.has_image:
|
||||
return Modality.IMAGE
|
||||
if self.has_audio:
|
||||
return Modality.AUDIO
|
||||
return Modality.TEXT
|
||||
|
||||
|
||||
def parse_http_spec(http_spec: str) -> LLMSpec:
|
||||
"""Parses an HTTP specification string into a LLMSpec object.
|
||||
|
||||
Reference in New Issue
Block a user