ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Gradio 실전 시리즈 2화 – Gradio 설치 및 첫 인터페이스 만들기
    기술과 산업/AI 2025. 5. 13. 16:06
    728x90

    Gradio를 활용해 AI 모델 인터페이스를 직접 만드는 첫 걸음. 본 글에서는 Gradio 설치 방법부터 Python 코드로 간단한 웹 앱을 만드는 전 과정을 상세하게 안내합니다.

    AI 모델은 데이터를 입력하고 결과를 출력하는 과정을 누구나 쉽게 체험할 수 있어야 합니다.
    오늘은 바로 그 시작, Gradio 환경 구축과 첫 번째 인터페이스 제작을 실습해보겠습니다.


    Gradio 설치 방법

    Gradio는 Python 기반이므로, Python 환경만 있다면 아주 간단하게 설치할 수 있습니다.

    1. Python 환경 준비

    권장 Python 버전: 3.8 이상

    Anaconda 또는 venv로 별도의 가상환경을 만드는 것을 추천합니다.

    python -m venv gradio_env
    source gradio_env/bin/activate   # Mac/Linux
    gradio_env\Scripts\activate      # Windows
    

    2. Gradio 라이브러리 설치

    pip 명령어로 한 줄이면 끝납니다.

    pip install gradio
    

    설치가 정상적으로 완료되었다면 다음 명령으로 버전을 확인할 수 있습니다.

    python -c "import gradio as gr; print(gr.__version__)"
    

     

    온라인 playground에서 바로 사용하기

    https://www.gradio.app/playground

     

    Gradio Playground

    Play Around with Gradio Demos

    www.gradio.app

     


    첫 번째 Gradio 인터페이스 만들기

    Gradio의 가장 강력한 매력은 단 몇 줄의 코드로 웹 인터페이스를 만들 수 있다는 점입니다.
    아래 예제를 따라 직접 실행해보세요.

    ✔️ 예제: 텍스트 입력 → 텍스트 출력

    import gradio as gr
    
    def greet(name):
        return f"안녕하세요, {name}님!"
    
    demo = gr.Interface(fn=greet, inputs="text", outputs="text")
    demo.launch()
    

    실행 후 콘솔에서 URL이 생성되며, 웹 브라우저에서 접속하면 다음과 같은 화면을 볼 수 있습니다:

    • 텍스트 입력창
    • "Submit" 버튼
    • 결과 출력창

    Gradio 인터페이스 작동 원리

    • fn=greet: 사용자가 입력한 데이터를 처리하는 핵심 함수
    • inputs="text": 사용자가 값을 입력할 UI 컴포넌트
    • outputs="text": 결과를 반환할 출력 컴포넌트
    • demo.launch(): 인터페이스를 로컬 서버로 실행

    💡 참고:
    실행 시 외부 IP로 공유 가능한 링크도 생성됩니다.
    이를 통해 다른 사람과 바로 테스트 결과를 공유할 수 있습니다.


    추가 실습: 이미지 입력 + 이미지 출력

    Gradio는 이미지, 오디오, 비디오 등 다양한 데이터를 아주 손쉽게 다룰 수 있습니다.
    이미지 예제도 다음처럼 간단합니다.

    import gradio as gr
    from PIL import ImageOps
    
    def invert(image):
        return ImageOps.invert(image)
    
    demo = gr.Interface(
        fn=invert,
        inputs=gr.Image(type="pil", label="이미지를 업로드하세요"),
        outputs=gr.Image(type="pil", label="반전된 이미지")
    )
    
    demo.launch()

    이미지를 업로드하면 색상이 반전된 이미지를 바로 반환합니다.
    이처럼 Gradio는 모델 실험UI 개발을 동시에 할 수 있는 강력한 도구입니다.


    Gradio 앱 종료 방법

    서버 실행 후 콘솔에서 Ctrl + C 를 누르면 인터페이스를 중지할 수 있습니다.


    실전 팁: Jupyter Notebook에서도 사용 가능

    Gradio는 Jupyter Notebook 환경에서도 매우 잘 작동합니다.
    코드를 작성하고 바로 인터페이스를 띄워서 테스트할 수 있어, 연구용 프로토타입 제작 시 최적입니다.

    import gradio as gr
    
    def echo(text):
        return text
    
    gr.Interface(fn=echo, inputs="text", outputs="text").launch(inline=True)
    

    inline=True를 추가하면 Notebook 셀 안에서 바로 웹 UI가 뜹니다.


    마무리

    오늘은 Gradio 설치와 첫 인터페이스를 직접 만들어보았습니다.
    아주 간단한 코드로 강력한 AI 인터페이스를 구축할 수 있음을 확인했습니다.

    다음 화부터는 Gradio의 Interface vs Blocks 구조 차이를 본격적으로 다루며, 실전 개발에서 어떤 방식을 선택해야 하는지 비교 분석하겠습니다.

    👉 Gradio 실전 시리즈 3화 – Interface vs Blocks: 무엇을 언제 쓸까?

    728x90
Designed by Tistory.