본문 바로가기

Gen AI/LLM - [Project] ChatGPT로 Application 만들기

[생성형AI Project #1] 4. 웹서비스 구축을 위한 라이브러리(Frontend) : Streamlit

#1 Streamlit이란?

    • streamlit : python 코드 몇줄로 빠르게 웹사이트 구축 가능
    • 텍스트 노출, 사용자의 인풋 받기 작업 가능

기본적인 ui 컴포넌트 및 위젯들 사용 가능

 

 

- API reference 참고 : 텍스트 노출, 그래프 노출, 사용자들로부터 정보 받기 등

 

#2 구현 코드

 

1) 가상환경 세팅 streamlit 설치 및 app.py 새파일 만들기

 

터미널에서 streamlit 설치

 

2) 테스트 코드 작성

 

위 코드 작성 후 아래 처럼 app.py를 실행하면 웹페이지가 뜬다

3) 제목, 본문 글귀 작성해보기

 

 

 

 

#3 멀티라인

- 마크다운 형식으로 쌍따옴표 세 개 만으로 글자 인식

 

 

 

#4 User로부터 값을 받는 방법

 

 

input box는 생겼지만, input을 작성해도 아무런 반응이 없음

 

 

#5 체크박스

 

 

  • 체크박스가 나타난다.
  • if 문이 처음에는 false일텐데, 사용자가 체크를 누르면 True 되어 아래가 실행

 

#6 단일 Select 박스

 

 

 

#7 멀티 Select 

 

 

  • 선택 결과를 리스트로 출력해준다.
  • 이처럼 write 인자의 자료형에 따라 알아서 출력 형태가 변형된다.

 

  • 위와 같이 조금 다르게 출력도 가능한데, ', '와 option값들 사이를 이어준다.
  • 즉, '' 안에있는 string을 활용해서 options 안에 있는 모든 element들을 연결하라

 

#8 Metric 함수

 

 

 

  • label : 위에 뜨는 문자
  • 양수이면 초록색/ 상승, 음수이면 빨간색/하강/-

 

#9 첨언

- 위의 사항들 뿐만아니라 streamlit에는 여러가지 위젯들이 있음

- API 레퍼런스에서 계속 찾아가며 하면된다.