brunch

You can make anything
by writing

C.S.Lewis

by 최재철 Jul 01. 2024

(new) Python UI 프레임워크- Mesop

Google 의 Mesop

Mesop 은 구글이 만든 Python 기반 UI 프레임워크로써, 특히 데모와 내부 도구의 웹 애플리케이션을 빠르게 개발할 수 있게 해준다고 합니다. 기존제품으로 Streamlit 이나, Gradio 같은 UI 프레임워크랑 비슷합니다. 


이 새로운 무료 도구가 개발자에게 얼마나 도움이 되는지 살펴보겠습니다. 


메솝(Mesop)이란 무엇입니까?


Mesop은 기본적으로 이미 시장에 나왔던 타 Python UI 프레임워크에서 많은 아이디어를 리믹스한 것으로 보입니다. 프론트엔드개발에 항상 어려움을 겪는 AI 개발자라면 Streamlit 이나, Gradio처럼 Mesop 도 하나의 선택사항이 될 수 있겠습니다. 


공식사이트 : https://github.com/google/mesop?s=09

버전 0.9.3 (2024.07.01 시점) 이라서 아직 불안한것처럼 보이지만, 쓸만해 보입니다. Mesop의 특징은 다음과 같습니다.


기본 웹 앱을 매우 빠르게 빌드할 수 있습니다

앱을 구축할 수 있도록 미리 만들어진 부분이 함께 제공됩니다.

이미 가지고 있는 Python 코드와 잘 작동합니다.

간단하거나 복잡한 앱을 만들 수 있습니다. (참고 - Angular를 기반으로 제작)


바로 테스트해보기

Mesop으로 기본 UI를 구축하는 데 바로 테스트를 해 보겠습니다.

시작하기 전에 mesop 를 설치해야 합니다.


설치방법

pip install mesop

소스

import mesop as me
import mesop.labs as mel

@me.page(path="/chat")
def chat():
  mel.chat(transform)

def transform(prompt: str, history: list[mel.ChatMessage]) -> str:
  return "Hello " + prompt

me.colab_show(path="/chat")

코드를 설명하면,

텍스트 입력란에 메시지를 입력하고 "보내기" 버튼을 클릭하면 입력한 메시지가 echo 되어서 화면에 표시됩니다.


실행결과

실행 결과


실행해 본 첫 느낌은, Rest API 를 다루었던 개발자들에게 어색하지 않고 친숙하다는 느낌을 받았습니다. 

그런데,  우선 문제점이 Colab 에서 구동된다는 점입니다. 

그리고 다음으로, me.colab_show 매번 해 주어야 하는 점이 불편했습니다. 

장점은 챗봇 UI 를 단 줄만에 만들 수 있는 점이 있습니다. 미리 만들어진 부분이 있기에 개발자들이 좀 쉽게 앱을 구성할 수 있겠다라는 생각이 들었습니다. 앞으로 미리 구성된 부분이 많다면, 적극적으로 사용해볼만한라는 생각이 듭니다.



마치며...

mesop은 아직 개발 중이며, 특히 개발문서가 부족합니다. 또한, Google 클라우드에 직접 배포하지 않는 한 Mesop 애플리케이션을 배포하는 것은 간단하지 않으며 컨테이너화가 필요합니다.

비교대상인 Streamlit이 현재로써는 더 장점이 있고, 특히 데이터 시각화 영역에서 무언가를 구축하고자 하는 경우 Mesop에 비해 기본적으로 강력해 보입니다. 또한, 배포에 있어서도 Streamlit Cloud가 있어서 애플리케이션을 쉽게 배포할 수 있습니다.

 

그러나 Mesopo는 성장 가능성이 있으며, Streamlit에 비해서 가벼운 덕분에 간단한 프로토타입에 더 적합해 보입니다. 


마지막으로,  ChatGPT 도움받아서 정리한 Mesop vs Gradio vs Streamlit  기능 비교표입니다.  

간단 기능 비교표



작가의 이전글 생성형 AI에 너무 의존하면 인간은 바보가 될까?
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari