김욱영
김욱영
Moderator
🌿 뉴비 파트너

스트림릿으로 웹 서비스를 만드는 5가지 방법

스트림릿(Streamlit)은 웹 서비스를 쉽게 구축할 수 있는 파이썬 라이브러리예요. 기존에는 개발을 조금만 알아도 웹 서비스를 만들 수 있는 서비스였다면, 이제는 챗GPT, 클로드 등 언어모델과 함께 웹 서비스를 더 쉽게 만들어볼 수 있어요.

이 게시글에서는 AI의 도움을 받아서 웹서비스를 만드는 방법을 상세히 알아보고, 다른 사람들은 어떻게 스트림릿을 이용하는지 공유해드릴게요. 이 게시글을 다 읽으시면 나만의 웹 서비스를 만들 수 있게 될거예요.

스트림릿 회원가입하고 세팅하기

템플릿에서 배포하는 방법

이번 게시글에서는 스트림릿에 회원가입부터 세팅까지 기초도 담아보았어요. 스트림릿에 회원가입하고 Create app을 클릭해서 앱을 생성해주세요. Github과 연동을 진행하는 것도 필요해요.

이미 앱이 있나요?

아직 App을 구축하지 않았기 때문에 우측의 ‘Nope, create one from a template’을 클릭해주세요.

템플릿에서 새 앱을 만드는 방법

그런 다음 Blank app (1번 버튼)을 클릭하고 2번 버튼을 눌러서 저희가 코드를 브라우저에서 수정할 수 있도록 해주세요. 그런다음 Deploy를 눌러 서비스를 배포하면 됩니다.

그러면, 개발을 하는 페이지가 나오는데요. 저희는 streamlit_app.py를 수정하는 것이 중심이에요. 여기까지 오셨으면 기본적인 세팅이 모두 마무리 되었습니다!

이제 챗GPT나 클로드 AI에게 질문을 하면 스트림릿으로 웹 서비스를 만드는 방법을 알려줍니다. 작성하는 코드와 터미널에 붙여넣어야 하는 코드, 이렇게 두개를 알려주는데요.

한국어가 화면에 강조 표시됩니다

코드를 붙여넣어야 하는 곳은 1번으로 표시되어 있는 ‘streamlit_app.py’이고, 작동하는지 확인하기 위해서는 ▶️ 버튼을 클릭하세요. 터미널에 붙여넣는 코드는 2번에 입력 후 엔터를 누르시면 됩니다. (참고로 Claude가 streamlit_app.py가 아닌 app.pt로 코드를 알려주면 오류가 나타날 수 있어요.)

이제, 다른 사람들은 어떻게 스트림릿으로 자신만의 서비스를 만들었는지 배워봐요.

1. 스트림릿으로 생활비 정산 프로그램 만들기

한국어 문자 메시지가 포함된 채팅 앱 스크린샷

매번 같은 형식으로 정리하는 것이 있나요? 다혜님께서는 생활비를 매번 같은 형식으로 가족들과 공유하고 있었어요. 그래서 생활비를 매번 특정 톡방에 올려 정산하는 것을 챗GPT와 스트림릿의 도움으로 구현하고자 했습니다.

정산하는 형식을 보면, 카카오톡에 #정산이라는 메세지와 함께 매번 같은 형식으로 진행되고 있었는데요. 이를 잘 분류하기 위해 챗GPT의 도움을 받아 이를 구분하는 코드를 쉽게 작성할 수 있었습니다.

챗GPT가 완벽한 코드만을 알려주지는 않아요. 에러가 많이 나타나서 안될 때는 챗GPT에게 코드를 다시 질문하는 식으로 진행했다고 해요. 챗GPT가 스트림릿의 코드를 명확하게 나타내지 못하는 경우에는 챗GPT에게 다시 코드를 요청해보세요.

최종적으로, 다혜님은 카카오톡에서 얻은 데이터를 기반으로 각자의 정산 금액을 찾는 것을 자동화할 수 있었어요. 매번 같은 형식으로 정리하는 것이 있나요? 이 사례처럼 AI와 스트림릿으로 프로그램을 만들어보는 건 어떨까요?

👉 생활비 정산 프로그램 만드는 방법 자세히 보기

2. 스트림릿으로 제목 추출 프로그램 만들기

URL만 있어서 글의 제목을 알기 어려울 때가 많습니다. 이때도 스트림릿과 챗GPT로 제목을 추출하는 프로그램을 만들 수 있어요.

한국어로 된 Python 프로그램의 스크린샷

첫 시작은 항상 챗GPT 혹은 클로드의 도움을 받아서 코드를 작성해요. 링크를 주면 제목을 추출해주는 프로그램을 만들어달라고 챗GPT에게 부탁해보세요.

참고로 스트림릿은 python으로 돌아가는 프로그램이라는 것을 잊지마세요.

한국사이트 스크린샷

챗GPT의 도움으로 URL이 들어있는 CSV를 입력하면 제목을 추출하는 프로그램을 만들 수 있게 되었어요. 반복적으로 해야하거나 일일히 손으로 해야하는 업무를 스트림릿을 이용해 프로그램으로 만들어보세요.

👉 URL로 제목 추출하는 방법 자세히 보러가기

3. 스트림릿으로 험한말 번역기 만들기

이번 사례는 스트림릿에 RAG를 결합한 사례예요. RAG(검색 증강 생성)는 AI가 답변할 때 자료를 검색하여 가지고 와서 더 좋은 결과를 얻어내는 것을 의미해요.

김이언님께서는 험한 말을 다루는 책을 출판하셨는데요. 이를 기반으로 글을 험한말을 설명해주는 프로그램을 만들었어요. 단어를 입력하면 자료에서 검색해서 근거를 기반으로 이유를 알려줘요. 자료를 검색하는 것이 RAG를 사용했다고 생각하시면 좋습니다.

이언님의 사례에서 굉장히 독특했던 지점은 특수문자와 같은 불필요한 정보를 정리하는 것에 많은 시간을 쏟았다는 지점인데요. PDF에서 원하는 정보를 더 잘 얻어내기 위해서는 필수적이었다고 해요. 김이언님의 사례를 기반으로 RAG 서비스를 만들고 싶다면 아래 링크를 참고하세요.

👉 랭체인과 스트림릿으로 RAG를 구현한 사례

4. 스트림릿으로 데이터 크롤링하기

바호님께서는 연구를 하기 전에 수많은 자료를 보고 쌓는 것을 먼저 진행한다고 합니다. 그런데 이 과정이 여간 고통스러운 것이 아니라고 해요. 그래서 챗GPT의 도움을 받아서 자료를 쌓아가는 것을 자동화한 사례를 공유해주셨습니다.

다른 사례와 달랐던 지점은 데이터를 호출하는 형식을 명확히 나타냈다는 지점입니다. 어떻게 호출해야하는지를 알려주니 보다 원활하게 진행할 수 있었다고 해요.

이렇게 희망하는 방식으로 데이터를 가지고 올 수 있었습니다. 만약 외부에서 데이터를 가지고 오고자 할 때는 바호님의 사례처럼 데이터를 호출하는 형식을 명확히 해보세요. 보다 원활하게 데이터를 가지고 올 수 있을 거예요.

👉 데이터 가지고 오는 것을 프로그램으로 만든 사례 보러가기

5. 법원 경매 매물을 자동으로 가지고 오는 프로그램 만들기

하먹이님께서 법원 경매 매물을 자동으로 가지고 오는 사례를 공유해주셨어요. HTML을 제공하여, 데이터를 가지고 오는 것이 어떠한 형태인지를 미리 AI에게 알려준 점이 독특했어요.

데이터를 웹에서 자동으로 가지고 오는 — 크롤링하는 사례에서는 HTML 파일을 제공해보면 어떨까요?

HTML을 기반으로 웹사이트 형식을 잘 파악해서, 법원 경매 프로그램을 만들 수 있었다고 해요. 매번 웹사이트에서 찾아보기 어려운 일이 있을 때는 이런 방식을 이용해보세요.

👉 HTML을 제공해서 크롤링을 쉽게한 사례 보러가기

이제 AI와 스트림릿과 함께 웹 서비스를 만드는 5가지 사례를 알게 되셨어요. 자신의 업무를 자동화하거나, 귀찮은 일을 프로그램화 할 수 있게 되셨습니다.

만약 다른 사람들의 사례를 보면서, 스트림릿으로 웹 서비스를 만들고 싶다면 지피터스 AI 스터디에 참여해보세요. 다른 사람의 사례를 보고 정말 많이 배우게 됩니다.

🚀 AI와 함께 스트림릿 웹 서비스 만드는 AI 스터디

6

👉 이 게시글도 읽어보세요