from langchain_core.tools import BaseTool, tool from base_service import BaseService from openvpn.openvpn_prompts import SYSTEM_PROMPT from typing import List import logging import time logger = logging.getLogger(__name__) class OpenVPNService(BaseService): @property def system_prompt(self) -> str: return SYSTEM_PROMPT @property def tools(self) -> List[BaseTool]: return self._base_tools + [ self.script_part, self.install_program, self.delete_and_install_program ] @tool def script_part(question: str) -> None: """Запускаем большой скрипт для проверки возможных проблем с приложением и их устранением""" print("ran_graph(question)") time.sleep(4) logger.info("script part") @tool def install_program(question: str) -> None: """Запускаем скрипты, которые ставят программу openvpn""" print("### Скриптом устанавливаем программу") time.sleep(3) logger.info("installing program") @tool def delete_and_install_program(question: str) -> None: """Запускаем скрипты, которые удаляют и ставят программу openvpn""" print("### Скриптом удаляем и ставим программу") time.sleep(3) logger.info("deleting and installing program")