add Custom provider
This commit is contained in:
@@ -3,6 +3,13 @@ from g4f.client import Client
|
||||
from .base_provider import BaseLLMProvider
|
||||
|
||||
class Gpt4FreeProvider(BaseLLMProvider):
|
||||
"""
|
||||
Провайдер для работы с моделью GPT через библиотеку gpt4free.
|
||||
|
||||
Этот класс реализует интерфейс BaseLLMProvider и предоставляет возможность
|
||||
взаимодействия с различными LLM через сервис gpt4free, который не требует
|
||||
API ключа для работы.
|
||||
"""
|
||||
# gpt4free не требует API ключа
|
||||
def __init__(self, api_key: str | None = None):
|
||||
super().__init__(api_key)
|
||||
@@ -10,6 +17,18 @@ class Gpt4FreeProvider(BaseLLMProvider):
|
||||
|
||||
|
||||
def generate(self, model: str, system_prompt: str, user_prompt: str, temp: float):
|
||||
"""
|
||||
Генерирует ответ от модели GPT с использованием gpt4free.
|
||||
|
||||
Args:
|
||||
model (str): Название модели для генерации ответа
|
||||
system_prompt (str): Системное сообщение для контекста
|
||||
user_prompt (str): Пользовательский запрос
|
||||
temp (float): Температура генерации ( controls randomness of responses)
|
||||
|
||||
Returns:
|
||||
tuple: Кортеж из двух одинаковых строк - сгенерированного ответа и его копии
|
||||
"""
|
||||
# temp в g4f может работать не для всех внутренних провайдеров
|
||||
try:
|
||||
response = self.client.chat.completions.create(
|
||||
|
||||
Reference in New Issue
Block a user