Spaces:
Running
on
Zero
Running
on
Zero
import gradio as gr | |
from gradio_client import Client | |
import os | |
from dotenv import load_dotenv | |
import warnings | |
# κ²½κ³ λ©μμ§ μ¨κΈ°κΈ° | |
warnings.filterwarnings('ignore', category=UserWarning) | |
# νκ²½ λ³μ λ‘λ | |
load_dotenv() | |
HF_TOKEN = os.getenv("HF_TOKEN") | |
def generate_diagram(prompt, width=1024, height=1024): | |
"""FLUX AIλ₯Ό μ¬μ©νμ¬ λ€μ΄μ΄κ·Έλ¨ μμ±""" | |
try: | |
# API νΈμΆμ ν΅ν΄ μ΄λ―Έμ§ μμ± | |
result = gr.Image.update(value=None) # μ΄κΈ° μνλ λΉ μ΄λ―Έμ§ | |
# Hugging Face API νΈμΆ | |
client = Client( | |
"https://black-forest-labs-flux-1-schnell.hf.space", # API μλν¬μΈνΈ μ§μ μ§μ | |
hf_token=HF_TOKEN, | |
) | |
# μ΄λ―Έμ§ μμ± | |
result = client.predict( | |
prompt, | |
1872187377, # seed | |
False, # randomize_seed | |
width, | |
height, | |
4, # num_inference_steps | |
api_name="/infer" | |
) | |
return result | |
except Exception as e: | |
raise gr.Error(f"λ€μ΄μ΄κ·Έλ¨ μμ± μ€ μ€λ₯ λ°μ: {str(e)}") | |
# Convert example format for Gradio | |
GRADIO_EXAMPLES = [ | |
[ | |
"""A handrawn colorful mind map diagram, educational style, vibrant colors, clear hierarchy. | |
KNOWLEDGE | |
βββ ACQUISITION [Brain with Lightning ~60px] | |
β βββ READING [Open Book with Glow] | |
β βββ PRACTICE [Hands-on Tools] | |
βββ APPLICATION | |
βββ CREATION [Artist Palette] | |
βββ INNOVATION [Lightbulb]""", | |
1024, | |
1024 | |
], | |
[ | |
"""A handrawn colorful mind map diagram, tech-focused style, neon accents. | |
DIGITAL TRANSFORM | |
βββ CLOUD [Cloud with Data ~55px] | |
β βββ STORAGE [Database] | |
β βββ COMPUTING [Server] | |
βββ SECURITY | |
βββ ENCRYPTION [Lock] | |
βββ MONITORING [Radar]""", | |
1024, | |
1024 | |
], | |
[ | |
"""A handrawn colorful mind map diagram, creative style, flowing design. | |
INNOVATION | |
βββ IDEATION [Lightbulb ~60px] | |
β βββ RESEARCH [Magnifier] | |
β βββ BRAINSTORM [Brain] | |
βββ EXECUTION | |
βββ PROTOTYPE [Tools] | |
βββ TEST [Checklist]""", | |
1024, | |
1024 | |
] | |
] | |
# Enhanced examples with more detailed prompts and specific styling | |
EXAMPLES = [ | |
{ | |
"title": "Knowledge Tree", | |
"prompt": """A handrawn colorful mind map diagram, educational style, vibrant colors, clear hierarchy, golden ratio layout. | |
KNOWLEDGE | |
βββ ACQUISITION [Brain with Lightning ~60px] | |
β βββ READING [Open Book with Glow] | |
β βββ PRACTICE [Hands-on Tools] | |
β βββ OBSERVATION [Eye with Magnifier] | |
βββ PROCESSING [Gear Network ~50px] | |
β βββ ANALYSIS [Graph Trending Up] | |
β βββ SYNTHESIS [Puzzle Pieces] | |
βββ RETENTION [Memory Chip ~45px] | |
β βββ SHORT-TERM [Quick Flash] | |
β βββ LONG-TERM [Solid Archive] | |
βββ APPLICATION | |
βββ CREATION [Artist Palette] | |
βββ INNOVATION [Lightbulb Constellation]""", | |
"width": 1024, | |
"height": 1024 | |
}, | |
{ | |
"title": "Digital Transformation", | |
"prompt": """A handrawn colorful mind map diagram, tech-focused style, neon accents, circuit board patterns. | |
DIGITAL TRANSFORM | |
βββ CLOUD [Cloud with Data Rain ~55px] | |
β βββ STORAGE [Database Cluster] | |
β βββ COMPUTING [Server Array] | |
βββ AUTOMATION [Robot Arm ~50px] | |
β βββ WORKFLOWS [Flowchart] | |
β βββ AI/ML [Neural Network] | |
βββ SECURITY [Shield Matrix ~45px] | |
β βββ ENCRYPTION [Lock Code] | |
β βββ MONITORING [Radar Screen] | |
βββ INTEGRATION | |
βββ APIS [Puzzle Connect] | |
βββ MICROSERVICES [Building Blocks]""", | |
"width": 1024, | |
"height": 1024 | |
}, | |
{ | |
"title": "Creative Process", | |
"prompt": """A handrawn colorful mind map diagram, artistic style, watercolor effects, flowing connections. | |
CREATIVITY | |
βββ INSPIRATION [Constellation Stars ~60px] | |
β βββ NATURE [Organic Patterns] | |
β βββ CULTURE [Global Icons] | |
βββ IDEATION [Floating Bubbles ~50px] | |
β βββ BRAINSTORM [Thunder Cloud] | |
β βββ REFINEMENT [Diamond Polish] | |
βββ EXECUTION [Artist Tools ~45px] | |
β βββ TECHNIQUE [Skilled Hands] | |
β βββ MEDIUM [Palette Mix] | |
βββ PRESENTATION | |
βββ GALLERY [Frame Display] | |
βββ FEEDBACK [Echo Ripples]""", | |
"width": 1024, | |
"height": 1024 | |
}, | |
{ | |
"title": "Future Cities", | |
"prompt": """A handrawn colorful mind map diagram, futuristic style, holographic elements, sustainable themes. | |
SMART CITY | |
βββ MOBILITY [Hover Transport ~60px] | |
β βββ AUTONOMOUS [Self-Driving] | |
β βββ CONNECTED [Network Grid] | |
βββ ENERGY [Solar Crystal ~55px] | |
β βββ RENEWABLE [Green Power] | |
β βββ STORAGE [Battery Hub] | |
βββ LIVING [Eco Building ~50px] | |
β βββ VERTICAL [Sky Gardens] | |
β βββ COMMUNITY [People Connect] | |
βββ INFRASTRUCTURE | |
βββ AI GRID [Neural City] | |
βββ ECO SYSTEM [Nature Tech]""", | |
"width": 1024, | |
"height": 1024 | |
}, | |
{ | |
"title": "Health Evolution", | |
"prompt": """A handrawn colorful mind map diagram, medical style, DNA helix patterns, wellness focus. | |
HEALTH 3.0 | |
βββ PREVENTION [Shield DNA ~60px] | |
β βββ LIFESTYLE [Activity Pulse] | |
β βββ MONITORING [Health Watch] | |
βββ TREATMENT [Caduceus Tech ~55px] | |
β βββ PERSONALIZED [DNA Code] | |
β βββ REGENERATIVE [Cell Renew] | |
βββ ENHANCEMENT [Upgrade Spiral ~50px] | |
β βββ COGNITIVE [Brain Boost] | |
β βββ PHYSICAL [Body Optimize] | |
βββ INTEGRATION | |
βββ AI HEALTH [Smart Doctor] | |
βββ COMMUNITY [Global Care]""", | |
"width": 1024, | |
"height": 1024 | |
}, | |
{ | |
"title": "Space Exploration", | |
"prompt": """A handrawn colorful mind map diagram, cosmic style, star field background, planetary elements. | |
SPACE FRONTIER | |
βββ DISCOVERY [Telescope Array ~60px] | |
β βββ MAPPING [Star Charts] | |
β βββ ANALYSIS [Data Stream] | |
βββ TRAVEL [Rocket Launch ~55px] | |
β βββ PROPULSION [Energy Core] | |
β βββ NAVIGATION [Space Map] | |
βββ COLONIZATION [Dome City ~50px] | |
β βββ HABITATS [Life Sphere] | |
β βββ RESOURCES [Mine Extract] | |
βββ RESEARCH | |
βββ ASTROBIOLOGY [Life Search] | |
βββ PHYSICS [Space Time]""", | |
"width": 1024, | |
"height": 1024 | |
}, | |
{ | |
"title": "Ocean Innovation", | |
"prompt": """A handrawn colorful mind map diagram, marine style, wave patterns, aqua themes. | |
OCEAN TECH | |
βββ EXPLORATION [Deep Submersible ~60px] | |
β βββ MAPPING [Sonar Wave] | |
β βββ RESEARCH [Lab Bubble] | |
βββ CONSERVATION [Marine Life ~55px] | |
β βββ PROTECTION [Reef Shield] | |
β βββ RESTORATION [Growth Core] | |
βββ HARVESTING [Sustainable Net ~50px] | |
β βββ ENERGY [Wave Power] | |
β βββ RESOURCES [Bio Extract] | |
βββ MONITORING | |
βββ AI SYSTEMS [Smart Sensors] | |
βββ ECOLOGY [Life Web]""", | |
"width": 1024, | |
"height": 1024 | |
}, | |
{ | |
"title": "Quantum Computing", | |
"prompt": """A handrawn colorful mind map diagram, quantum style, wave-particle duality, matrix patterns. | |
QUANTUM TECH | |
βββ COMPUTATION [Qubit Matrix ~60px] | |
β βββ PROCESSING [Wave Function] | |
β βββ ALGORITHMS [Code Quantum] | |
βββ APPLICATIONS [Use Cases ~55px] | |
β βββ SIMULATION [Model World] | |
β βββ OPTIMIZATION [Peak Find] | |
βββ INFRASTRUCTURE [Q-Hardware ~50px] | |
β βββ CONTROL [Pulse Shape] | |
β βββ COOLING [Zero Point] | |
βββ DEVELOPMENT | |
βββ SOFTWARE [Q-Code Web] | |
βββ INTEGRATION [Classical Bridge]""", | |
"width": 1024, | |
"height": 1024 | |
}, | |
{ | |
"title": "Bio Engineering", | |
"prompt": """A handrawn colorful mind map diagram, biological style, DNA patterns, organic flow. | |
BIOTECH | |
βββ GENETICS [DNA Helix ~60px] | |
β βββ EDITING [CRISPR Tool] | |
β βββ SYNTHESIS [Gene Build] | |
βββ APPLICATIONS [Lab Array ~55px] | |
β βββ MEDICINE [Heal Cell] | |
β βββ AGRICULTURE [Grow Plus] | |
βββ PLATFORMS [Bio Factory ~50px] | |
β βββ SENSORS [Live Detect] | |
β βββ PROCESSORS [Cell Compute] | |
βββ INTEGRATION | |
βββ AI BIOLOGY [Smart Life] | |
βββ ECOSYSTEM [Nature Net]""", | |
"width": 1024, | |
"height": 1024 | |
}, | |
{ | |
"title": "AI Evolution", | |
"prompt": """A handrawn colorful mind map diagram, neural network style, digital patterns, intelligence flow. | |
AI FUTURE | |
βββ COGNITION [Brain Network ~60px] | |
β βββ LEARNING [Growth Path] | |
β βββ REASONING [Logic Tree] | |
βββ PERCEPTION [Sensor Array ~55px] | |
β βββ VISION [Eye Matrix] | |
β βββ LANGUAGE [Word Web] | |
βββ INTERACTION [Connect Hub ~50px] | |
β βββ HUMAN [Bridge Link] | |
β βββ MACHINE [Code Path] | |
βββ EVOLUTION | |
βββ CONSCIOUSNESS [Mind Spark] | |
βββ CREATIVITY [Art Core]""", | |
"width": 1024, | |
"height": 1024 | |
} | |
] | |
# Convert examples to Gradio format | |
GRADIO_EXAMPLES = [ | |
[example["prompt"], example["width"], example["height"]] | |
for example in EXAMPLES | |
] | |
demo = gr.Interface( | |
fn=generate_diagram, | |
inputs=[ | |
gr.Textbox( | |
label="λ€μ΄μ΄κ·Έλ¨ ν둬ννΈ", | |
placeholder="λ€μ΄μ΄κ·Έλ¨ ꡬ쑰λ₯Ό μ λ ₯νμΈμ...", | |
lines=10 | |
), | |
gr.Slider( | |
label="λλΉ", | |
minimum=512, | |
maximum=2048, | |
step=128, | |
value=1024 | |
), | |
gr.Slider( | |
label="λμ΄", | |
minimum=512, | |
maximum=2048, | |
step=128, | |
value=1024 | |
) | |
], | |
outputs=gr.Image(label="μμ±λ λ€μ΄μ΄κ·Έλ¨"), | |
title="π¨ FLUX λ€μ΄μ΄κ·Έλ¨ μμ±κΈ°", | |
description="FLUX AIλ₯Ό μ¬μ©νμ¬ μλ¦λ€μ΄ μκ·Έλ¦Ό μ€νμΌμ λ€μ΄μ΄κ·Έλ¨μ μμ±ν©λλ€", | |
article=""" | |
### λ λμ κ²°κ³Όλ₯Ό μν ν | |
- λͺ νν κ³μΈ΅ ꡬ쑰 μ¬μ© | |
- λκ΄νΈ μμ μμ΄μ½ μ€λͺ ν¬ν¨ | |
- κ°κ²°νκ³ μλ―Έ μλ ν μ€νΈ μ¬μ© | |
- μΌκ΄λ νμ μ μ§ | |
""", | |
examples=GRADIO_EXAMPLES, | |
cache_examples=True | |
) | |
# μ± μ€ν λΆλΆλ§ μμ | |
if __name__ == "__main__": | |
demo.queue() # ν κΈ°λ₯μ λ³λλ‘ νμ±ν | |
demo.launch( | |
server_name="0.0.0.0", | |
server_port=7860, | |
share=False, | |
show_error=True, | |
debug=True | |
) |