Gradio 란

간단한 Python 코드로 머신러닝 모델의 인터페이스(UI)를 구축할 수 있게 해주는 오픈소스 라이브러리다. 현재 인공지능 모델의 성능을 시연하거나 프로토타입을 제작하는데 있어 유용하다.

Gradio는 다양한 인터페이스를 제공하며, 용도에 따라 선택하여 사용할 수 있다.

gradio.Interface(···)

가장 기본적인 인터페이스로, 입력과 출력을 간단하게 연결한다.

import gradio as gr

def image_classifier(inp):
    return {'cat': 0.3, 'dog': 0.7}

demo = gr.Interface(fn=image_classifier,
                    inputs="image", 
                    outputs="label",
                    title="Judge dog or cat"
                    )
demo.launch()

주요 파라미터:

interface.png

input 타입이 image 이기 때문에 이미지 업로드를 받을 수 있고, 이에 대해 처리할 수 있다.

gradio.ChatInterface(fn, type=”messages”, ···)

채팅 형식의 인터페이스로, 대화형 AI 앱에 최적화되어 있다.

import gradio as gr

def chat(message, history):
    # history: 이전 대화 내역 리스트
    # message: 현재 사용자 메시지
    return f"You said: {message}"

gr.ChatInterface(
    fn=chat,
    type="messages",              # 메시지 타입 ("messages" 또는 "tuples")
    title="My Chatbot",
    description="Chat with AI",
    examples=["Hello", "How are you?"],
).launch()

주요 파라미터:

chatinterface.png

Interface vs ChatInterface 비교

특징 gr.Interface gr.ChatInterface
용도 일반 함수 실행 대화형 AI
히스토리 없음 자동 관리
UI 단순 입출력 채팅 버블
적합한 경우 이미지 분류, 텍스트 변환 챗봇, Q&A