안녕하세요!
제가 구현하려는 주제인 투자에 도움이 되는 챗봇을 만들기 위해서, 지난주에는 랭체인 쿡북을 따라해 보았고 (구현이 제대로 안되는 것들이 종종 있네요..버전 등? 쿡북 따라하기 코랩코드)
이번주에는 랭체인과는 직접적으로 연관은 없을 수도 있지만, 구글 코랩이 서버처럼 동작하는 챗봇을 만들기 위해 (향후에 openai 의 ChatGPT 가 아닌 프리트레인드 LLM 모델 사용 예정) ngrok 으로 stramlit 을 사용하는 방법에 대해서 살펴보겠습니다.
먼저 구현 코드는 아래 링크 참고하세요 (출처: 공부하는 개발자 핑구)
코랩에서 ngrok으로 streamlit 연동 구현코드
목적(배경): streamlit 을 이용하면,
손쉽게 챗봇 서비스를 openai API 를 연동해서 만들수 있지만,
코랩에서 테스트 등을 하면서, streamlit 을 연동하기는 어려움
(이유: 코랩은 공인아이피 제공도 안하고,
설령 접속 아이피를 안다고 해도 세션 재접속시 매번 바뀜)
이에, 코랩을 로컬머신 및 접속서버 처럼 사용하기 위해
ngrok 을 사용하여 streamlit 을 연동
간략하게 소개하면, (ngrok 소개: Heisenbug)
코랩에 ngrok, streamlit 패키지 설치
코랩 내부에서 수행될 서버 프로그램 제작 (%%writefile app.py)
코랩에서 streamlit 실행 ( !streamlit run app.py &>/dev/null & )
ngrok으로 외부에서 로컬 서버(코랩) 접속 환경 구성 (publ_url = ngrok.connect(addr='8501'))
<NgrokTunnel: "https://8309-35-231-139-180.ngrok-free.app" -> "http://localhost:8501">
streamlit 및 ngrok 중지 (코랩에서 더이상 과금 방지)
다음주에는 가능하면, 어느정도 프리트레인드된 LLM 모델을 접목해서 랭체인도 결합한 프로토타입이 구성될 수 있도록 최대한 노력해보겠습니다!
감사합니다~