from abc import abstractmethod
from typing import Protocol


class VacancyEmbeddingVectorGenerator(Protocol):
    @abstractmethod
    async def generate(
        self,
        position: str,
        description: str,
        key_skills: list[str],
    ) -> list[float]:
        raise NotImplementedError
