안녕하세요!
제가 구현하려는 주제인 투자에 도움이 되는 챗봇을 만들기 위해서, 지난주에는 랭체인 쿡북을 따라해 보았고 (구현이 제대로 안되는 것들이 종종 있네요..버전 등? 쿡북 따라하기 코랩코드)
이번주에 는 랭체인과는 직접적으로 연관은 없을 수도 있지만, 구글 코랩이 서버처럼 동작하는 챗봇을 만들기 위해 (향후에 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 모델을 접목해서 랭체인도 결합한 프로토타입이 구성될 수 있도록 최대한 노력해보겠습니다!
감사합니다~