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()
주요 파라미터:
fn: 실행할 Python 함수inputs: 입력 컴포넌트 (text, image, audio, file 등)outputs: 출력 컴포넌트examples: 예시 입력값 리스트title,description: UI 제목 및 설명

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()
주요 파라미터:
fn: 채팅 함수 (message, history를 인자로 받음)type:"messages":[{"role": "user", "content": "..."}, ...]형식"tuples":[("user msg", "bot msg"), ...]형식
chatbot: 채팅 UI 커스터마이징textbox: 입력창 커스터마이징

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