18 lines
720 B
Python
18 lines
720 B
Python
from abc import ABC, abstractmethod
|
||
|
||
class BaseLLMProvider(ABC):
|
||
"""
|
||
Абстрактный базовый класс для всех провайдеров LLM.
|
||
Каждый провайдер должен реализовать метод generate.
|
||
"""
|
||
def __init__(self, api_key: str | None = None):
|
||
self.api_key = api_key
|
||
|
||
@abstractmethod
|
||
def generate(self, model: str, system_prompt: str, user_prompt: str, temp: float):
|
||
"""
|
||
Основной метод для генерации текста.
|
||
|
||
Должен возвращать кортеж из двух строк: (чистый_текст, markdown_текст)
|
||
"""
|
||
pass |