Spaces:
Sleeping
Sleeping
File size: 566 Bytes
1061354 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
from abc import ABC, abstractmethod
from typing import AsyncIterator, Dict, Any
from src.models.requests import AdGenerationRequest
class BaseAdGenerator(ABC):
"""Abstract base class for ad generators"""
@abstractmethod
async def generate(self, request: AdGenerationRequest, **kwargs):
"""Generate advertisement"""
pass
@abstractmethod
async def generate_streaming(self, request: AdGenerationRequest, **kwargs) -> AsyncIterator[Dict[str, Any]]:
"""Generate advertisement with streaming response"""
pass |