123456789101112131415161718192021 |
- from dataclasses import dataclass
- from typing import Literal, Tuple
- from urllib.parse import urljoin
- import librosa
- import numpy as np
- from aphrodite.assets.base import get_vllm_public_assets, vLLM_S3_BUCKET_URL
- ASSET_DIR = "multimodal_asset"
- @dataclass(frozen=True)
- class AudioAsset:
- name: Literal["winning_call", "mary_had_lamb"]
- @property
- def audio_and_sample_rate(self) -> Tuple[np.ndarray, int]:
- audio_path = get_vllm_public_assets(filename=f"{self.name}.ogg",
- s3_prefix=ASSET_DIR)
- return librosa.load(audio_path, sr=None)
- @property
- def url(self) -> str:
- return urljoin(vLLM_S3_BUCKET_URL, f"{ASSET_DIR}/{self.name}.ogg")
|