Spaces:
Running
Running
from smolagents import CodeAgent,Tool,HfApiModel,load_tool | |
from tools.final_answer import FinalAnswerTool | |
from Gradio_UI import GradioUI | |
from PIL import Image | |
import yaml,os | |
import gradio as gr | |
final_answer = FinalAnswerTool() | |
model = HfApiModel( | |
max_tokens=2096, | |
temperature=0.5, | |
model_id='https://pflgm2locj2t89co.us-east-1.aws.endpoints.huggingface.cloud', | |
) | |
comics_generation_tool = Tool.from_space( | |
#"jbilcke-hf/ai-comic-factory", | |
"black-forest-labs/FLUX.1-schnell", | |
name="ai_comics_generator", | |
description="Generate comics from a prompt" | |
) | |
with open("prompts.yaml", 'r') as stream: | |
prompt_templates = yaml.safe_load(stream) | |
agent = CodeAgent( | |
model=model, | |
tools=[final_answer, comics_generation_tool], | |
max_steps=6, | |
verbosity_level=1, | |
grammar=None, | |
planning_interval=None, | |
name=None, | |
description=None, | |
prompt_templates=prompt_templates | |
) | |
def final_answer(image_path): | |
return Image.open(image_path) | |
def generate_image(prompt): | |
result = agent.run(prompt) | |
if not result or not os.path.exists(result): | |
return "Failed to generate image." | |
return final_answer(result) | |
with gr.Blocks() as demo: | |
prompt_input = gr.Textbox(label="Describe your dream") | |
image_output = gr.Image(label="Generated Image", type="pil") | |
generate_button = gr.Button("Generate Image") | |
generate_button.click(generate_image, inputs=prompt_input, outputs=image_output) | |
demo.launch() |