RAG 을 활용하여 LLM 만들어보기

streamlit cloud 를 활용하여 서비스 배포하기

몽자비루 2025. 8. 20. 01:55

이번엔 지금까지 만든 ai 를 실제 cloud 로 배포하는 작업을 진행해볼 예정이다.

 

먼저 streamlit cloud 에 배포할 때, github 를 사용하기 때문에 미리 github 에 push 해두었다

1. Streamlit cloud 에서 create app 하기.

아래와 같은 순서로 create app 을 진행했다. 여기서 좀 헤맸던 부분 중 하나는 requirements.txt 가 자동으로 생성되는데

이걸 사용하니까 자꾸 " ❗️ installer returned a non-zero exit code" 에러가 발생해서 몇번 수정했다.

 

최종적으로 사용한 requirements 는 아래와 같으니 참고하면 된다.

더보기
# langchain 관련
langchain==0.3.27
langchain-community==0.3.27
langchain-core==0.3.72
langchain-openai==0.3.28
langchain-pinecone==0.2.11
langchain-upstage==0.7.1

# 벡터DB
pinecone==7.3.0

# 기본 유틸
streamlit==1.48.0
python-dotenv==1.1.1
requests==2.32.4
pandas==2.3.1
numpy==2.3.2

# LLM 관련
openai==1.98.0
tiktoken==0.9.0

# 나머지 필요한 최소 패키지
SQLAlchemy==2.0.42
tenacity==9.1.2
pydeck==0.9.1

 

 create app 실행 순서는 아래와 같다.

  • github 에서 패키지 설치하도록 환경 구성 requirements.txt 추가 후 push

  • create app 클릭

  • Authorize streamlit 선택

  • Deploy a public app from GitHub 선택

  • Repository, Branch, Main file path, App URL 입력

  • Advanced settings 에 환경변수 입력.
    다만 값에서 반드시 큰따옴표로 묶어줘야 한다.

 

2. 최종 결과

최종 결과는 아래와 같다. private 로 만들면 원하는 사용자만 접근할 수 있도록 설정할 수 있다.

지금까지 LangChain을 활용하여 RAG 구성 및 Streamlit 을 활용하여 LLM chatbot을 구현해 보았는데,

이러한 경험을 토대로 아마 회사에서도 사용할 수 있는 챗봇을 만들어 볼 예정이다.