AI Study/랭체인

streamlit sidebar 추가하기

플랜데버 2024. 5. 28. 09:37

 

pages 폴더 안에 파일을 넣어두면 자동으로 사이드바가 생긴다. 클릭하면 각 화면으로 이동 됨!

 
your-repository/
├── pages/
│   ├── topic.py
│   └── blog.py
└── main.py
 
 

 

 

지난번에 코드에 넣어두었던 API키 값을 입력받아서 추천하는 것으로 변경 했다~

 

import sys
import streamlit as st

from langchain_openai import OpenAI
from streamlit_option_menu import option_menu

# 콘솔 인코딩 설정을 UTF-8로 변경
sys.stdout.reconfigure(encoding='utf-8')


st.title('오늘 뭐 먹지?')
# API 키 입력 받기
api_key = st.text_input("API 키를 입력하세요", type='password')

content = st.text_input("언제 먹을 메뉴를 고르고 있나요?", "오늘 저녁")
st.write(content,"에 먹을 메뉴를 추천해 드리겠습니다. 추천 버튼을 클릭하세요" )


# OpenAI LLM 인스턴스 초기화
llm = None

# api_key가 비어있는지 확인
if api_key:
  # OpenAI LLM 인스턴스 생성
  llm = OpenAI(api_key=api_key)
  

if st.button("추천하기"):
    if llm is not None:
        with st.spinner('Wait for it...'):
            result = llm.invoke(content+" 뭐먹지? 메뉴 하나 추천해주고, 레시피도 알려줘")
            st.write(result)
    else:
        st.warning("API 키가 입력되지 않았습니다. API 키를 입력하고 다시 시도해주세요.")