본문 바로가기
AI/자연어처리

Anaconda 아나콘다 & streamlit(1)

by 바다의 공간 2025. 1. 22.

anaconda를 관리자권한으로 실행후 

conda env list

conda env list

를 입력하면 

아나콘다의 환경이 보이게됩니다.

저는 base밖에없고 또 작업할 환경은 NLPEnv입니다.

conda activate NLPEnv

를해주면 내가 들어가 있는곳으로 위치가 맞춰지게 됩니다.

 

그다음 Langchain과 strealit을 설치하면 됩니다.

conda install langchain streamlit

설치할거냐고 물어보면 y 치면됩니다.

그러면 모두 설치된것을 확인할 수 있습니다.

 


✔️ 폴더 만들기

이후에 사용할 폴더를 넣어줍니다.

ChatBot 생성


✔️ VSCode실행

 

ctrl + p를 해서 선택하고

인터프리터를 선택하는데 python에서는 Native와 conda와 함꼐 사용하지않는것을 추천합니다.

나중에 깨질수있기때문에 나중에 정말 뒤죽박죽이 되어버리기때문에 관리 잘 해야합니다.

 

저는 NLPEnv로 선택을 했습니다.

 

너무 오랜만인 터미널도 나오죠 

터미널은 ctrl+` 입니다.

처음에는 파워쉘로 나오고 버전확인을 해보겠습니다.

 

main.py를 하면 잘 출력되는것을 확인할 수 있겠죠?

 


✔️ Streamlit 사용

import streamlit as st

# streamlit 실행
# > streamlit run ***.py 하면
# 해당 페이지(웹)이 실행됨됨
st.title("Hello Streamlit!")

을 str_intro.py라는파일에 적어두고

 

파워쉘에서는

PS C:\NLP2407\ChatBot> streamit run st1_intro.py

를 하면 streamlit이라는 웹페이지가 뜹니다.

 

근데 저는 따로 뜨지않아서 터미널쪽에서

streamlit run c:/NLP2407/ChatBot/st1_intro.py

로 해야 뜨는거같습니다.


실시간 적용

상단 always rerun을 누르면 실시간으로 적용되는것을 확인할 수 있습니다.

st.title("Hello Streamlit!")
st.subheader("Welcome to Streamlit") #서브헤브
st.markdown("""
            ### Happy New Year!
            #             """) #마크다운 직접 입력 가능


import streamlit as st

st.write("Hello streamlit")
st.write([1, 2, 3, 4])
st.write({"x": 100, "y": 3.14})

from langchain.prompts import PromptTemplate
st.write(PromptTemplate)

p = PromptTemplate.from_template("xxxxx")
st.write(p)

# 걍 아래처럼 값을 표시해도, 웹 화면에 그려준다! --> magic!
# write() 없이도 표현 가능하나 (비추함.)
p 

10 + 200

[10, 20, 30, 40]

# streamlit 의 공식 api-reference
# https://docs.streamlit.io/develop/api-reference
# ↑ 함 보자. 많은 widget 들이 제공된다.

st.selectbox("Choose yoru model", ("GPT-3", "GPT-4"))

녹음 2025-01-02 235141.mp4
8.21MB

 

 

 

터미널에서는 ctrl+c하면 나올 수 있따.


# Streamlit 에선 'data 가 변경'될때 마다 python 파일 '전체'가 다시 실행된다. (py 파일 위에서부터 아래까지 전부 다시 실행)
# 가령 사용자가 무언가를 입력하거나 slider 를 드래그 해서 data 가 변경될때마다 ..

import streamlit as st
from datetime import datetime

today = datetime.today().strftime("%H:%M:%S")

st.title(today)

model = st.selectbox("Choose your model", ("GPT-3", "GPT-4"))
st.write(model)

# ★ 웹개발자들에겐 미리 말하지만, 
# 이건 React.js 나 flutter 의 동작과는 다릅니다 <- 이들은 화면의 일부분을 업데이트 하는 동작이다.
# streamlit 은 전체 페이지가 refresh 된다.

# -------------------------------------
# 입력

name = st.text_input("What is your name")
st.write(name)

# 여기서 'refresh' 된다는 것은 브라우저 좌상단의 reload 의 의미는 아니다.
# refresh 는 py 파일 전체가 위에서부터 아래까지 다시 실행된다는 뜻이다.


# slider
value = st.slider(label="temperature", min_value=0.1, max_value=1.)

# 특정값에 따라 보여지거나, 보여지지 않거나 지정 가능

if model == "GPT-3":
    st.write("cheap")
else:
    st.write("expensive")

if model == "GPT-3":
    st.write("값싼 모델")
else:
    st.write("비싼 모델")
    country = st.text_input("What is your country?")
    st.write(country)

 

를 해서 

 

도 구현해볼 수 있습니다.


안됐던부분은 제가 powershell에서 제대로 설정을 하지 않아서였어요.


사전에 하라는 기본 가상환경 설치를 하지않았다.

 

 

이렇게 하고 나니 

잘 환경변수가 잘 설정되어있는것을 확인할 수 있습니다.

'AI > 자연어처리' 카테고리의 다른 글

Hello Langchain (39)  (0) 2025.01.13
GPT 를 이용한 영화 리뷰 분류 (38)  (0) 2025.01.10
GPT (37)  (0) 2025.01.09
한국어 BERT 를 이용한 네이버 영화 리뷰 분류 (36)  (0) 2025.01.08
BERT 의 MLM, NSP (35)  (0) 2025.01.07