File size: 2,149 Bytes
9b5b26a
 
 
 
c19d193
6aae614
9b5b26a
 
208f38c
 
 
 
 
 
 
 
 
 
 
 
 
 
c983075
9b5b26a
208f38c
 
4ebef93
208f38c
 
 
 
 
 
 
 
4ebef93
208f38c
8c01ffb
 
208f38c
ae7a494
 
208f38c
 
 
8c01ffb
d89370e
861422e
 
9b5b26a
208f38c
8c01ffb
208f38c
 
8c01ffb
 
 
 
 
 
208f38c
8fe992b
4ebef93
d89370e
8c01ffb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
from smolagents import CodeAgent,DuckDuckGoSearchTool, HfApiModel,load_tool,tool
import datetime
import requests
import pytz
import yaml
from tools.final_answer import FinalAnswerTool
from Gradio_UI import GradioUI

# Подключаем модели
text_model = HfApiModel(
    max_tokens=2096,
    temperature=0.5,
    model_id='Qwen/Qwen2.5-Coder-32B-Instruct',  # Модель для обработки текста
    custom_role_conversions=None,
)

image_model = HfApiModel(
    max_tokens=2096,
    temperature=0.5,
    model_id="black-forest-labs/FLUX.1-dev",  # Модель для генерации изображений
    custom_role_conversions=None,
)

@tool
def generate_image_from_text(prompt: str) -> str:
    """Инструмент для генерации изображения на основе текстового описания."""
    try:
        # Загружаем инструмент для генерации изображений с Hugging Face
        image_generation_tool = load_tool("multimodalart/flux.1-dev", trust_remote_code=True)

        # Генерация изображения
        generated_image = image_generation_tool(prompt=prompt)
        
        # Возвращаем путь или URL изображения
        return generated_image
    except Exception as e:
        return f"Error generating image: {str(e)}"


 


final_answer = FinalAnswerTool()

 

# Load prompt templates
with open("prompts.yaml", 'r') as stream:
    prompt_templates = yaml.safe_load(stream)
    
# Инициализируем агента, передавая обе модели
agent = CodeAgent(
    model=text_model,  # Здесь указываем модель для обработки текста
    tools=[FinalAnswerTool(), generate_image_from_text],  # Добавляем инструменты
    max_steps=6,
    verbosity_level=1,
    grammar=None,
    planning_interval=None,
    name=None,
    description=None,
    prompt_templates=None,  # Указывайте шаблоны при необходимости
)

# Launch the AI agent with Gradio
GradioUI(agent).launch()