from smolagents import CodeAgent,DuckDuckGoSearchTool, HfApiModel,load_tool,tool import yaml from deep_translator import GoogleTranslator from gtts import gTTS import os from tools.final_answer import FinalAnswerTool from Gradio_UI import GradioUI @tool def translate_and_speak(text: str, target_lang: str = "ru") -> str: """Переводит текст на выбранный язык и озвучивает его. Args: text: Входной текст. target_lang: Целевой язык (по умолчанию - русский). Returns: Путь к аудиофайлу для воспроизведения. """ try: translated_text = GoogleTranslator(source="auto", target=target_lang).translate(text) tts = gTTS(translated_text, lang=target_lang) filename = "/tmp/translated_speech.mp3" # Поддержка Hugging Face Spaces tts.save(filename) return filename # Возвращаем путь к файлу except Exception as e: return f"Ошибка: {str(e)}" final_answer = FinalAnswerTool() model = HfApiModel( max_tokens=2096, temperature=0.5, model_id='Qwen/Qwen2.5-Coder-32B-Instruct', custom_role_conversions=None, ) # Подключаем инструмент agent = CodeAgent( model=model, tools=[final_answer, translate_and_speak], # Добавляем наш инструмент max_steps=6, verbosity_level=1, grammar=None, planning_interval=None, name=None, description=None, prompt_templates=yaml.safe_load(open("prompts.yaml", 'r')) ) GradioUI(agent).launch()