jju71 님의 블로그

Gradio 본문

Python/FastAPI

Gradio

jju71 2026. 7. 27. 21:44
  • 머신러닝/딥러닝 모델을 간단히 웹 애플리케이션 형태로 배포할 수 있게 해주는 파이썬 라이브러리
  • 인터렉티브 웹 인터페이스를 통해 모델을 테스트하고 공유할 수 있음
pip install gradio

 

import gradio as gr
with gr.Blocks() as demo:
    gr.Markdown("# 안녕하세요 Gradio!")
    gr.Markdown("### 작은 제목을 입력하세요")
    gr.Markdown("- 첫번째 아이템\n- 두번쨰 아이템\n- 세번쨰 아이템")
    
demo.launch()

def handle_input(text):
    return text
    
with gr.Blocks() as demo:
    # text_input, output_text는 단지 박스 두개만 만들어 놓는 것뿐
    text_input = gr.Textbox(label="문자입력", lines=1)
    output_text = gr.Textbox(label="출력")
    text_input.submit(handle_input, inputs=text_input, outputs=output_text)
    # 엔터를 누르면 submit되고 handle_input 함수가 호출됨. 결과 return은 outputs에 나옴
    
demo.launch()

def handle_checkbox(selected):
    if selected:
        return "동의했습니다."
    return "동의하지 않았습니다."
    
with gr.Blocks() as demo:
    checkbox = gr.Checkbox(label="개인정보 사용에 동의하겠습니까?")
    output_checkbox = gr.Textbox(label="출력")
    checkbox.change(handle_checkbox, inputs=checkbox, outputs=output_checkbox)
    
demo.launch()

def handle_fruit(fruit):
    return f'선택한 과일: {fruit}'
    
with gr.Blocks() as demo:
    fruit_dropdown = gr.Dropdown(label="과일", choices=['사과', '오렌지', '바나나', '메론'])
    output_fruit = gr.Textbox(label="구입할 과일")
    fruit_dropdown.change(handle_fruit, inputs=fruit_dropdown, outputs=output_fruit)
    
demo.launch()

 

인터페이스

# 인터페이스 만들기
def add(num1, num2):
    return num1 + num2
    
interface = gr.Interface(
    fn=add,    # 인터페이스에 add 함수 실행
    inputs = ['number', 'number'],
    outputs = 'number',
    title='계산기',
    description = '숫자 두 개를 입력하세요',
    # flagging_mode = 'never'  # 테스트를 csv파일에 기록해주는 역할
)

interface.launch()

def favorite_language(language):
    message = {
        "Python" : "데이터 과학, 웹 개발, AI에 아주 적합한 언어",
        "JavaScript" : "웹 개발에 강력하며, 프론트엔드와 백엔드에서 모두 사용 가능",
        "Java" : "안정성과 성능으로 유명하며 대규모 시스템에 적합",
        "C++" : "고성능 애플리케이션과 게임 개발에 자주 사용"
    }
    return message.get(language, "선택된 언어에 대한 정보가 없음")
    
interface = gr.Interface(
    fn = favorite_language,
    inputs = gr.Radio([''Python', 'JavaScript', 'Java', 'C++'], label='좋아하는 언어'),
    outputs = 'text',
    title = '좋아하는 언어',
    description = '라디오 버튼에서 좋아하는 프로그램 언어를 선택하세요')
)

interface.launch()

'Python > FastAPI' 카테고리의 다른 글

AI 광고 문구 생성 앱  (0) 2026.07.29
번역 앱 예제  (0) 2026.07.28
GPT API  (0) 2026.07.27
Fast API  (0) 2026.07.27